{"version":3,"sources":["node_modules/@bugsnag/browser/dist/bugsnag.js","node_modules/@bugsnag/js/browser/notifier.js","node_modules/@angular/animations/fesm2022/browser.mjs","node_modules/@angular/platform-browser/fesm2022/animations.mjs","src/main.ts","node_modules/@bugsnag/plugin-angular/dist/esm2015/index.js","node_modules/@ng-idle/core/fesm2020/ng-idle-core.mjs","node_modules/@ngrx/store-devtools/fesm2022/ngrx-store-devtools.mjs","node_modules/@ngx-translate/http-loader/fesm2022/ngx-translate-http-loader.mjs","node_modules/ng-recaptcha-2/fesm2022/ng-recaptcha-2.mjs","src/app/modules/shared/components/unit-prices-view/selectors.ts","node_modules/ng-apexcharts/fesm2022/ng-apexcharts.mjs","src/app/modules/shared/components/unit-prices-view/unit-prices-view.component.ts","src/app/modules/shared/components/unit-prices-view/unit-prices-view.component.html","src/app/views/unit-prices/unit-prices.component.ts","src/app/views/unit-prices/unit-prices.component.html","src/app/views/transactions/transactions.component.ts","src/app/views/transactions/transactions.component.html","src/app/modules/verv/layout/not-loggedin/not-loggedin.master.ts","src/app/modules/verv/layout/not-loggedin/not-loggedin.master.html","src/app/modules/verv/layout/main/effects.ts","node_modules/ng-circle-progress/fesm2020/ng-circle-progress.mjs","node_modules/@angular/material/fesm2022/toolbar.mjs","node_modules/@angular/material/fesm2022/badge.mjs","node_modules/@angular/material/fesm2022/card.mjs","node_modules/@angular/material/fesm2022/chips.mjs","src/app/app.material.module.ts","src/app/services/base.services.ts","src/app/services/access-your-super.service.ts","src/app/modules/shared/components/access-your-super-bank-details/effects.ts","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-ceased-paid-employment/effects.ts","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-ceased-work-sixty/effects.ts","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-compassionate-grounds/effects.ts","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-kiwi-saver/effects.ts","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-pension-commutations/effects.ts","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-permanent-retirement-preservation/effects.ts","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-retirement/effects.ts","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-severe-financial-hardship/effects.ts","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-terminal-medical-condition/effects.ts","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-unrestricted-non-preserved/effects.ts","src/app/modules/shared/components/access-your-super-documents/effects.ts","src/app/modules/shared/components/access-your-super-form/effects.ts","src/app/modules/shared/components/access-your-super-last-employer/effects.ts","src/app/modules/shared/components/access-your-super-review/effects.ts","src/app/modules/shared/components/access-your-super-start/effects.ts","src/app/modules/shared/components/access-your-super-type-selection/effects.ts","src/app/modules/shared/components/access-your-super-update-submitted/effects.ts","src/app/services/accounts.service.ts","src/app/modules/shared/components/account-fees/effects.ts","src/app/modules/shared/components/account-summary/effects.ts","src/app/services/underlying-investment.service.ts","src/app/modules/shared/components/account-underlying-investment-summary-view/effects.ts","src/app/modules/shared/components/account-underlying-view/effects.ts","src/app/services/beneficiary.service.ts","src/app/modules/shared/components/beneficiaries-edit/effects.ts","src/app/modules/shared/components/beneficiaries-view/effects.ts","src/app/services/bpay-details.service.ts","src/app/modules/shared/components/bpay-details/effects.ts","src/app/services/transaction.service.ts","src/app/modules/shared/components/cash-transactions/effects.ts","src/app/services/chat.service.ts","src/app/modules/shared/components/chat/effects.ts","src/app/services/rollin.service.ts","src/app/modules/shared/components/consolidate-super/effects.ts","src/app/modules/shared/components/contributions-limits/effects.ts","src/app/services/documents.service.ts","src/app/modules/shared/components/document-viewer/effects.ts","src/app/services/historical-data.service.ts","src/app/modules/shared/components/historical-chart/effects.ts","src/app/services/insurance.service.ts","src/app/modules/shared/components/insurance-details/effects.ts","src/app/services/insurance-questionnaire.service.ts","src/app/modules/shared/components/insurance-questionnaire/effects.ts","src/app/modules/shared/components/insurance-questionnaire-start/effects.ts","src/app/modules/shared/components/insurance-update-history/effects.ts","src/app/modules/shared/components/insurance-update/effects.ts","src/app/services/investment.service.ts","src/app/modules/shared/components/investment-edit/effects.ts","src/app/modules/shared/components/investment-options/effects.ts","src/app/modules/shared/components/investment-switch-history/effects.ts","src/app/modules/shared/components/member-account-dropdown/effects.ts","src/app/services/members.service.ts","src/app/modules/shared/components/member-alert/effects.ts","src/app/modules/shared/components/member-edit/effects.ts","src/app/services/member-pension.service.ts","src/app/modules/shared/components/member-pension-view/effects.ts","src/app/modules/shared/components/member-view-overview/effects.ts","src/app/modules/shared/components/member-view/effects.ts","src/app/services/notice-of-intent-tax-deduction.service.ts","src/app/modules/shared/components/notice-of-intent-tax-deduction-container/effects.ts","src/app/modules/shared/components/notice-of-intent-tax-deduction-form/effects.ts","src/app/services/notification.service.ts","src/app/modules/shared/components/notification-dropdown/effects.ts","src/app/modules/shared/components/pension-change-schedule-requests/effects.ts","src/app/modules/shared/components/pension-change-schedule/effects.ts","src/app/services/personal-contrubution.service.ts","src/app/modules/shared/components/personal-contribution-edit/effects.ts","src/app/modules/smrt/services/employment.service.ts","src/app/modules/shared/components/recent-employment-details/effects.ts","src/app/modules/shared/components/rollin-edit/effects.ts","src/app/services/start-a-pension.service.ts","src/app/modules/shared/components/start-a-pension/start-a-pension-form/effects.ts","src/app/modules/shared/components/start-a-pension/start-a-pension-form/start-a-pension-account-details-form/effects.ts","src/app/modules/shared/components/start-a-pension/start-a-pension-form/start-a-pension-bank-details-form/effects.ts","src/app/modules/shared/components/start-a-pension/start-a-pension-form/start-a-pension-beneficiary-form/effects.ts","src/app/modules/shared/components/start-a-pension/start-a-pension-form/start-a-pension-documents-form/effects.ts","src/app/modules/shared/components/start-a-pension/start-a-pension-form/start-a-pension-eligibility-form/effects.ts","src/app/modules/shared/components/start-a-pension/start-a-pension-form/start-a-pension-payment-details-form/effects.ts","src/app/modules/shared/components/start-a-pension/start-a-pension-form/start-a-pension-review/effects.ts","src/app/modules/shared/components/start-a-pension/start-a-pension-start/effects.ts","src/app/modules/shared/components/start-a-pension/start-a-pension-update-submitted/effects.ts","src/app/modules/shared/components/superannuation-provider-search/effects.ts","src/app/services/switch-investments.service.ts","src/app/modules/shared/components/switch-investments-edit/effects.ts","src/app/services/unit-price.service.ts","src/app/modules/shared/components/unit-prices-view/effects.ts","src/app/modules/shared/shared-routing.module.ts","src/app/modules/shared/shared.module.ts","src/app/modules/shared/components/consolidate-super/selectors.ts","src/app/modules/shared/components/consolidate-super/consolidate-super.component.ts","src/app/modules/shared/components/consolidate-super/consolidate-super.component.html","src/app/modules/shared/components/historical-chart/selectors.ts","src/app/modules/shared/components/historical-chart/account-bal-with-graph/historical-chart-view.component.ts","src/app/modules/shared/components/historical-chart/account-bal-with-graph/historical-chart-view.component.html","src/app/modules/shared/components/limited-service-banner/limited-service-banner.component.ts","src/app/modules/shared/components/limited-service-banner/limited-service-banner.component.html","src/app/modules/shared/components/member-view-overview/member-view-overview.component.ts","src/app/modules/shared/components/member-view-overview/member-view-overview.component.html","src/app/modules/verv/views/dashboard/dashboard.component.ts","src/app/modules/verv/views/dashboard/dashboard.component.html","src/app/modules/verv/verve.module.ts","src/app/modules/cirt/components/jetco-claim-amount/selectors.ts","src/app/modules/cirt/components/current-employer/current-employer/selectors.ts","src/app/modules/cirt/components/current-employer/current-employer/current-employer-view.component.ts","src/app/modules/cirt/components/current-employer/current-employer/current-employer-view.component.html","src/app/modules/cirt/components/employer-balances/selectors.ts","src/app/modules/cirt/components/employer-balances/employer-balances.component.ts","src/app/modules/cirt/components/employer-balances/employer-balances.component.html","src/app/modules/cirt/components/jetco-claim-amount/jetco-claim-amount.component.ts","src/app/modules/cirt/components/jetco-claim-amount/jetco-claim-amount.component.html","src/app/modules/cirt/views/dashboard/dashboard.component.ts","src/app/modules/cirt/views/dashboard/dashboard.component.html","src/app/modules/shared/components/account-fees/selectors.ts","src/app/modules/shared/components/account-fees/account-fees.component.ts","src/app/modules/shared/components/account-fees/account-fees.component.html","src/app/modules/shared/components/account-summary/selectors.ts","src/app/modules/shared/components/account-summary/account-summary.component.ts","src/app/modules/shared/components/account-summary/account-summary.component.html","src/app/modules/shared/components/defined-benefit-account-summary/defined-benefit-account-summary.component.ts","src/app/modules/shared/components/defined-benefit-account-summary/defined-benefit-account-summary.component.html","src/app/modules/shared/components/historical-chart/account-bal-without-graph/account-bal-without-graph.component.ts","src/app/modules/shared/components/historical-chart/account-bal-without-graph/account-bal-without-graph.component.html","src/app/modules/shared/components/investment-edit/selectors.ts","src/app/modules/shared/components/investment-edit/investment-edit-hover/investment-edit-hover.component.ts","src/app/modules/shared/components/investment-edit/investment-edit-hover/investment-edit-hover.component.html","src/app/modules/shared/components/investment-edit/investment-complex-view/investment-complex-view.component.ts","src/app/modules/shared/components/investment-edit/investment-complex-view/investment-complex-view.component.html","src/app/modules/shared/components/investment-edit/investment-simple-view/investment-simple-view.component.ts","src/app/modules/shared/components/investment-edit/investment-simple-view/investment-simple-view.component.html","src/app/modules/shared/components/investment-edit/investment-edit.component.ts","src/app/modules/shared/components/investment-edit/investment-edit.component.html","src/app/modules/shared/components/member-alert/selectors.ts","src/app/modules/shared/components/member-alert/member-alert-view.component.ts","src/app/modules/shared/components/member-alert/member-alert-view.component.html","src/app/modules/shared/components/recent-employment-details/selectors.ts","src/app/modules/shared/directives/feature-toggle-global.directive.ts","src/app/modules/shared/components/recent-employment-details/recent-employment-details.component.ts","src/app/modules/shared/components/recent-employment-details/recent-employment-details.component.html","src/app/modules/smrt/views/dashboard/dashboard.component.ts","src/app/modules/smrt/views/dashboard/dashboard.component.html","src/app/modules/futr/views/dashboard/dashboard.component.ts","src/app/modules/futr/views/dashboard/dashboard.component.html","src/app/modules/futr/layout/main/actions.ts","src/app/modules/futr/layout/main/reducer.ts","src/app/modules/futr/store/futr.reducers.ts","src/app/modules/futr/layout/main/selectors.ts","src/app/modules/futr/layout/footer/footer.master.ts","src/app/modules/futr/layout/footer/footer.master.html","src/app/modules/futr/layout/main/main.master.ts","src/app/modules/futr/layout/main/main.master.html","src/app/modules/cirt/layout/not-loggedin/not-loggedin.master.ts","src/app/modules/cirt/layout/not-loggedin/not-loggedin.master.html","src/app/modules/futr/layout/not-loggedin/not-loggedin.master.ts","src/app/modules/futr/layout/not-loggedin/not-loggedin.master.html","src/app/modules/smrt/layout/not-loggedin/not-loggedin.master.ts","src/app/modules/smrt/layout/not-loggedin/not-loggedin.master.html","src/app/modules/cirt/layout/main/effects.ts","src/app/modules/cirt/services/jetco.service.ts","src/app/modules/cirt/views/jetco/lodge-claim/effects.ts","src/app/modules/cirt/services/employment.service.ts","src/app/modules/cirt/views/employment-history/effects.ts","src/app/modules/cirt/services/lodge-claim.service.ts","src/app/modules/cirt/views/lodge-claim/effects.ts","src/app/modules/cirt/components/jetco-claim-amount/effects.ts","src/app/modules/cirt/components/employer-balances/effects.ts","src/app/modules/cirt/components/current-employer/current-employer/effects.ts","src/app/modules/cirt/cirt.module.ts","src/app/modules/smrt/layout/main/effects.ts","src/app/modules/smrt/views/employment-history/effects.ts","src/app/modules/smrt/views/lodge-claim/effects.ts","src/app/modules/smrt/components/current-employer/current-employer/selectors.ts","src/app/modules/smrt/components/current-employer/current-employer/current-employer-view.component.ts","src/app/modules/smrt/components/current-employer/current-employer/current-employer-view.component.html","src/app/modules/smrt/components/employer-balances/selectors.ts","src/app/modules/smrt/components/employer-balances/effects.ts","src/app/modules/smrt/components/current-employer/current-employer/effects.ts","src/app/modules/smrt/services/startup.service.ts","src/app/services/webuser.service.ts","src/app/modules/smrt/views/startup/effects.ts","src/app/modules/smrt/views/startup/selectors.ts","src/app/modules/shared/pipes/message.ts","src/app/modules/smrt/views/startup/startup.component.ts","src/app/modules/smrt/views/startup/startup.component.html","src/app/modules/smrt/components/smrt-no-insurance/smrt-no-insurance.component.ts","src/app/modules/smrt/components/smrt-no-insurance/smrt-no-insurance.component.html","src/app/modules/smrt/smrt.module.ts","src/app/modules/futr/layout/main/effects.ts","src/app/modules/futr/futr-routing.module.ts","src/app/modules/futr/futr.module.ts","src/app/tenant.helper.ts","src/app/modules/shared/components/member-view/member-view.component.ts","src/app/modules/shared/components/member-view/member-view.component.html","src/app/views/personal-details/personal-details.component.ts","src/app/views/personal-details/personal-details.component.html","src/app/views/change-password/actions.ts","src/app/views/change-password/selectors.ts","src/app/views/change-password/change-password.component.ts","src/app/views/change-password/change-password.component.html","src/app/modules/shared/components/member-edit/selectors.ts","src/app/modules/shared/components/member-edit/member-edit.component.ts","src/app/modules/shared/components/member-edit/member-edit.component.html","src/app/views/personal-edit/personal-edit.component.ts","src/app/views/personal-edit/personal-edit.component.html","src/app/modules/shared/components/beneficiaries-edit/selectors.ts","src/app/modules/shared/components/beneficiaries-edit/beneficiaries-edit.component.ts","src/app/modules/shared/components/beneficiaries-edit/beneficiaries-edit.component.html","src/app/views/beneficiary-edit/beneficiary-edit.component.ts","src/app/views/beneficiary-edit/beneficiary-edit.component.html","src/app/modules/shared/components/cash-transactions/selectors.ts","src/app/modules/shared/components/cash-transactions/cash-transactions.component.ts","src/app/modules/shared/components/cash-transactions/cash-transactions.component.html","src/app/views/transaction-list/transaction-list.component.ts","src/app/views/transaction-list/transaction-list.component.html","src/app/modules/shared/components/insurance-pre-questionnaire/selectors.ts","src/app/modules/shared/components/insurance-questionnaire-start/insurance-questionnaire-start.component.ts","src/app/modules/shared/components/insurance-questionnaire-start/insurance-questionnaire-start.component.html","src/app/views/questionnaire/questionnaire-view.component.ts","src/app/views/questionnaire/questionnaire-view.component.html","src/app/route-guard/show-questionnaire-guard.service.ts","src/app/modules/shared/components/insurance-details/selectors.ts","src/app/views/insurance-view/insurance-view.component.ts","src/app/views/insurance-view/insurance-view.component.html","src/app/modules/shared/components/insurance-update/selectors.ts","src/app/modules/shared/components/no-insurance/no-insurance.component.ts","src/app/modules/shared/components/no-insurance/no-insurance.component.html","src/app/modules/shared/directives/fund-component-loader.directive.ts","src/app/modules/shared/components/insurance-details/insurance-details.component.ts","src/app/modules/shared/components/insurance-details/insurance-details.component.html","src/app/modules/shared/components/insurance-pre-questionnaire/insurance-pre-questionnaire.component.ts","src/app/modules/shared/components/insurance-pre-questionnaire/insurance-pre-questionnaire.component.html","src/app/modules/shared/components/insurance-questionnaire/insurance-questionnaire.component.ts","src/app/modules/shared/components/insurance-questionnaire/insurance-questionnaire.component.html","src/app/modules/shared/components/rollin-edit/selectors.ts","src/app/modules/shared/components/superannuation-provider-search/selectors.ts","src/app/modules/shared/components/superannuation-provider-search/superannuation-provider-search.component.ts","src/app/modules/shared/components/superannuation-provider-search/superannuation-provider-search.component.html","src/app/modules/shared/components/rollin-edit/rollin-edit.component.ts","src/app/modules/shared/components/rollin-edit/rollin-edit.component.html","src/app/views/rollin-view/rollin-view.component.ts","src/app/views/rollin-view/rollin-view.component.html","src/app/modules/shared/components/contributions-limits/selectors.ts","src/app/modules/shared/components/contributions-limits/contributions-limits.component.ts","src/app/modules/shared/components/contributions-limits/contributions-limits.component.html","src/app/views/contributions-view/contributions-view.component.ts","src/app/views/contributions-view/contributions-view.component.html","src/app/modules/shared/components/personal-contribution-edit/selectors.ts","src/app/modules/shared/components/personal-contribution-edit/personal-contribution-edit.component.ts","src/app/modules/shared/components/personal-contribution-edit/personal-contribution-edit.component.html","src/app/views/personal-contributions-view/personal-contributions-view.component.ts","src/app/views/personal-contributions-view/personal-contributions-view.component.html","src/app/modules/shared/components/account-underlying-view/selectors.ts","src/app/modules/shared/components/account-underlying-view/account-underlying-view.component.ts","src/app/modules/shared/components/account-underlying-view/account-underlying-view.component.html","src/app/views/assets-view/assets-view.component.ts","src/app/views/assets-view/assets-view.component.html","src/app/modules/shared/components/document-viewer/selectors.ts","src/app/modules/shared/components/document-viewer/document-viewer-view.component.ts","src/app/modules/shared/components/document-viewer/document-viewer-view.component.html","src/app/views/member-statements/member-statements-view.component.ts","src/app/views/member-statements/member-statements-view.component.html","src/app/views/other-documents/other-documents-view.component.ts","src/app/views/other-documents/other-documents-view.component.html","src/app/views/calculator/calculator-view.component.ts","src/app/views/calculator/calculator-view.component.html","src/app/modules/shared/components/beneficiaries-view/selectors.ts","src/app/modules/shared/components/beneficiaries-view/beneficiaries-view.component.ts","src/app/modules/shared/components/beneficiaries-view/beneficiaries-view.component.html","src/app/views/beneficiary-view/beneficiary-view.component.ts","src/app/views/beneficiary-view/beneficiary-view.component.html","src/app/auth-config.ts","src/app/views/elevated-access/elevated-access.component.ts","src/app/views/elevated-access/elevated-access.component.html","src/app/modules/shared/components/bpay-details/selectors.ts","src/app/modules/shared/components/bpay-details/bpay-details.component.ts","src/app/modules/shared/components/bpay-details/bpay-details.component.html","src/app/views/make-a-contribution-view/make-a-contribution-view.component.ts","src/app/views/make-a-contribution-view/make-a-contribution-view.component.html","src/app/modules/shared/components/member-pension-view/selectors.ts","src/app/modules/shared/components/member-pension-view/member-pension-view.component.ts","src/app/modules/shared/components/member-pension-view/member-pension-view.component.html","src/app/views/pension-view/pension-view.component.ts","src/app/views/pension-view/pension-view.component.html","src/app/views/investment-view/investment-view.component.ts","src/app/views/investment-view/investment-view.component.html","src/app/modules/shared/components/access-your-super-start/selectors.ts","src/app/modules/shared/components/access-your-super-form/selector.ts","src/app/modules/shared/components/access-your-super-start/access-your-super-start.component.ts","src/app/modules/shared/components/access-your-super-start/access-your-super-start.component.html","src/app/views/access-your-super-view/access-your-super-view.component.ts","src/app/views/access-your-super-view/access-your-super-view.component.html","src/app/modules/shared/components/access-your-super-progress-stepper/access-your-super-progress-stepper.component.ts","src/app/modules/shared/components/access-your-super-progress-stepper/access-your-super-progress-stepper.component.html","src/app/helper/accessyourSuperHelper.ts","src/app/modules/shared/components/access-your-super-bank-details/selectors.ts","src/app/modules/shared/components/access-your-super-bank-details/access-your-super-bank-details.component.ts","src/app/modules/shared/components/access-your-super-bank-details/access-your-super-bank-details.component.html","src/app/enums/access-your-super-payment-type.enum.ts","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-ceased-paid-employment/selectors.ts","src/app/modules/shared/pipes/convertNan.ts","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-drawdown/access-your-super-drawdown.component.ts","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-drawdown/access-your-super-drawdown.component.html","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-ceased-paid-employment/access-your-super-ceased-paid-employment.component.ts","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-ceased-paid-employment/access-your-super-ceased-paid-employment.component.html","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-ceased-work-sixty/selectors.ts","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-ceased-work-sixty/access-your-super-ceased-work-sixty.component.ts","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-ceased-work-sixty/access-your-super-ceased-work-sixty.component.html","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-compassionate-grounds/selectors.ts","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-compassionate-grounds/access-your-super-compassionate-grounds.component.ts","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-compassionate-grounds/access-your-super-compassionate-grounds.component.html","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-kiwi-saver/selectors.ts","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-kiwi-saver/access-your-super-kiwi-saver.component.ts","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-kiwi-saver/access-your-super-kiwi-saver.component.html","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-pension-commutations/selectors.ts","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-pension-commutations/access-your-super-pension-commutations.component.ts","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-pension-commutations/access-your-super-pension-commutations.component.html","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-permanent-retirement-preservation/selectors.ts","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-permanent-retirement-preservation/access-your-super-permanent-retirement-preservation.component.ts","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-permanent-retirement-preservation/access-your-super-permanent-retirement-preservation.component.html","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-retirement/selectors.ts","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-retirement/access-your-super-retirement.component.ts","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-retirement/access-your-super-retirement.component.html","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-severe-financial-hardship/selectors.ts","src/app/enums/access-your-super-document-type.enum.ts","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-severe-financial-hardship/financialDataFormVersions/v1/selector.ts","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-severe-financial-hardship/financialDataFormVersions/v1/sfh-financial-details-V1.component.ts","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-severe-financial-hardship/financialDataFormVersions/v1/sfh-financial-details-V1.component.html","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-severe-financial-hardship/access-your-super-severe-financial-hardship.component.ts","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-severe-financial-hardship/access-your-super-severe-financial-hardship.component.html","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-terminal-medical-condition/selectors.ts","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-terminal-medical-condition/access-your-super-terminal-medical-condition.component.ts","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-terminal-medical-condition/access-your-super-terminal-medical-condition.component.html","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-unrestricted-non-preserved/selectors.ts","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-unrestricted-non-preserved/access-your-super-unrestricted-non-preserved.component.ts","src/app/modules/shared/components/access-your-super-custom-sections/access-your-super-unrestricted-non-preserved/access-your-super-unrestricted-non-preserved.component.html","src/app/modules/shared/components/access-your-super-documents/selectors.ts","src/app/model/access-your-super-form.models.ts","src/app/modules/shared/components/access-your-super-documents/access-your-super-documents.component.ts","src/app/modules/shared/components/access-your-super-documents/access-your-super-documents.component.html","src/app/modules/shared/components/access-your-super-last-employer/selector.ts","src/app/modules/shared/components/access-your-super-last-employer/access-your-super-last-employer.component.ts","src/app/modules/shared/components/access-your-super-last-employer/access-your-super-last-employer.component.html","src/app/modules/shared/components/access-your-super-review/selector.ts","src/app/enums/access-your-super-application-type.enum.ts","src/app/modules/shared/components/access-your-super-review-display/financialDataReviewVersions/v1/severe-financial-hardship-financial-details-review-V1.component.ts","src/app/modules/shared/components/access-your-super-review-display/financialDataReviewVersions/v1/severe-financial-hardship-financial-details-review-V1.component.html","src/app/modules/shared/components/access-your-super-review-display/access-your-super-review-display.component.ts","src/app/modules/shared/components/access-your-super-review-display/access-your-super-review-display.component.html","src/app/modules/shared/components/access-your-super-review/access-your-super-review.component.ts","src/app/modules/shared/components/access-your-super-review/access-your-super-review.component.html","src/app/modules/shared/components/access-your-super-type-selection/selector.ts","src/app/modules/shared/components/access-your-super-type-selection/access-your-super-type-selection.component.ts","src/app/modules/shared/components/access-your-super-type-selection/access-your-super-type-selection.component.html","src/app/modules/shared/components/available-account-balance/available-account-balance.component.ts","src/app/modules/shared/components/available-account-balance/available-account-balance.component.html","src/app/modules/shared/components/access-your-super-form/access-your-super-form.component.ts","src/app/modules/shared/components/access-your-super-form/access-your-super-form.component.html","src/app/views/access-your-super-create/access-your-super-create.component.ts","src/app/views/access-your-super-create/access-your-super-create.component.html","src/app/modules/shared/components/account-underlying-investment-summary-view/selectors.ts","src/app/modules/shared/components/account-underlying-investment-summary-view/account-underlying-investment-summary-view.component.ts","src/app/modules/shared/components/account-underlying-investment-summary-view/account-underlying-investment-summary-view.component.html","src/app/views/underlying-investment-view/underlying-investment-view.component.ts","src/app/views/underlying-investment-view/underlying-investment-view.component.html","src/app/views/maintenance-page/maintenance-page.component.ts","src/app/views/maintenance-page/maintenance-page.component.html","src/app/route-guard/blackout-guard.service.ts","src/app/views/error-page/error-page.component.ts","src/app/views/error-page/error-page.component.html","src/app/route-guard/error-page-guard.service.ts","src/app/views/take-me-with-you-view/actions.ts","src/app/views/take-me-with-you-view/take-me-with-you-view.component.ts","src/app/views/take-me-with-you-view/take-me-with-you-view.component.html","src/app/views/login/login-error.component.ts","src/app/views/login/login-error.component.html","src/app/route-guard/msal-check.service.ts","src/app/modules/shared/components/access-your-super-update-submitted/selector.ts","src/app/modules/shared/components/access-your-super-update-submitted/access-your-super-update-submitted.component.ts","src/app/modules/shared/components/access-your-super-update-submitted/access-your-super-update-submitted.component.html","src/app/views/access-your-super-review-submitted/access-your-super-review-submitted.component.ts","src/app/views/access-your-super-review-submitted/access-your-super-review-submitted.component.html","src/app/modules/shared/components/notice-of-intent-tax-deduction-container/selectors.ts","src/app/modules/shared/components/notice-of-intent-tax-deduction-form/selectors.ts","src/app/modules/shared/components/notice-of-intent-tax-deduction-form/noi-pending-withdrawal-dialog/noi-pending-withdrawal-dialog.component.ts","src/app/modules/shared/components/notice-of-intent-tax-deduction-form/noi-pending-withdrawal-dialog/noi-pending-withdrawal-dialog.component.html","src/app/modules/shared/components/notice-of-intent-tax-deduction-form/notice-of-intent-tax-deduction-form.component.ts","src/app/modules/shared/components/notice-of-intent-tax-deduction-form/notice-of-intent-tax-deduction-form.component.html","src/app/modules/shared/components/notice-of-intent-tax-deduction-container/notice-of-intent-tax-deduction-container.component.ts","src/app/modules/shared/components/notice-of-intent-tax-deduction-container/notice-of-intent-tax-deduction-container.component.html","src/app/views/notice-of-intent-tax-deduction/notifice-of-intent-tax-deduction-view.component.ts","src/app/views/notice-of-intent-tax-deduction/notifice-of-intent-tax-deduction-view.component.html","src/app/modules/shared/components/pension-change-schedule/selectors.ts","src/app/enums/account-classification.enum.ts","src/app/modules/shared/components/pension-change-schedule/pension-change-schedule.component.ts","src/app/modules/shared/components/pension-change-schedule/pension-change-schedule.component.html","src/app/views/pension-change-schedule-view/pension-change-schedule-view.component.ts","src/app/views/pension-change-schedule-view/pension-change-schedule-view.component.html","src/app/modules/shared/components/pension-change-schedule-requests/selectors.ts","src/app/modules/shared/components/pension-change-schedule-requests/pension-change-schedule-requests.component.ts","src/app/modules/shared/components/pension-change-schedule-requests/pension-change-schedule-requests.component.html","src/app/views/pension-change-schedule-requests-view/pension-change-schedule-requests-view.component.ts","src/app/views/pension-change-schedule-requests-view/pension-change-schedule-requests-view.component.html","src/app/modules/shared/components/investment-switch-history/selectors.ts","src/app/enums/investment-switch-options.enum.ts","src/app/modules/shared/components/investment-switch-history/investment-switch-history-card/investment-switch-history-card.component.ts","src/app/modules/shared/components/investment-switch-history/investment-switch-history-card/investment-switch-history-card.component.html","src/app/modules/shared/components/investment-switch-history/investment-switch-history.component.ts","src/app/modules/shared/components/investment-switch-history/investment-switch-history.component.html","src/app/views/investment-history-view/investment-history-view.component.ts","src/app/views/investment-history-view/investment-history-view.component.html","src/app/modules/shared/components/start-a-pension/start-a-pension-form/selectors.ts","src/app/modules/shared/components/start-a-pension/start-a-pension-form/start-a-pension-progress-stepper/start-a-pension-progress-stepper.component.ts","src/app/modules/shared/components/start-a-pension/start-a-pension-form/start-a-pension-progress-stepper/start-a-pension-progress-stepper.component.html","src/app/modules/shared/components/start-a-pension/start-a-pension-form/start-a-pension-account-details-form/selectors.ts","src/app/modules/shared/components/start-a-pension/start-a-pension-form/start-a-pension-investment-options/start-a-pension-investment-options.component.ts","src/app/modules/shared/components/start-a-pension/start-a-pension-form/start-a-pension-investment-options/start-a-pension-investment-options.component.html","src/app/modules/shared/components/start-a-pension/start-a-pension-form/start-a-pension-account-details-form/start-a-pension-account-details-form.component.ts","src/app/modules/shared/components/start-a-pension/start-a-pension-form/start-a-pension-account-details-form/start-a-pension-account-details-form.component.html","src/app/modules/shared/components/start-a-pension/start-a-pension-form/start-a-pension-bank-details-form/selectors.ts","src/app/modules/shared/components/start-a-pension/start-a-pension-form/start-a-pension-bank-details-form/start-a-pension-bank-details-form.component.ts","src/app/modules/shared/components/start-a-pension/start-a-pension-form/start-a-pension-bank-details-form/start-a-pension-bank-details-form.component.html","src/app/modules/shared/components/start-a-pension/start-a-pension-form/start-a-pension-beneficiary-form/selectors.ts","src/app/modules/shared/components/start-a-pension/start-a-pension-form/start-a-pension-beneficiary-form/start-a-pension-beneficiary-form.component.ts","src/app/modules/shared/components/start-a-pension/start-a-pension-form/start-a-pension-beneficiary-form/start-a-pension-beneficiary-form.component.html","src/app/model/start-a-pension-form.model.ts","src/app/modules/shared/components/start-a-pension/start-a-pension-form/start-a-pension-documents-form/selectors.ts","src/app/modules/shared/components/start-a-pension/start-a-pension-form/start-a-pension-documents-form/start-a-pension-documents-form.component.ts","src/app/modules/shared/components/start-a-pension/start-a-pension-form/start-a-pension-documents-form/start-a-pension-documents-form.component.html","src/app/modules/shared/components/start-a-pension/start-a-pension-form/start-a-pension-eligibility-form/selectors.ts","src/app/modules/shared/components/start-a-pension/start-a-pension-form/start-a-pension-eligibility-form/start-a-pension-eligibility-form.component.ts","src/app/modules/shared/components/start-a-pension/start-a-pension-form/start-a-pension-eligibility-form/start-a-pension-eligibility-form.component.html","src/app/modules/shared/components/start-a-pension/start-a-pension-form/start-a-pension-payment-details-form/selectors.ts","src/app/modules/shared/components/start-a-pension/start-a-pension-form/start-a-pension-payment-details-form/start-a-pension-payment-details-form.component.ts","src/app/modules/shared/components/start-a-pension/start-a-pension-form/start-a-pension-payment-details-form/start-a-pension-payment-details-form.component.html","src/app/modules/shared/components/start-a-pension/start-a-pension-form/start-a-pension-review/selector.ts","src/app/modules/shared/components/start-a-pension/start-a-pension-form/start-a-pension-review/start-a-pension-review-display/start-a-pension-review-display.component.ts","src/app/modules/shared/components/start-a-pension/start-a-pension-form/start-a-pension-review/start-a-pension-review-display/start-a-pension-review-display.component.html","src/app/modules/shared/components/start-a-pension/start-a-pension-form/start-a-pension-review/start-a-pension-review.component.ts","src/app/modules/shared/components/start-a-pension/start-a-pension-form/start-a-pension-review/start-a-pension-review.component.html","src/app/modules/shared/components/start-a-pension/start-a-pension-form/start-a-pension-form.component.ts","src/app/modules/shared/components/start-a-pension/start-a-pension-form/start-a-pension-form.component.html","src/app/views/start-a-pension-create/start-a-pension-create.component.ts","src/app/views/start-a-pension-create/start-a-pension-create.component.html","src/app/enums/pension-application-condition.enum.ts","src/app/modules/shared/components/start-a-pension/start-a-pension-start/selectors.ts","src/app/modules/shared/components/start-a-pension/start-a-pension-update-submitted/selectors.ts","src/app/modules/shared/components/start-a-pension/start-a-pension-start/start-a-pension-start.component.ts","src/app/modules/shared/components/start-a-pension/start-a-pension-start/start-a-pension-start.component.html","src/app/views/start-a-pension/start-a-pension-view.component.ts","src/app/views/start-a-pension/start-a-pension-view.component.html","src/app/modules/shared/components/start-a-pension/start-a-pension-update-submitted/start-a-pension-update-submitted.component.ts","src/app/modules/shared/components/start-a-pension/start-a-pension-update-submitted/start-a-pension-update-submitted.component.html","src/app/views/start-a-pension-update-submitted/start-a-pension-update-submitted-view.component.ts","src/app/views/start-a-pension-update-submitted/start-a-pension-update-submitted-view.component.html","src/app/modules/shared/components/insurance-update/insurance-update.component.ts","src/app/modules/shared/components/insurance-update/insurance-update.component.html","src/app/views/insurance-update-view/insurance-update-view.component.ts","src/app/views/insurance-update-view/insurance-update-view.component.html","src/app/modules/shared/components/insurance-update-history/selectors.ts","src/app/modules/shared/components/insurance-update-history/insurance-update-history-card/insurance-update-history-card.component.ts","src/app/modules/shared/components/insurance-update-history/insurance-update-history-card/insurance-update-history-card.component.html","src/app/modules/shared/components/insurance-update-history/insurance-update-history.component.ts","src/app/modules/shared/components/insurance-update-history/insurance-update-history.component.html","src/app/views/insurance-update-history-view/insurance-update-history-view.component.ts","src/app/views/insurance-update-history-view/insurance-update-history-view.component.html","src/app/app-routing.module.ts","src/app/modules/shared/components/are-you-still-there-dialog/are-you-still-there.component.ts","src/app/modules/shared/components/are-you-still-there-dialog/are-you-still-there.component.html","src/app/modules/shared/components/chat/selectors.ts","src/app/modules/shared/components/chat/chat-view.component.ts","src/app/modules/shared/components/chat/chat-view.component.html","src/app/modules/shared/components/elevated-access-banner/elevated-access-banner.component.ts","src/app/modules/shared/components/elevated-access-banner/elevated-access-banner.component.html","src/app/app.component.ts","src/app/app.component.html","src/app/route-guard/accum-guard.service.ts","src/app/route-guard/feature-flag-guard.service.ts","src/app/route-guard/member-feature-toggle-guard.service.ts","src/app/route-guard/pension-guard.service.ts","src/app/route-guard/permission-guard.service.ts","src/app/services/costofcover.service.ts","src/app/services/feature-toggle.service.ts","src/app/services/helper.service.ts","src/app/helper/coreApiHelper.ts","src/app/services/http-interceptor.ts","src/app/services/member-correspondence.service.ts","src/app/services/member-note-type.service.ts","src/app/services/roles.service.ts","src/app/services/take-me-with-you.service.ts","src/app/store/common/common.reducer.ts","src/app/model/change-password.model.ts","src/app/views/change-password/reducer.ts","src/app/views/take-me-with-you-view/reducer.ts","src/app/store/app.reducers.ts","src/app/store/common/common.effects.ts","src/app/store/meta-reducer.ts","src/app/translateHttpLoader.ts","src/app/views/change-password/effects.ts","src/app/views/take-me-with-you-view/effects.ts"],"sourcesContent":["(function (f) {\n if (typeof exports === \"object\" && typeof module !== \"undefined\") {\n module.exports = f();\n } else if (typeof define === \"function\" && define.amd) {\n define([], f);\n } else {\n var g;\n if (typeof window !== \"undefined\") {\n g = window;\n } else if (typeof global !== \"undefined\") {\n g = global;\n } else if (typeof self !== \"undefined\") {\n g = self;\n } else {\n g = this;\n }\n g.Bugsnag = f();\n }\n})(function () {\n var define, module, exports;\n var _$breadcrumbTypes_17 = ['navigation', 'request', 'process', 'log', 'user', 'state', 'error', 'manual'];\n\n // Array#reduce\n var _$reduce_26 = function (arr, fn, accum) {\n var val = accum;\n for (var i = 0, len = arr.length; i < len; i++) val = fn(val, arr[i], i, arr);\n return val;\n };\n\n /* removed: var _$reduce_26 = require('./reduce'); */\n ;\n\n // Array#filter\n var _$filter_21 = function (arr, fn) {\n return _$reduce_26(arr, function (accum, item, i, arr) {\n return !fn(item, i, arr) ? accum : accum.concat(item);\n }, []);\n };\n\n /* removed: var _$reduce_26 = require('./reduce'); */\n ;\n // Array#includes\n var _$includes_22 = function (arr, x) {\n return _$reduce_26(arr, function (accum, item, i, arr) {\n return accum === true || item === x;\n }, false);\n };\n\n // Array#isArray\n var _$isArray_23 = function (obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n };\n\n /* eslint-disable-next-line no-prototype-builtins */\n var _hasDontEnumBug = !{\n toString: null\n }.propertyIsEnumerable('toString');\n var _dontEnums = ['toString', 'toLocaleString', 'valueOf', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'constructor'];\n\n // Object#keys\n var _$keys_24 = function (obj) {\n // stripped down version of\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/Keys\n var result = [];\n var prop;\n for (prop in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, prop)) result.push(prop);\n }\n if (!_hasDontEnumBug) return result;\n for (var i = 0, len = _dontEnums.length; i < len; i++) {\n if (Object.prototype.hasOwnProperty.call(obj, _dontEnums[i])) result.push(_dontEnums[i]);\n }\n return result;\n };\n var _$intRange_33 = function (min, max) {\n if (min === void 0) {\n min = 1;\n }\n if (max === void 0) {\n max = Infinity;\n }\n return function (value) {\n return typeof value === 'number' && parseInt('' + value, 10) === value && value >= min && value <= max;\n };\n };\n\n /* removed: var _$filter_21 = require('../es-utils/filter'); */\n ;\n /* removed: var _$isArray_23 = require('../es-utils/is-array'); */\n ;\n var _$listOfFunctions_34 = function (value) {\n return typeof value === 'function' || _$isArray_23(value) && _$filter_21(value, function (f) {\n return typeof f === 'function';\n }).length === value.length;\n };\n var _$stringWithLength_35 = function (value) {\n return typeof value === 'string' && !!value.length;\n };\n var _$config_14 = {};\n /* removed: var _$filter_21 = require('./lib/es-utils/filter'); */\n ;\n /* removed: var _$reduce_26 = require('./lib/es-utils/reduce'); */\n ;\n /* removed: var _$keys_24 = require('./lib/es-utils/keys'); */\n ;\n /* removed: var _$isArray_23 = require('./lib/es-utils/is-array'); */\n ;\n /* removed: var _$includes_22 = require('./lib/es-utils/includes'); */\n ;\n /* removed: var _$intRange_33 = require('./lib/validators/int-range'); */\n ;\n /* removed: var _$stringWithLength_35 = require('./lib/validators/string-with-length'); */\n ;\n /* removed: var _$listOfFunctions_34 = require('./lib/validators/list-of-functions'); */\n ;\n /* removed: var _$breadcrumbTypes_17 = require('./lib/breadcrumb-types'); */\n ;\n var defaultErrorTypes = function () {\n return {\n unhandledExceptions: true,\n unhandledRejections: true\n };\n };\n _$config_14.schema = {\n apiKey: {\n defaultValue: function () {\n return null;\n },\n message: 'is required',\n validate: _$stringWithLength_35\n },\n appVersion: {\n defaultValue: function () {\n return undefined;\n },\n message: 'should be a string',\n validate: function (value) {\n return value === undefined || _$stringWithLength_35(value);\n }\n },\n appType: {\n defaultValue: function () {\n return undefined;\n },\n message: 'should be a string',\n validate: function (value) {\n return value === undefined || _$stringWithLength_35(value);\n }\n },\n autoDetectErrors: {\n defaultValue: function () {\n return true;\n },\n message: 'should be true|false',\n validate: function (value) {\n return value === true || value === false;\n }\n },\n enabledErrorTypes: {\n defaultValue: function () {\n return defaultErrorTypes();\n },\n message: 'should be an object containing the flags { unhandledExceptions:true|false, unhandledRejections:true|false }',\n allowPartialObject: true,\n validate: function (value) {\n // ensure we have an object\n if (typeof value !== 'object' || !value) return false;\n var providedKeys = _$keys_24(value);\n var defaultKeys = _$keys_24(defaultErrorTypes());\n // ensure it only has a subset of the allowed keys\n if (_$filter_21(providedKeys, function (k) {\n return _$includes_22(defaultKeys, k);\n }).length < providedKeys.length) return false;\n // ensure all of the values are boolean\n if (_$filter_21(_$keys_24(value), function (k) {\n return typeof value[k] !== 'boolean';\n }).length > 0) return false;\n return true;\n }\n },\n onError: {\n defaultValue: function () {\n return [];\n },\n message: 'should be a function or array of functions',\n validate: _$listOfFunctions_34\n },\n onSession: {\n defaultValue: function () {\n return [];\n },\n message: 'should be a function or array of functions',\n validate: _$listOfFunctions_34\n },\n onBreadcrumb: {\n defaultValue: function () {\n return [];\n },\n message: 'should be a function or array of functions',\n validate: _$listOfFunctions_34\n },\n endpoints: {\n defaultValue: function (endpoints) {\n // only apply the default value if no endpoints have been provided, otherwise prevent delivery by setting to null\n if (typeof endpoints === 'undefined') {\n return {\n notify: 'https://notify.bugsnag.com',\n sessions: 'https://sessions.bugsnag.com'\n };\n } else {\n return {\n notify: null,\n sessions: null\n };\n }\n },\n message: 'should be an object containing endpoint URLs { notify, sessions }',\n validate: function (val) {\n return (\n // first, ensure it's an object\n val && typeof val === 'object' &&\n // notify and sessions must always be set\n _$stringWithLength_35(val.notify) && _$stringWithLength_35(val.sessions) &&\n // ensure no keys other than notify/session are set on endpoints object\n _$filter_21(_$keys_24(val), function (k) {\n return !_$includes_22(['notify', 'sessions'], k);\n }).length === 0\n );\n }\n },\n autoTrackSessions: {\n defaultValue: function (val) {\n return true;\n },\n message: 'should be true|false',\n validate: function (val) {\n return val === true || val === false;\n }\n },\n enabledReleaseStages: {\n defaultValue: function () {\n return null;\n },\n message: 'should be an array of strings',\n validate: function (value) {\n return value === null || _$isArray_23(value) && _$filter_21(value, function (f) {\n return typeof f === 'string';\n }).length === value.length;\n }\n },\n releaseStage: {\n defaultValue: function () {\n return 'production';\n },\n message: 'should be a string',\n validate: function (value) {\n return typeof value === 'string' && value.length;\n }\n },\n maxBreadcrumbs: {\n defaultValue: function () {\n return 25;\n },\n message: 'should be a number ≤100',\n validate: function (value) {\n return _$intRange_33(0, 100)(value);\n }\n },\n enabledBreadcrumbTypes: {\n defaultValue: function () {\n return _$breadcrumbTypes_17;\n },\n message: \"should be null or a list of available breadcrumb types (\" + _$breadcrumbTypes_17.join(',') + \")\",\n validate: function (value) {\n return value === null || _$isArray_23(value) && _$reduce_26(value, function (accum, maybeType) {\n if (accum === false) return accum;\n return _$includes_22(_$breadcrumbTypes_17, maybeType);\n }, true);\n }\n },\n context: {\n defaultValue: function () {\n return undefined;\n },\n message: 'should be a string',\n validate: function (value) {\n return value === undefined || typeof value === 'string';\n }\n },\n user: {\n defaultValue: function () {\n return {};\n },\n message: 'should be an object with { id, email, name } properties',\n validate: function (value) {\n return value === null || value && _$reduce_26(_$keys_24(value), function (accum, key) {\n return accum && _$includes_22(['id', 'email', 'name'], key);\n }, true);\n }\n },\n metadata: {\n defaultValue: function () {\n return {};\n },\n message: 'should be an object',\n validate: function (value) {\n return typeof value === 'object' && value !== null;\n }\n },\n logger: {\n defaultValue: function () {\n return undefined;\n },\n message: 'should be null or an object with methods { debug, info, warn, error }',\n validate: function (value) {\n return !value || value && _$reduce_26(['debug', 'info', 'warn', 'error'], function (accum, method) {\n return accum && typeof value[method] === 'function';\n }, true);\n }\n },\n redactedKeys: {\n defaultValue: function () {\n return ['password'];\n },\n message: 'should be an array of strings|regexes',\n validate: function (value) {\n return _$isArray_23(value) && value.length === _$filter_21(value, function (s) {\n return typeof s === 'string' || s && typeof s.test === 'function';\n }).length;\n }\n },\n plugins: {\n defaultValue: function () {\n return [];\n },\n message: 'should be an array of plugin objects',\n validate: function (value) {\n return _$isArray_23(value) && value.length === _$filter_21(value, function (p) {\n return p && typeof p === 'object' && typeof p.load === 'function';\n }).length;\n }\n },\n featureFlags: {\n defaultValue: function () {\n return [];\n },\n message: 'should be an array of objects that have a \"name\" property',\n validate: function (value) {\n return _$isArray_23(value) && value.length === _$filter_21(value, function (feature) {\n return feature && typeof feature === 'object' && typeof feature.name === 'string';\n }).length;\n }\n },\n reportUnhandledPromiseRejectionsAsHandled: {\n defaultValue: function () {\n return false;\n },\n message: 'should be true|false',\n validate: function (value) {\n return value === true || value === false;\n }\n },\n sendPayloadChecksums: {\n defaultValue: function () {\n return false;\n },\n message: 'should be true|false',\n validate: function (value) {\n return value === true || value === false;\n }\n }\n };\n\n // extends helper from babel\n // https://github.com/babel/babel/blob/916429b516e6466fd06588ee820e40e025d7f3a3/packages/babel-helpers/src/helpers.js#L377-L393\n var _$assign_20 = function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n\n /* removed: var _$reduce_26 = require('./reduce'); */\n ;\n\n // Array#map\n var _$map_25 = function (arr, fn) {\n return _$reduce_26(arr, function (accum, item, i, arr) {\n return accum.concat(fn(item, i, arr));\n }, []);\n };\n function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n }\n var schema = _$config_14.schema;\n /* removed: var _$map_25 = require('@bugsnag/core/lib/es-utils/map'); */\n ;\n /* removed: var _$assign_20 = require('@bugsnag/core/lib/es-utils/assign'); */\n ;\n var _$config_10 = {\n releaseStage: _$assign_20({}, schema.releaseStage, {\n defaultValue: function () {\n if (/^localhost(:\\d+)?$/.test(window.location.host)) return 'development';\n return 'production';\n }\n }),\n appType: _extends({}, schema.appType, {\n defaultValue: function () {\n return 'browser';\n }\n }),\n logger: _$assign_20({}, schema.logger, {\n defaultValue: function () {\n return (\n // set logger based on browser capability\n typeof console !== 'undefined' && typeof console.debug === 'function' ? getPrefixedConsole() : undefined\n );\n }\n })\n };\n var getPrefixedConsole = function () {\n var logger = {};\n var consoleLog = console.log;\n _$map_25(['debug', 'info', 'warn', 'error'], function (method) {\n var consoleMethod = console[method];\n logger[method] = typeof consoleMethod === 'function' ? consoleMethod.bind(console, '[bugsnag]') : consoleLog.bind(console, '[bugsnag]');\n });\n return logger;\n };\n var Breadcrumb = /*#__PURE__*/function () {\n function Breadcrumb(message, metadata, type, timestamp) {\n if (timestamp === void 0) {\n timestamp = new Date();\n }\n this.type = type;\n this.message = message;\n this.metadata = metadata;\n this.timestamp = timestamp;\n }\n var _proto = Breadcrumb.prototype;\n _proto.toJSON = function toJSON() {\n return {\n type: this.type,\n name: this.message,\n timestamp: this.timestamp,\n metaData: this.metadata\n };\n };\n return Breadcrumb;\n }();\n var _$Breadcrumb_12 = Breadcrumb;\n var _$stackframe_9 = {};\n (function (root, factory) {\n 'use strict';\n\n // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, Rhino, and browsers.\n\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n define('stackframe', [], factory);\n } else if (typeof _$stackframe_9 === 'object') {\n _$stackframe_9 = factory();\n } else {\n root.StackFrame = factory();\n }\n })(this, function () {\n 'use strict';\n\n function _isNumber(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n }\n function _capitalize(str) {\n return str.charAt(0).toUpperCase() + str.substring(1);\n }\n function _getter(p) {\n return function () {\n return this[p];\n };\n }\n var booleanProps = ['isConstructor', 'isEval', 'isNative', 'isToplevel'];\n var numericProps = ['columnNumber', 'lineNumber'];\n var stringProps = ['fileName', 'functionName', 'source'];\n var arrayProps = ['args'];\n var objectProps = ['evalOrigin'];\n var props = booleanProps.concat(numericProps, stringProps, arrayProps, objectProps);\n function StackFrame(obj) {\n if (!obj) return;\n for (var i = 0; i < props.length; i++) {\n if (obj[props[i]] !== undefined) {\n this['set' + _capitalize(props[i])](obj[props[i]]);\n }\n }\n }\n StackFrame.prototype = {\n getArgs: function () {\n return this.args;\n },\n setArgs: function (v) {\n if (Object.prototype.toString.call(v) !== '[object Array]') {\n throw new TypeError('Args must be an Array');\n }\n this.args = v;\n },\n getEvalOrigin: function () {\n return this.evalOrigin;\n },\n setEvalOrigin: function (v) {\n if (v instanceof StackFrame) {\n this.evalOrigin = v;\n } else if (v instanceof Object) {\n this.evalOrigin = new StackFrame(v);\n } else {\n throw new TypeError('Eval Origin must be an Object or StackFrame');\n }\n },\n toString: function () {\n var fileName = this.getFileName() || '';\n var lineNumber = this.getLineNumber() || '';\n var columnNumber = this.getColumnNumber() || '';\n var functionName = this.getFunctionName() || '';\n if (this.getIsEval()) {\n if (fileName) {\n return '[eval] (' + fileName + ':' + lineNumber + ':' + columnNumber + ')';\n }\n return '[eval]:' + lineNumber + ':' + columnNumber;\n }\n if (functionName) {\n return functionName + ' (' + fileName + ':' + lineNumber + ':' + columnNumber + ')';\n }\n return fileName + ':' + lineNumber + ':' + columnNumber;\n }\n };\n StackFrame.fromString = function StackFrame$$fromString(str) {\n var argsStartIndex = str.indexOf('(');\n var argsEndIndex = str.lastIndexOf(')');\n var functionName = str.substring(0, argsStartIndex);\n var args = str.substring(argsStartIndex + 1, argsEndIndex).split(',');\n var locationString = str.substring(argsEndIndex + 1);\n if (locationString.indexOf('@') === 0) {\n var parts = /@(.+?)(?::(\\d+))?(?::(\\d+))?$/.exec(locationString, '');\n var fileName = parts[1];\n var lineNumber = parts[2];\n var columnNumber = parts[3];\n }\n return new StackFrame({\n functionName: functionName,\n args: args || undefined,\n fileName: fileName,\n lineNumber: lineNumber || undefined,\n columnNumber: columnNumber || undefined\n });\n };\n for (var i = 0; i < booleanProps.length; i++) {\n StackFrame.prototype['get' + _capitalize(booleanProps[i])] = _getter(booleanProps[i]);\n StackFrame.prototype['set' + _capitalize(booleanProps[i])] = function (p) {\n return function (v) {\n this[p] = Boolean(v);\n };\n }(booleanProps[i]);\n }\n for (var j = 0; j < numericProps.length; j++) {\n StackFrame.prototype['get' + _capitalize(numericProps[j])] = _getter(numericProps[j]);\n StackFrame.prototype['set' + _capitalize(numericProps[j])] = function (p) {\n return function (v) {\n if (!_isNumber(v)) {\n throw new TypeError(p + ' must be a Number');\n }\n this[p] = Number(v);\n };\n }(numericProps[j]);\n }\n for (var k = 0; k < stringProps.length; k++) {\n StackFrame.prototype['get' + _capitalize(stringProps[k])] = _getter(stringProps[k]);\n StackFrame.prototype['set' + _capitalize(stringProps[k])] = function (p) {\n return function (v) {\n this[p] = String(v);\n };\n }(stringProps[k]);\n }\n return StackFrame;\n });\n var _$stackGenerator_8 = {};\n (function (root, factory) {\n 'use strict';\n\n // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, Rhino, and browsers.\n\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n define('stack-generator', ['stackframe'], factory);\n } else if (typeof _$stackGenerator_8 === 'object') {\n _$stackGenerator_8 = factory(_$stackframe_9);\n } else {\n root.StackGenerator = factory(root.StackFrame);\n }\n })(this, function (StackFrame) {\n return {\n backtrace: function StackGenerator$$backtrace(opts) {\n var stack = [];\n var maxStackSize = 10;\n if (typeof opts === 'object' && typeof opts.maxStackSize === 'number') {\n maxStackSize = opts.maxStackSize;\n }\n var curr = arguments.callee;\n while (curr && stack.length < maxStackSize && curr['arguments']) {\n // Allow V8 optimizations\n var args = new Array(curr['arguments'].length);\n for (var i = 0; i < args.length; ++i) {\n args[i] = curr['arguments'][i];\n }\n if (/function(?:\\s+([\\w$]+))+\\s*\\(/.test(curr.toString())) {\n stack.push(new StackFrame({\n functionName: RegExp.$1 || undefined,\n args: args\n }));\n } else {\n stack.push(new StackFrame({\n args: args\n }));\n }\n try {\n curr = curr.caller;\n } catch (e) {\n break;\n }\n }\n return stack;\n }\n };\n });\n var _$errorStackParser_6 = {};\n (function (root, factory) {\n 'use strict';\n\n // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, Rhino, and browsers.\n\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n define('error-stack-parser', ['stackframe'], factory);\n } else if (typeof _$errorStackParser_6 === 'object') {\n _$errorStackParser_6 = factory(_$stackframe_9);\n } else {\n root.ErrorStackParser = factory(root.StackFrame);\n }\n })(this, function ErrorStackParser(StackFrame) {\n 'use strict';\n\n var FIREFOX_SAFARI_STACK_REGEXP = /(^|@)\\S+:\\d+/;\n var CHROME_IE_STACK_REGEXP = /^\\s*at .*(\\S+:\\d+|\\(native\\))/m;\n var SAFARI_NATIVE_CODE_REGEXP = /^(eval@)?(\\[native code])?$/;\n return {\n /**\n * Given an Error object, extract the most information from it.\n *\n * @param {Error} error object\n * @return {Array} of StackFrames\n */\n parse: function ErrorStackParser$$parse(error) {\n if (typeof error.stacktrace !== 'undefined' || typeof error['opera#sourceloc'] !== 'undefined') {\n return this.parseOpera(error);\n } else if (error.stack && error.stack.match(CHROME_IE_STACK_REGEXP)) {\n return this.parseV8OrIE(error);\n } else if (error.stack) {\n return this.parseFFOrSafari(error);\n } else {\n throw new Error('Cannot parse given Error object');\n }\n },\n // Separate line and column numbers from a string of the form: (URI:Line:Column)\n extractLocation: function ErrorStackParser$$extractLocation(urlLike) {\n // Fail-fast but return locations like \"(native)\"\n if (urlLike.indexOf(':') === -1) {\n return [urlLike];\n }\n var regExp = /(.+?)(?::(\\d+))?(?::(\\d+))?$/;\n var parts = regExp.exec(urlLike.replace(/[()]/g, ''));\n return [parts[1], parts[2] || undefined, parts[3] || undefined];\n },\n parseV8OrIE: function ErrorStackParser$$parseV8OrIE(error) {\n var filtered = error.stack.split('\\n').filter(function (line) {\n return !!line.match(CHROME_IE_STACK_REGEXP);\n }, this);\n return filtered.map(function (line) {\n if (line.indexOf('(eval ') > -1) {\n // Throw away eval information until we implement stacktrace.js/stackframe#8\n line = line.replace(/eval code/g, 'eval').replace(/(\\(eval at [^()]*)|(\\),.*$)/g, '');\n }\n var sanitizedLine = line.replace(/^\\s+/, '').replace(/\\(eval code/g, '(');\n\n // capture and preseve the parenthesized location \"(/foo/my bar.js:12:87)\" in\n // case it has spaces in it, as the string is split on \\s+ later on\n var location = sanitizedLine.match(/ (\\((.+):(\\d+):(\\d+)\\)$)/);\n\n // remove the parenthesized location from the line, if it was matched\n sanitizedLine = location ? sanitizedLine.replace(location[0], '') : sanitizedLine;\n var tokens = sanitizedLine.split(/\\s+/).slice(1);\n // if a location was matched, pass it to extractLocation() otherwise pop the last token\n var locationParts = this.extractLocation(location ? location[1] : tokens.pop());\n var functionName = tokens.join(' ') || undefined;\n var fileName = ['eval', ''].indexOf(locationParts[0]) > -1 ? undefined : locationParts[0];\n return new StackFrame({\n functionName: functionName,\n fileName: fileName,\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }, this);\n },\n parseFFOrSafari: function ErrorStackParser$$parseFFOrSafari(error) {\n var filtered = error.stack.split('\\n').filter(function (line) {\n return !line.match(SAFARI_NATIVE_CODE_REGEXP);\n }, this);\n return filtered.map(function (line) {\n // Throw away eval information until we implement stacktrace.js/stackframe#8\n if (line.indexOf(' > eval') > -1) {\n line = line.replace(/ line (\\d+)(?: > eval line \\d+)* > eval:\\d+:\\d+/g, ':$1');\n }\n if (line.indexOf('@') === -1 && line.indexOf(':') === -1) {\n // Safari eval frames only have function names and nothing else\n return new StackFrame({\n functionName: line\n });\n } else {\n var functionNameRegex = /((.*\".+\"[^@]*)?[^@]*)(?:@)/;\n var matches = line.match(functionNameRegex);\n var functionName = matches && matches[1] ? matches[1] : undefined;\n var locationParts = this.extractLocation(line.replace(functionNameRegex, ''));\n return new StackFrame({\n functionName: functionName,\n fileName: locationParts[0],\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }\n }, this);\n },\n parseOpera: function ErrorStackParser$$parseOpera(e) {\n if (!e.stacktrace || e.message.indexOf('\\n') > -1 && e.message.split('\\n').length > e.stacktrace.split('\\n').length) {\n return this.parseOpera9(e);\n } else if (!e.stack) {\n return this.parseOpera10(e);\n } else {\n return this.parseOpera11(e);\n }\n },\n parseOpera9: function ErrorStackParser$$parseOpera9(e) {\n var lineRE = /Line (\\d+).*script (?:in )?(\\S+)/i;\n var lines = e.message.split('\\n');\n var result = [];\n for (var i = 2, len = lines.length; i < len; i += 2) {\n var match = lineRE.exec(lines[i]);\n if (match) {\n result.push(new StackFrame({\n fileName: match[2],\n lineNumber: match[1],\n source: lines[i]\n }));\n }\n }\n return result;\n },\n parseOpera10: function ErrorStackParser$$parseOpera10(e) {\n var lineRE = /Line (\\d+).*script (?:in )?(\\S+)(?:: In function (\\S+))?$/i;\n var lines = e.stacktrace.split('\\n');\n var result = [];\n for (var i = 0, len = lines.length; i < len; i += 2) {\n var match = lineRE.exec(lines[i]);\n if (match) {\n result.push(new StackFrame({\n functionName: match[3] || undefined,\n fileName: match[2],\n lineNumber: match[1],\n source: lines[i]\n }));\n }\n }\n return result;\n },\n // Opera 10.65+ Error.stack very similar to FF/Safari\n parseOpera11: function ErrorStackParser$$parseOpera11(error) {\n var filtered = error.stack.split('\\n').filter(function (line) {\n return !!line.match(FIREFOX_SAFARI_STACK_REGEXP) && !line.match(/^Error created at/);\n }, this);\n return filtered.map(function (line) {\n var tokens = line.split('@');\n var locationParts = this.extractLocation(tokens.pop());\n var functionCall = tokens.shift() || '';\n var functionName = functionCall.replace(//, '$2').replace(/\\([^)]*\\)/g, '') || undefined;\n var argsRaw;\n if (functionCall.match(/\\(([^)]*)\\)/)) {\n argsRaw = functionCall.replace(/^[^(]+\\(([^)]*)\\)$/, '$1');\n }\n var args = argsRaw === undefined || argsRaw === '[arguments not available]' ? undefined : argsRaw.split(',');\n return new StackFrame({\n functionName: functionName,\n args: args,\n fileName: locationParts[0],\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }, this);\n }\n };\n });\n var _$errorStackParser_19 = _$errorStackParser_6;\n var _$safeJsonStringify_5 = function (data, replacer, space, opts) {\n var redactedKeys = opts && opts.redactedKeys ? opts.redactedKeys : [];\n var redactedPaths = opts && opts.redactedPaths ? opts.redactedPaths : [];\n return JSON.stringify(prepareObjForSerialization(data, redactedKeys, redactedPaths), replacer, space);\n };\n var MAX_DEPTH = 20;\n var MAX_EDGES = 25000;\n var MIN_PRESERVED_DEPTH = 8;\n var REPLACEMENT_NODE = '...';\n function isError(o) {\n return o instanceof Error || /^\\[object (Error|(Dom)?Exception)\\]$/.test(Object.prototype.toString.call(o));\n }\n function throwsMessage(err) {\n return '[Throws: ' + (err ? err.message : '?') + ']';\n }\n function find(haystack, needle) {\n for (var i = 0, len = haystack.length; i < len; i++) {\n if (haystack[i] === needle) return true;\n }\n return false;\n }\n\n // returns true if the string `path` starts with any of the provided `paths`\n function isDescendent(paths, path) {\n for (var i = 0, len = paths.length; i < len; i++) {\n if (path.indexOf(paths[i]) === 0) return true;\n }\n return false;\n }\n function shouldRedact(patterns, key) {\n for (var i = 0, len = patterns.length; i < len; i++) {\n if (typeof patterns[i] === 'string' && patterns[i].toLowerCase() === key.toLowerCase()) return true;\n if (patterns[i] && typeof patterns[i].test === 'function' && patterns[i].test(key)) return true;\n }\n return false;\n }\n function __isArray_5(obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n }\n function safelyGetProp(obj, prop) {\n try {\n return obj[prop];\n } catch (err) {\n return throwsMessage(err);\n }\n }\n function prepareObjForSerialization(obj, redactedKeys, redactedPaths) {\n var seen = []; // store references to objects we have seen before\n var edges = 0;\n function visit(obj, path) {\n function edgesExceeded() {\n return path.length > MIN_PRESERVED_DEPTH && edges > MAX_EDGES;\n }\n edges++;\n if (path.length > MAX_DEPTH) return REPLACEMENT_NODE;\n if (edgesExceeded()) return REPLACEMENT_NODE;\n if (obj === null || typeof obj !== 'object') return obj;\n if (find(seen, obj)) return '[Circular]';\n seen.push(obj);\n if (typeof obj.toJSON === 'function') {\n try {\n // we're not going to count this as an edge because it\n // replaces the value of the currently visited object\n edges--;\n var fResult = visit(obj.toJSON(), path);\n seen.pop();\n return fResult;\n } catch (err) {\n return throwsMessage(err);\n }\n }\n var er = isError(obj);\n if (er) {\n edges--;\n var eResult = visit({\n name: obj.name,\n message: obj.message\n }, path);\n seen.pop();\n return eResult;\n }\n if (__isArray_5(obj)) {\n var aResult = [];\n for (var i = 0, len = obj.length; i < len; i++) {\n if (edgesExceeded()) {\n aResult.push(REPLACEMENT_NODE);\n break;\n }\n aResult.push(visit(obj[i], path.concat('[]')));\n }\n seen.pop();\n return aResult;\n }\n var result = {};\n try {\n for (var prop in obj) {\n if (!Object.prototype.hasOwnProperty.call(obj, prop)) continue;\n if (isDescendent(redactedPaths, path.join('.')) && shouldRedact(redactedKeys, prop)) {\n result[prop] = '[REDACTED]';\n continue;\n }\n if (edgesExceeded()) {\n result[prop] = REPLACEMENT_NODE;\n break;\n }\n result[prop] = visit(safelyGetProp(obj, prop), path.concat(prop));\n }\n } catch (e) {}\n seen.pop();\n return result;\n }\n return visit(obj, []);\n }\n\n /* removed: var _$map_25 = require('./es-utils/map'); */\n ;\n /* removed: var _$filter_21 = require('./es-utils/filter'); */\n ;\n /* removed: var _$isArray_23 = require('./es-utils/is-array'); */\n ;\n /* removed: var _$safeJsonStringify_5 = require('@bugsnag/safe-json-stringify'); */\n ;\n function add(existingFeatures, existingFeatureKeys, name, variant) {\n if (typeof name !== 'string') {\n return;\n }\n if (variant === undefined) {\n variant = null;\n } else if (variant !== null && typeof variant !== 'string') {\n variant = _$safeJsonStringify_5(variant);\n }\n var existingIndex = existingFeatureKeys[name];\n if (typeof existingIndex === 'number') {\n existingFeatures[existingIndex] = {\n name: name,\n variant: variant\n };\n return;\n }\n existingFeatures.push({\n name: name,\n variant: variant\n });\n existingFeatureKeys[name] = existingFeatures.length - 1;\n }\n function merge(existingFeatures, newFeatures, existingFeatureKeys) {\n if (!_$isArray_23(newFeatures)) {\n return;\n }\n for (var i = 0; i < newFeatures.length; ++i) {\n var feature = newFeatures[i];\n if (feature === null || typeof feature !== 'object') {\n continue;\n }\n\n // 'add' will handle if 'name' doesn't exist & 'variant' is optional\n add(existingFeatures, existingFeatureKeys, feature.name, feature.variant);\n }\n return existingFeatures;\n }\n\n // convert feature flags from a map of 'name -> variant' into the format required\n // by the Bugsnag Event API:\n // [{ featureFlag: 'name', variant: 'variant' }, { featureFlag: 'name 2' }]\n function toEventApi(featureFlags) {\n return _$map_25(_$filter_21(featureFlags, Boolean), function (_ref) {\n var name = _ref.name,\n variant = _ref.variant;\n var flag = {\n featureFlag: name\n };\n\n // don't add a 'variant' property unless there's actually a value\n if (typeof variant === 'string') {\n flag.variant = variant;\n }\n return flag;\n });\n }\n function clear(features, featuresIndex, name) {\n var existingIndex = featuresIndex[name];\n if (typeof existingIndex === 'number') {\n features[existingIndex] = null;\n delete featuresIndex[name];\n }\n }\n var _$featureFlagDelegate_27 = {\n add: add,\n clear: clear,\n merge: merge,\n toEventApi: toEventApi\n };\n\n // Given `err` which may be an error, does it have a stack property which is a string?\n var _$hasStack_28 = function (err) {\n return !!err && (!!err.stack || !!err.stacktrace || !!err['opera#sourceloc']) && typeof (err.stack || err.stacktrace || err['opera#sourceloc']) === 'string' && err.stack !== err.name + \": \" + err.message;\n };\n\n /**\n * Expose `isError`.\n */\n\n var _$isError_7 = __isError_7;\n\n /**\n * Test whether `value` is error object.\n *\n * @param {*} value\n * @returns {boolean}\n */\n\n function __isError_7(value) {\n switch (Object.prototype.toString.call(value)) {\n case '[object Error]':\n return true;\n case '[object Exception]':\n return true;\n case '[object DOMException]':\n return true;\n default:\n return value instanceof Error;\n }\n }\n var _$iserror_29 = _$isError_7;\n\n /* removed: var _$assign_20 = require('./es-utils/assign'); */\n ;\n var __add_31 = function (state, section, keyOrObj, maybeVal) {\n var _updates;\n if (!section) return;\n var updates;\n\n // addMetadata(\"section\", null) -> clears section\n if (keyOrObj === null) return __clear_31(state, section);\n\n // normalise the two supported input types into object form\n if (typeof keyOrObj === 'object') updates = keyOrObj;\n if (typeof keyOrObj === 'string') updates = (_updates = {}, _updates[keyOrObj] = maybeVal, _updates);\n\n // exit if we don't have an updates object at this point\n if (!updates) return;\n\n // preventing the __proto__ property from being used as a key\n if (section === '__proto__' || section === 'constructor' || section === 'prototype') {\n return;\n }\n\n // ensure a section with this name exists\n if (!state[section]) state[section] = {};\n\n // merge the updates with the existing section\n state[section] = _$assign_20({}, state[section], updates);\n };\n var get = function (state, section, key) {\n if (typeof section !== 'string') return undefined;\n if (!key) {\n return state[section];\n }\n if (state[section]) {\n return state[section][key];\n }\n return undefined;\n };\n var __clear_31 = function (state, section, key) {\n if (typeof section !== 'string') return;\n\n // clear an entire section\n if (!key) {\n delete state[section];\n return;\n }\n\n // preventing the __proto__ property from being used as a key\n if (section === '__proto__' || section === 'constructor' || section === 'prototype') {\n return;\n }\n\n // clear a single value from a section\n if (state[section]) {\n delete state[section][key];\n }\n };\n var _$metadataDelegate_31 = {\n add: __add_31,\n get: get,\n clear: __clear_31\n };\n function ___extends_15() {\n ___extends_15 = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return ___extends_15.apply(this, arguments);\n }\n /* removed: var _$errorStackParser_19 = require('./lib/error-stack-parser'); */\n ;\n /* removed: var _$stackGenerator_8 = require('stack-generator'); */\n ;\n /* removed: var _$hasStack_28 = require('./lib/has-stack'); */\n ;\n /* removed: var _$map_25 = require('./lib/es-utils/map'); */\n ;\n /* removed: var _$reduce_26 = require('./lib/es-utils/reduce'); */\n ;\n /* removed: var _$filter_21 = require('./lib/es-utils/filter'); */\n ;\n /* removed: var _$assign_20 = require('./lib/es-utils/assign'); */\n ;\n /* removed: var _$metadataDelegate_31 = require('./lib/metadata-delegate'); */\n ;\n /* removed: var _$featureFlagDelegate_27 = require('./lib/feature-flag-delegate'); */\n ;\n /* removed: var _$iserror_29 = require('./lib/iserror'); */\n ;\n var Event = /*#__PURE__*/function () {\n function Event(errorClass, errorMessage, stacktrace, handledState, originalError) {\n if (stacktrace === void 0) {\n stacktrace = [];\n }\n if (handledState === void 0) {\n handledState = defaultHandledState();\n }\n this.apiKey = undefined;\n this.context = undefined;\n this.groupingHash = undefined;\n this.originalError = originalError;\n this._handledState = handledState;\n this.severity = this._handledState.severity;\n this.unhandled = this._handledState.unhandled;\n this.app = {};\n this.device = {};\n this.request = {};\n this.breadcrumbs = [];\n this.threads = [];\n this._metadata = {};\n this._features = [];\n this._featuresIndex = {};\n this._user = {};\n this._session = undefined;\n this._correlation = undefined;\n this.errors = [createBugsnagError(errorClass, errorMessage, Event.__type, stacktrace)];\n\n // Flags.\n // Note these are not initialised unless they are used\n // to save unnecessary bytes in the browser bundle\n\n /* this.attemptImmediateDelivery, default: true */\n }\n var _proto = Event.prototype;\n _proto.addMetadata = function addMetadata(section, keyOrObj, maybeVal) {\n return _$metadataDelegate_31.add(this._metadata, section, keyOrObj, maybeVal);\n }\n\n /**\n * Associate this event with a specific trace. This is usually done automatically when\n * using bugsnag-js-performance, but can also be set manually if required.\n *\n * @param traceId the ID of the trace the event occurred within\n * @param spanId the ID of the span that the event occurred within\n */;\n _proto.setTraceCorrelation = function setTraceCorrelation(traceId, spanId) {\n if (typeof traceId === 'string') {\n this._correlation = ___extends_15({\n traceId: traceId\n }, typeof spanId === 'string' ? {\n spanId: spanId\n } : {});\n }\n };\n _proto.getMetadata = function getMetadata(section, key) {\n return _$metadataDelegate_31.get(this._metadata, section, key);\n };\n _proto.clearMetadata = function clearMetadata(section, key) {\n return _$metadataDelegate_31.clear(this._metadata, section, key);\n };\n _proto.addFeatureFlag = function addFeatureFlag(name, variant) {\n if (variant === void 0) {\n variant = null;\n }\n _$featureFlagDelegate_27.add(this._features, this._featuresIndex, name, variant);\n };\n _proto.addFeatureFlags = function addFeatureFlags(featureFlags) {\n _$featureFlagDelegate_27.merge(this._features, featureFlags, this._featuresIndex);\n };\n _proto.getFeatureFlags = function getFeatureFlags() {\n return _$featureFlagDelegate_27.toEventApi(this._features);\n };\n _proto.clearFeatureFlag = function clearFeatureFlag(name) {\n _$featureFlagDelegate_27.clear(this._features, this._featuresIndex, name);\n };\n _proto.clearFeatureFlags = function clearFeatureFlags() {\n this._features = [];\n this._featuresIndex = {};\n };\n _proto.getUser = function getUser() {\n return this._user;\n };\n _proto.setUser = function setUser(id, email, name) {\n this._user = {\n id: id,\n email: email,\n name: name\n };\n };\n _proto.toJSON = function toJSON() {\n return {\n payloadVersion: '4',\n exceptions: _$map_25(this.errors, function (er) {\n return _$assign_20({}, er, {\n message: er.errorMessage\n });\n }),\n severity: this.severity,\n unhandled: this._handledState.unhandled,\n severityReason: this._handledState.severityReason,\n app: this.app,\n device: this.device,\n request: this.request,\n breadcrumbs: this.breadcrumbs,\n context: this.context,\n groupingHash: this.groupingHash,\n metaData: this._metadata,\n user: this._user,\n session: this._session,\n featureFlags: this.getFeatureFlags(),\n correlation: this._correlation\n };\n };\n return Event;\n }(); // takes a stacktrace.js style stackframe (https://github.com/stacktracejs/stackframe)\n // and returns a Bugsnag compatible stackframe (https://docs.bugsnag.com/api/error-reporting/#json-payload)\n var formatStackframe = function (frame) {\n var f = {\n file: frame.fileName,\n method: normaliseFunctionName(frame.functionName),\n lineNumber: frame.lineNumber,\n columnNumber: frame.columnNumber,\n code: undefined,\n inProject: undefined\n };\n // Some instances result in no file:\n // - calling notify() from chrome's terminal results in no file/method.\n // - non-error exception thrown from global code in FF\n // This adds one.\n if (f.lineNumber > -1 && !f.file && !f.method) {\n f.file = 'global code';\n }\n return f;\n };\n var normaliseFunctionName = function (name) {\n return /^global code$/i.test(name) ? 'global code' : name;\n };\n var defaultHandledState = function () {\n return {\n unhandled: false,\n severity: 'warning',\n severityReason: {\n type: 'handledException'\n }\n };\n };\n var ensureString = function (str) {\n return typeof str === 'string' ? str : '';\n };\n function createBugsnagError(errorClass, errorMessage, type, stacktrace) {\n return {\n errorClass: ensureString(errorClass),\n errorMessage: ensureString(errorMessage),\n type: type,\n stacktrace: _$reduce_26(stacktrace, function (accum, frame) {\n var f = formatStackframe(frame);\n // don't include a stackframe if none of its properties are defined\n try {\n if (JSON.stringify(f) === '{}') return accum;\n return accum.concat(f);\n } catch (e) {\n return accum;\n }\n }, [])\n };\n }\n function getCauseStack(error) {\n if (error.cause) {\n return [error].concat(getCauseStack(error.cause));\n } else {\n return [error];\n }\n }\n\n // Helpers\n\n Event.getStacktrace = function (error, errorFramesToSkip, backtraceFramesToSkip) {\n if (_$hasStack_28(error)) return _$errorStackParser_19.parse(error).slice(errorFramesToSkip);\n // error wasn't provided or didn't have a stacktrace so try to walk the callstack\n try {\n return _$filter_21(_$stackGenerator_8.backtrace(), function (frame) {\n return (frame.functionName || '').indexOf('StackGenerator$$') === -1;\n }).slice(1 + backtraceFramesToSkip);\n } catch (e) {\n return [];\n }\n };\n Event.create = function (maybeError, tolerateNonErrors, handledState, component, errorFramesToSkip, logger) {\n if (errorFramesToSkip === void 0) {\n errorFramesToSkip = 0;\n }\n var _normaliseError = normaliseError(maybeError, tolerateNonErrors, component, logger),\n error = _normaliseError[0],\n internalFrames = _normaliseError[1];\n var event;\n try {\n var stacktrace = Event.getStacktrace(error,\n // if an error was created/throw in the normaliseError() function, we need to\n // tell the getStacktrace() function to skip the number of frames we know will\n // be from our own functions. This is added to the number of frames deep we\n // were told about\n internalFrames > 0 ? 1 + internalFrames + errorFramesToSkip : 0,\n // if there's no stacktrace, the callstack may be walked to generated one.\n // this is how many frames should be removed because they come from our library\n 1 + errorFramesToSkip);\n event = new Event(error.name, error.message, stacktrace, handledState, maybeError);\n } catch (e) {\n event = new Event(error.name, error.message, [], handledState, maybeError);\n }\n if (error.name === 'InvalidError') {\n event.addMetadata(\"\" + component, 'non-error parameter', makeSerialisable(maybeError));\n }\n if (error.cause) {\n var _event$errors;\n var causes = getCauseStack(error).slice(1);\n var normalisedCauses = _$map_25(causes, function (cause) {\n // Only get stacktrace for error causes that are a valid JS Error and already have a stack\n var stacktrace = _$iserror_29(cause) && _$hasStack_28(cause) ? _$errorStackParser_19.parse(cause) : [];\n var _normaliseError2 = normaliseError(cause, true, 'error cause'),\n error = _normaliseError2[0];\n if (error.name === 'InvalidError') event.addMetadata('error cause', makeSerialisable(cause));\n return createBugsnagError(error.name, error.message, Event.__type, stacktrace);\n });\n (_event$errors = event.errors).push.apply(_event$errors, normalisedCauses);\n }\n return event;\n };\n var makeSerialisable = function (err) {\n if (err === null) return 'null';\n if (err === undefined) return 'undefined';\n return err;\n };\n var normaliseError = function (maybeError, tolerateNonErrors, component, logger) {\n var error;\n var internalFrames = 0;\n var createAndLogInputError = function (reason) {\n var verb = component === 'error cause' ? 'was' : 'received';\n if (logger) logger.warn(component + \" \" + verb + \" a non-error: \\\"\" + reason + \"\\\"\");\n var err = new Error(component + \" \" + verb + \" a non-error. See \\\"\" + component + \"\\\" tab for more detail.\");\n err.name = 'InvalidError';\n return err;\n };\n\n // In some cases:\n //\n // - the promise rejection handler (both in the browser and node)\n // - the node uncaughtException handler\n //\n // We are really limited in what we can do to get a stacktrace. So we use the\n // tolerateNonErrors option to ensure that the resulting error communicates as\n // such.\n if (!tolerateNonErrors) {\n if (_$iserror_29(maybeError)) {\n error = maybeError;\n } else {\n error = createAndLogInputError(typeof maybeError);\n internalFrames += 2;\n }\n } else {\n switch (typeof maybeError) {\n case 'string':\n case 'number':\n case 'boolean':\n error = new Error(String(maybeError));\n internalFrames += 1;\n break;\n case 'function':\n error = createAndLogInputError('function');\n internalFrames += 2;\n break;\n case 'object':\n if (maybeError !== null && _$iserror_29(maybeError)) {\n error = maybeError;\n } else if (maybeError !== null && hasNecessaryFields(maybeError)) {\n error = new Error(maybeError.message || maybeError.errorMessage);\n error.name = maybeError.name || maybeError.errorClass;\n internalFrames += 1;\n } else {\n error = createAndLogInputError(maybeError === null ? 'null' : 'unsupported object');\n internalFrames += 2;\n }\n break;\n default:\n error = createAndLogInputError('nothing');\n internalFrames += 2;\n }\n }\n if (!_$hasStack_28(error)) {\n // in IE10/11 a new Error() doesn't have a stacktrace until you throw it, so try that here\n try {\n throw error;\n } catch (e) {\n if (_$hasStack_28(e)) {\n error = e;\n // if the error only got a stacktrace after we threw it here, we know it\n // will only have one extra internal frame from this function, regardless\n // of whether it went through createAndLogInputError() or not\n internalFrames = 1;\n }\n }\n }\n return [error, internalFrames];\n };\n\n // default value for stacktrace.type\n Event.__type = 'browserjs';\n var hasNecessaryFields = function (error) {\n return (typeof error.name === 'string' || typeof error.errorClass === 'string') && (typeof error.message === 'string' || typeof error.errorMessage === 'string');\n };\n var _$Event_15 = Event;\n\n // This is a heavily modified/simplified version of\n // https://github.com/othiym23/async-some\n // with the logic flipped so that it is akin to the\n // synchronous \"every\" method instead of \"some\".\n\n // run the asynchronous test function (fn) over each item in the array (arr)\n // in series until:\n // - fn(item, cb) => calls cb(null, false)\n // - or the end of the array is reached\n // the callback (cb) will be passed (null, false) if any of the items in arr\n // caused fn to call back with false, otherwise it will be passed (null, true)\n var _$asyncEvery_16 = function (arr, fn, cb) {\n var index = 0;\n var next = function () {\n if (index >= arr.length) return cb(null, true);\n fn(arr[index], function (err, result) {\n if (err) return cb(err);\n if (result === false) return cb(null, false);\n index++;\n next();\n });\n };\n next();\n };\n\n /* removed: var _$asyncEvery_16 = require('./async-every'); */\n ;\n var _$callbackRunner_18 = function (callbacks, event, onCallbackError, cb) {\n // This function is how we support different kinds of callback:\n // - synchronous - return value\n // - node-style async with callback - cb(err, value)\n // - promise/thenable - resolve(value)\n // It normalises each of these into the lowest common denominator – a node-style callback\n var runMaybeAsyncCallback = function (fn, cb) {\n if (typeof fn !== 'function') return cb(null);\n try {\n // if function appears sync…\n if (fn.length !== 2) {\n var ret = fn(event);\n // check if it returned a \"thenable\" (promise)\n if (ret && typeof ret.then === 'function') {\n return ret.then(\n // resolve\n function (val) {\n return setTimeout(function () {\n return cb(null, val);\n });\n },\n // reject\n function (err) {\n setTimeout(function () {\n onCallbackError(err);\n return cb(null, true);\n });\n });\n }\n return cb(null, ret);\n }\n // if function is async…\n fn(event, function (err, result) {\n if (err) {\n onCallbackError(err);\n return cb(null);\n }\n cb(null, result);\n });\n } catch (e) {\n onCallbackError(e);\n cb(null);\n }\n };\n _$asyncEvery_16(callbacks, runMaybeAsyncCallback, cb);\n };\n var _$syncCallbackRunner_32 = function (callbacks, callbackArg, callbackType, logger) {\n var ignore = false;\n var cbs = callbacks.slice();\n while (!ignore) {\n if (!cbs.length) break;\n try {\n ignore = cbs.pop()(callbackArg) === false;\n } catch (e) {\n logger.error(\"Error occurred in \" + callbackType + \" callback, continuing anyway\\u2026\");\n logger.error(e);\n }\n }\n return ignore;\n };\n var _$pad_4 = function pad(num, size) {\n var s = '000000000' + num;\n return s.substr(s.length - size);\n };\n\n /* removed: var _$pad_4 = require('./pad.js'); */\n ;\n var env = typeof window === 'object' ? window : self;\n var globalCount = 0;\n for (var prop in env) {\n if (Object.hasOwnProperty.call(env, prop)) globalCount++;\n }\n var mimeTypesLength = navigator.mimeTypes ? navigator.mimeTypes.length : 0;\n var clientId = _$pad_4((mimeTypesLength + navigator.userAgent.length).toString(36) + globalCount.toString(36), 4);\n var _$fingerprint_2 = function fingerprint() {\n return clientId;\n };\n\n /**\n * Check the provided value is a valid device id\n * @param {unknown} value\n * @returns\n */\n var _$isCuid_3 = function isCuid(value) {\n return typeof value === 'string' && /^c[a-z0-9]{20,32}$/.test(value);\n };\n\n /**\n * cuid.js\n * Collision-resistant UID generator for browsers and node.\n * Sequential for fast db lookups and recency sorting.\n * Safe for element IDs and server-side lookups.\n *\n * Extracted from CLCTR\n *\n * Copyright (c) Eric Elliott 2012\n * MIT License\n */\n\n /* removed: var _$fingerprint_2 = require('./lib/fingerprint.js'); */\n ;\n /* removed: var _$isCuid_3 = require('./lib/is-cuid.js'); */\n ;\n /* removed: var _$pad_4 = require('./lib/pad.js'); */\n ;\n var c = 0,\n blockSize = 4,\n base = 36,\n discreteValues = Math.pow(base, blockSize);\n function randomBlock() {\n return _$pad_4((Math.random() * discreteValues << 0).toString(base), blockSize);\n }\n function safeCounter() {\n c = c < discreteValues ? c : 0;\n c++; // this is not subliminal\n return c - 1;\n }\n function cuid() {\n // Starting with a lowercase letter makes\n // it HTML element ID friendly.\n var letter = 'c',\n // hard-coded allows for sequential access\n\n // timestamp\n // warning: this exposes the exact date and time\n // that the uid was created.\n timestamp = new Date().getTime().toString(base),\n // Prevent same-machine collisions.\n counter = _$pad_4(safeCounter().toString(base), blockSize),\n // A few chars to generate distinct ids for different\n // clients (so different computers are far less\n // likely to generate the same id)\n print = _$fingerprint_2(),\n // Grab some more chars from Math.random()\n random = randomBlock() + randomBlock();\n return letter + timestamp + counter + print + random;\n }\n cuid.fingerprint = _$fingerprint_2;\n cuid.isCuid = _$isCuid_3;\n var _$cuid_1 = cuid;\n\n /* removed: var _$cuid_1 = require('@bugsnag/cuid'); */\n ;\n var Session = /*#__PURE__*/function () {\n function Session() {\n this.id = _$cuid_1();\n this.startedAt = new Date();\n this._handled = 0;\n this._unhandled = 0;\n this._user = {};\n this.app = {};\n this.device = {};\n }\n var _proto = Session.prototype;\n _proto.getUser = function getUser() {\n return this._user;\n };\n _proto.setUser = function setUser(id, email, name) {\n this._user = {\n id: id,\n email: email,\n name: name\n };\n };\n _proto.toJSON = function toJSON() {\n return {\n id: this.id,\n startedAt: this.startedAt,\n events: {\n handled: this._handled,\n unhandled: this._unhandled\n }\n };\n };\n _proto._track = function _track(event) {\n this[event._handledState.unhandled ? '_unhandled' : '_handled'] += 1;\n };\n return Session;\n }();\n var _$Session_36 = Session;\n\n /* removed: var _$config_14 = require('./config'); */\n ;\n /* removed: var _$Event_15 = require('./event'); */\n ;\n /* removed: var _$Breadcrumb_12 = require('./breadcrumb'); */\n ;\n /* removed: var _$Session_36 = require('./session'); */\n ;\n /* removed: var _$map_25 = require('./lib/es-utils/map'); */\n ;\n /* removed: var _$includes_22 = require('./lib/es-utils/includes'); */\n ;\n /* removed: var _$filter_21 = require('./lib/es-utils/filter'); */\n ;\n /* removed: var _$reduce_26 = require('./lib/es-utils/reduce'); */\n ;\n /* removed: var _$keys_24 = require('./lib/es-utils/keys'); */\n ;\n /* removed: var _$assign_20 = require('./lib/es-utils/assign'); */\n ;\n /* removed: var _$callbackRunner_18 = require('./lib/callback-runner'); */\n ;\n /* removed: var _$metadataDelegate_31 = require('./lib/metadata-delegate'); */\n ;\n /* removed: var _$syncCallbackRunner_32 = require('./lib/sync-callback-runner'); */\n ;\n /* removed: var _$breadcrumbTypes_17 = require('./lib/breadcrumb-types'); */\n ;\n var __add_13 = _$featureFlagDelegate_27.add,\n __clear_13 = _$featureFlagDelegate_27.clear,\n __merge_13 = _$featureFlagDelegate_27.merge;\n var noop = function () {};\n var Client = /*#__PURE__*/function () {\n function Client(configuration, schema, internalPlugins, notifier) {\n var _this = this;\n if (schema === void 0) {\n schema = _$config_14.schema;\n }\n if (internalPlugins === void 0) {\n internalPlugins = [];\n }\n // notifier id\n this._notifier = notifier;\n\n // intialise opts and config\n this._config = {};\n this._schema = schema;\n\n // i/o\n this._delivery = {\n sendSession: noop,\n sendEvent: noop\n };\n this._logger = {\n debug: noop,\n info: noop,\n warn: noop,\n error: noop\n };\n\n // plugins\n this._plugins = {};\n\n // state\n this._breadcrumbs = [];\n this._session = null;\n this._metadata = {};\n this._featuresIndex = {};\n this._features = [];\n this._context = undefined;\n this._user = {};\n\n // callbacks:\n // e: onError\n // s: onSession\n // sp: onSessionPayload\n // b: onBreadcrumb\n // (note these names are minified by hand because object\n // properties are not safe to minify automatically)\n this._cbs = {\n e: [],\n s: [],\n sp: [],\n b: []\n };\n\n // expose internal constructors\n this.Client = Client;\n this.Event = _$Event_15;\n this.Breadcrumb = _$Breadcrumb_12;\n this.Session = _$Session_36;\n this._config = this._configure(configuration, internalPlugins);\n _$map_25(internalPlugins.concat(this._config.plugins), function (pl) {\n if (pl) _this._loadPlugin(pl);\n });\n\n // when notify() is called we need to know how many frames are from our own source\n // this inital value is 1 not 0 because we wrap notify() to ensure it is always\n // bound to have the client as its `this` value – see below.\n this._depth = 1;\n var self = this;\n var notify = this.notify;\n this.notify = function () {\n return notify.apply(self, arguments);\n };\n }\n var _proto = Client.prototype;\n _proto.addMetadata = function addMetadata(section, keyOrObj, maybeVal) {\n return _$metadataDelegate_31.add(this._metadata, section, keyOrObj, maybeVal);\n };\n _proto.getMetadata = function getMetadata(section, key) {\n return _$metadataDelegate_31.get(this._metadata, section, key);\n };\n _proto.clearMetadata = function clearMetadata(section, key) {\n return _$metadataDelegate_31.clear(this._metadata, section, key);\n };\n _proto.addFeatureFlag = function addFeatureFlag(name, variant) {\n if (variant === void 0) {\n variant = null;\n }\n __add_13(this._features, this._featuresIndex, name, variant);\n };\n _proto.addFeatureFlags = function addFeatureFlags(featureFlags) {\n __merge_13(this._features, featureFlags, this._featuresIndex);\n };\n _proto.clearFeatureFlag = function clearFeatureFlag(name) {\n __clear_13(this._features, this._featuresIndex, name);\n };\n _proto.clearFeatureFlags = function clearFeatureFlags() {\n this._features = [];\n this._featuresIndex = {};\n };\n _proto.getContext = function getContext() {\n return this._context;\n };\n _proto.setContext = function setContext(c) {\n this._context = c;\n };\n _proto._configure = function _configure(opts, internalPlugins) {\n var schema = _$reduce_26(internalPlugins, function (schema, plugin) {\n if (plugin && plugin.configSchema) return _$assign_20({}, schema, plugin.configSchema);\n return schema;\n }, this._schema);\n\n // sendPayloadChecksums is false by default unless custom endpoints are not specified\n if (!opts.endpoints) {\n opts.sendPayloadChecksums = 'sendPayloadChecksums' in opts ? opts.sendPayloadChecksums : true;\n }\n\n // accumulate configuration and error messages\n var _reduce = _$reduce_26(_$keys_24(schema), function (accum, key) {\n var defaultValue = schema[key].defaultValue(opts[key]);\n if (opts[key] !== undefined) {\n var valid = schema[key].validate(opts[key]);\n if (!valid) {\n accum.errors[key] = schema[key].message;\n accum.config[key] = defaultValue;\n } else {\n if (schema[key].allowPartialObject) {\n accum.config[key] = _$assign_20(defaultValue, opts[key]);\n } else {\n accum.config[key] = opts[key];\n }\n }\n } else {\n accum.config[key] = defaultValue;\n }\n return accum;\n }, {\n errors: {},\n config: {}\n }),\n errors = _reduce.errors,\n config = _reduce.config;\n if (schema.apiKey) {\n // missing api key is the only fatal error\n if (!config.apiKey) throw new Error('No Bugsnag API Key set');\n // warn about an apikey that is not of the expected format\n if (!/^[0-9a-f]{32}$/i.test(config.apiKey)) errors.apiKey = 'should be a string of 32 hexadecimal characters';\n }\n\n // update and elevate some options\n this._metadata = _$assign_20({}, config.metadata);\n __merge_13(this._features, config.featureFlags, this._featuresIndex);\n this._user = _$assign_20({}, config.user);\n this._context = config.context;\n if (config.logger) this._logger = config.logger;\n\n // add callbacks\n if (config.onError) this._cbs.e = this._cbs.e.concat(config.onError);\n if (config.onBreadcrumb) this._cbs.b = this._cbs.b.concat(config.onBreadcrumb);\n if (config.onSession) this._cbs.s = this._cbs.s.concat(config.onSession);\n\n // finally warn about any invalid config where we fell back to the default\n if (_$keys_24(errors).length) {\n this._logger.warn(generateConfigErrorMessage(errors, opts));\n }\n return config;\n };\n _proto.getUser = function getUser() {\n return this._user;\n };\n _proto.setUser = function setUser(id, email, name) {\n this._user = {\n id: id,\n email: email,\n name: name\n };\n };\n _proto._loadPlugin = function _loadPlugin(plugin) {\n var result = plugin.load(this);\n // JS objects are not the safest way to store arbitrarily keyed values,\n // so bookend the key with some characters that prevent tampering with\n // stuff like __proto__ etc. (only store the result if the plugin had a\n // name)\n if (plugin.name) this._plugins[\"~\" + plugin.name + \"~\"] = result;\n };\n _proto.getPlugin = function getPlugin(name) {\n return this._plugins[\"~\" + name + \"~\"];\n };\n _proto._setDelivery = function _setDelivery(d) {\n this._delivery = d(this);\n };\n _proto.startSession = function startSession() {\n var session = new _$Session_36();\n session.app.releaseStage = this._config.releaseStage;\n session.app.version = this._config.appVersion;\n session.app.type = this._config.appType;\n session._user = _$assign_20({}, this._user);\n\n // run onSession callbacks\n var ignore = _$syncCallbackRunner_32(this._cbs.s, session, 'onSession', this._logger);\n if (ignore) {\n this._logger.debug('Session not started due to onSession callback');\n return this;\n }\n return this._sessionDelegate.startSession(this, session);\n };\n _proto.addOnError = function addOnError(fn, front) {\n if (front === void 0) {\n front = false;\n }\n this._cbs.e[front ? 'unshift' : 'push'](fn);\n };\n _proto.removeOnError = function removeOnError(fn) {\n this._cbs.e = _$filter_21(this._cbs.e, function (f) {\n return f !== fn;\n });\n };\n _proto._addOnSessionPayload = function _addOnSessionPayload(fn) {\n this._cbs.sp.push(fn);\n };\n _proto.addOnSession = function addOnSession(fn) {\n this._cbs.s.push(fn);\n };\n _proto.removeOnSession = function removeOnSession(fn) {\n this._cbs.s = _$filter_21(this._cbs.s, function (f) {\n return f !== fn;\n });\n };\n _proto.addOnBreadcrumb = function addOnBreadcrumb(fn, front) {\n if (front === void 0) {\n front = false;\n }\n this._cbs.b[front ? 'unshift' : 'push'](fn);\n };\n _proto.removeOnBreadcrumb = function removeOnBreadcrumb(fn) {\n this._cbs.b = _$filter_21(this._cbs.b, function (f) {\n return f !== fn;\n });\n };\n _proto.pauseSession = function pauseSession() {\n return this._sessionDelegate.pauseSession(this);\n };\n _proto.resumeSession = function resumeSession() {\n return this._sessionDelegate.resumeSession(this);\n };\n _proto.leaveBreadcrumb = function leaveBreadcrumb(message, metadata, type) {\n // coerce bad values so that the defaults get set\n message = typeof message === 'string' ? message : '';\n type = typeof type === 'string' && _$includes_22(_$breadcrumbTypes_17, type) ? type : 'manual';\n metadata = typeof metadata === 'object' && metadata !== null ? metadata : {};\n\n // if no message, discard\n if (!message) return;\n var crumb = new _$Breadcrumb_12(message, metadata, type);\n\n // run onBreadcrumb callbacks\n var ignore = _$syncCallbackRunner_32(this._cbs.b, crumb, 'onBreadcrumb', this._logger);\n if (ignore) {\n this._logger.debug('Breadcrumb not attached due to onBreadcrumb callback');\n return;\n }\n\n // push the valid crumb onto the queue and maintain the length\n this._breadcrumbs.push(crumb);\n if (this._breadcrumbs.length > this._config.maxBreadcrumbs) {\n this._breadcrumbs = this._breadcrumbs.slice(this._breadcrumbs.length - this._config.maxBreadcrumbs);\n }\n };\n _proto._isBreadcrumbTypeEnabled = function _isBreadcrumbTypeEnabled(type) {\n var types = this._config.enabledBreadcrumbTypes;\n return types === null || _$includes_22(types, type);\n };\n _proto.notify = function notify(maybeError, onError, postReportCallback) {\n if (postReportCallback === void 0) {\n postReportCallback = noop;\n }\n var event = _$Event_15.create(maybeError, true, undefined, 'notify()', this._depth + 1, this._logger);\n this._notify(event, onError, postReportCallback);\n };\n _proto._notify = function _notify(event, onError, postReportCallback) {\n var _this2 = this;\n if (postReportCallback === void 0) {\n postReportCallback = noop;\n }\n event.app = _$assign_20({}, event.app, {\n releaseStage: this._config.releaseStage,\n version: this._config.appVersion,\n type: this._config.appType\n });\n event.context = event.context || this._context;\n event._metadata = _$assign_20({}, event._metadata, this._metadata);\n event._user = _$assign_20({}, event._user, this._user);\n event.breadcrumbs = this._breadcrumbs.slice();\n __merge_13(event._features, this._features, event._featuresIndex);\n\n // exit early if events should not be sent on the current releaseStage\n if (this._config.enabledReleaseStages !== null && !_$includes_22(this._config.enabledReleaseStages, this._config.releaseStage)) {\n this._logger.warn('Event not sent due to releaseStage/enabledReleaseStages configuration');\n return postReportCallback(null, event);\n }\n var originalSeverity = event.severity;\n var onCallbackError = function (err) {\n // errors in callbacks are tolerated but we want to log them out\n _this2._logger.error('Error occurred in onError callback, continuing anyway…');\n _this2._logger.error(err);\n };\n var callbacks = [].concat(this._cbs.e).concat(onError);\n _$callbackRunner_18(callbacks, event, onCallbackError, function (err, shouldSend) {\n if (err) onCallbackError(err);\n if (!shouldSend) {\n _this2._logger.debug('Event not sent due to onError callback');\n return postReportCallback(null, event);\n }\n if (_this2._isBreadcrumbTypeEnabled('error')) {\n // only leave a crumb for the error if actually got sent\n Client.prototype.leaveBreadcrumb.call(_this2, event.errors[0].errorClass, {\n errorClass: event.errors[0].errorClass,\n errorMessage: event.errors[0].errorMessage,\n severity: event.severity\n }, 'error');\n }\n if (originalSeverity !== event.severity) {\n event._handledState.severityReason = {\n type: 'userCallbackSetSeverity'\n };\n }\n if (event.unhandled !== event._handledState.unhandled) {\n event._handledState.severityReason.unhandledOverridden = true;\n event._handledState.unhandled = event.unhandled;\n }\n if (_this2._session) {\n _this2._session._track(event);\n event._session = _this2._session;\n }\n _this2._delivery.sendEvent({\n apiKey: event.apiKey || _this2._config.apiKey,\n notifier: _this2._notifier,\n events: [event]\n }, function (err) {\n return postReportCallback(err, event);\n });\n });\n };\n return Client;\n }();\n var generateConfigErrorMessage = function (errors, rawInput) {\n var er = new Error(\"Invalid configuration\\n\" + _$map_25(_$keys_24(errors), function (key) {\n return \" - \" + key + \" \" + errors[key] + \", got \" + stringify(rawInput[key]);\n }).join('\\n\\n'));\n return er;\n };\n var stringify = function (val) {\n switch (typeof val) {\n case 'string':\n case 'number':\n case 'object':\n return JSON.stringify(val);\n default:\n return String(val);\n }\n };\n var _$Client_13 = Client;\n var _$jsonPayload_30 = {};\n /* removed: var _$safeJsonStringify_5 = require('@bugsnag/safe-json-stringify'); */\n ;\n var EVENT_REDACTION_PATHS = ['events.[].metaData', 'events.[].breadcrumbs.[].metaData', 'events.[].request'];\n _$jsonPayload_30.event = function (event, redactedKeys) {\n var payload = _$safeJsonStringify_5(event, null, null, {\n redactedPaths: EVENT_REDACTION_PATHS,\n redactedKeys: redactedKeys\n });\n if (payload.length > 10e5) {\n event.events[0]._metadata = {\n notifier: \"WARNING!\\nSerialized payload was \" + payload.length / 10e5 + \"MB (limit = 1MB)\\nmetadata was removed\"\n };\n payload = _$safeJsonStringify_5(event, null, null, {\n redactedPaths: EVENT_REDACTION_PATHS,\n redactedKeys: redactedKeys\n });\n }\n return payload;\n };\n _$jsonPayload_30.session = function (session, redactedKeys) {\n var payload = _$safeJsonStringify_5(session, null, null);\n return payload;\n };\n var _$delivery_37 = {};\n /* removed: var _$jsonPayload_30 = require('@bugsnag/core/lib/json-payload'); */\n ;\n _$delivery_37 = function (client, win) {\n if (win === void 0) {\n win = window;\n }\n return {\n sendEvent: function (event, cb) {\n if (cb === void 0) {\n cb = function () {};\n }\n if (client._config.endpoints.notify === null) {\n var err = new Error('Event not sent due to incomplete endpoint configuration');\n return cb(err);\n }\n var url = getApiUrl(client._config, 'notify', '4', win);\n var body = _$jsonPayload_30.event(event, client._config.redactedKeys);\n var req = new win.XDomainRequest();\n req.onload = function () {\n cb(null);\n };\n req.onerror = function () {\n var err = new Error('Event failed to send');\n client._logger.error('Event failed to send…', err);\n if (body.length > 10e5) {\n client._logger.warn(\"Event oversized (\" + (body.length / 10e5).toFixed(2) + \" MB)\");\n }\n cb(err);\n };\n req.open('POST', url);\n setTimeout(function () {\n try {\n req.send(body);\n } catch (e) {\n client._logger.error(e);\n cb(e);\n }\n }, 0);\n },\n sendSession: function (session, cb) {\n if (cb === void 0) {\n cb = function () {};\n }\n if (client._config.endpoints.sessions === null) {\n var err = new Error('Session not sent due to incomplete endpoint configuration');\n return cb(err);\n }\n var url = getApiUrl(client._config, 'sessions', '1', win);\n var req = new win.XDomainRequest();\n req.onload = function () {\n cb(null);\n };\n req.open('POST', url);\n setTimeout(function () {\n try {\n req.send(_$jsonPayload_30.session(session, client._config.redactedKeys));\n } catch (e) {\n client._logger.error(e);\n cb(e);\n }\n }, 0);\n }\n };\n };\n var getApiUrl = function (config, endpoint, version, win) {\n // IE8 doesn't support Date.prototype.toISOstring(), but it does convert a date\n // to an ISO string when you use JSON stringify. Simply parsing the result of\n // JSON.stringify is smaller than using a toISOstring() polyfill.\n var isoDate = JSON.parse(JSON.stringify(new Date()));\n var url = matchPageProtocol(config.endpoints[endpoint], win.location.protocol);\n return url + \"?apiKey=\" + encodeURIComponent(config.apiKey) + \"&payloadVersion=\" + version + \"&sentAt=\" + encodeURIComponent(isoDate);\n };\n var matchPageProtocol = _$delivery_37._matchPageProtocol = function (endpoint, pageProtocol) {\n return pageProtocol === 'http:' ? endpoint.replace(/^https:/, 'http:') : endpoint;\n };\n\n /* removed: var _$jsonPayload_30 = require('@bugsnag/core/lib/json-payload'); */\n ;\n function getIntegrityHeaderValue(windowOrWorkerGlobalScope, requestBody) {\n if (windowOrWorkerGlobalScope.isSecureContext && windowOrWorkerGlobalScope.crypto && windowOrWorkerGlobalScope.crypto.subtle && windowOrWorkerGlobalScope.crypto.subtle.digest && typeof TextEncoder === 'function') {\n var msgUint8 = new TextEncoder().encode(requestBody);\n return windowOrWorkerGlobalScope.crypto.subtle.digest('SHA-1', msgUint8).then(function (hashBuffer) {\n var hashArray = Array.from(new Uint8Array(hashBuffer));\n var hashHex = hashArray.map(function (b) {\n return b.toString(16).padStart(2, '0');\n }).join('');\n return 'sha1 ' + hashHex;\n });\n }\n return Promise.resolve();\n }\n var _$delivery_38 = function (client, win) {\n if (win === void 0) {\n win = window;\n }\n return {\n sendEvent: function (event, cb) {\n if (cb === void 0) {\n cb = function () {};\n }\n try {\n var url = client._config.endpoints.notify;\n if (url === null) {\n var err = new Error('Event not sent due to incomplete endpoint configuration');\n return cb(err);\n }\n var req = new win.XMLHttpRequest();\n var body = _$jsonPayload_30.event(event, client._config.redactedKeys);\n req.onreadystatechange = function () {\n if (req.readyState === win.XMLHttpRequest.DONE) {\n var status = req.status;\n if (status === 0 || status >= 400) {\n var _err = new Error(\"Request failed with status \" + status);\n client._logger.error('Event failed to send…', _err);\n if (body.length > 10e5) {\n client._logger.warn(\"Event oversized (\" + (body.length / 10e5).toFixed(2) + \" MB)\");\n }\n cb(_err);\n } else {\n cb(null);\n }\n }\n };\n req.open('POST', url);\n req.setRequestHeader('Content-Type', 'application/json');\n req.setRequestHeader('Bugsnag-Api-Key', event.apiKey || client._config.apiKey);\n req.setRequestHeader('Bugsnag-Payload-Version', '4');\n req.setRequestHeader('Bugsnag-Sent-At', new Date().toISOString());\n if (client._config.sendPayloadChecksums && typeof Promise !== 'undefined' && Promise.toString().indexOf('[native code]') !== -1) {\n getIntegrityHeaderValue(win, body).then(function (integrity) {\n if (integrity) {\n req.setRequestHeader('Bugsnag-Integrity', integrity);\n }\n req.send(body);\n })[\"catch\"](function (err) {\n client._logger.error(err);\n req.send(body);\n });\n } else {\n req.send(body);\n }\n } catch (e) {\n client._logger.error(e);\n }\n },\n sendSession: function (session, cb) {\n if (cb === void 0) {\n cb = function () {};\n }\n try {\n var url = client._config.endpoints.sessions;\n if (url === null) {\n var err = new Error('Session not sent due to incomplete endpoint configuration');\n return cb(err);\n }\n var req = new win.XMLHttpRequest();\n var body = _$jsonPayload_30.session(session, client._config.redactedKeys);\n req.onreadystatechange = function () {\n if (req.readyState === win.XMLHttpRequest.DONE) {\n var status = req.status;\n if (status === 0 || status >= 400) {\n var _err2 = new Error(\"Request failed with status \" + status);\n client._logger.error('Session failed to send…', _err2);\n cb(_err2);\n } else {\n cb(null);\n }\n }\n };\n req.open('POST', url);\n req.setRequestHeader('Content-Type', 'application/json');\n req.setRequestHeader('Bugsnag-Api-Key', client._config.apiKey);\n req.setRequestHeader('Bugsnag-Payload-Version', '1');\n req.setRequestHeader('Bugsnag-Sent-At', new Date().toISOString());\n if (client._config.sendPayloadChecksums && typeof Promise !== 'undefined' && Promise.toString().indexOf('[native code]') !== -1) {\n getIntegrityHeaderValue(win, body).then(function (integrity) {\n if (integrity) {\n req.setRequestHeader('Bugsnag-Integrity', integrity);\n }\n req.send(body);\n })[\"catch\"](function (err) {\n client._logger.error(err);\n req.send(body);\n });\n } else {\n req.send(body);\n }\n } catch (e) {\n client._logger.error(e);\n }\n }\n };\n };\n var appStart = new Date();\n var reset = function () {\n appStart = new Date();\n };\n var _$app_39 = {\n name: 'appDuration',\n load: function (client) {\n client.addOnError(function (event) {\n var now = new Date();\n event.app.duration = now - appStart;\n }, true);\n return {\n reset: reset\n };\n }\n };\n\n /*\n * Sets the default context to be the current URL\n */\n var _$context_40 = function (win) {\n if (win === void 0) {\n win = window;\n }\n return {\n load: function (client) {\n client.addOnError(function (event) {\n if (event.context !== undefined) return;\n event.context = win.location.pathname;\n }, true);\n }\n };\n };\n\n /* removed: var _$assign_20 = require('@bugsnag/core/lib/es-utils/assign'); */\n ;\n var BUGSNAG_ANONYMOUS_ID_KEY = 'bugsnag-anonymous-id';\n var getDeviceId = function (win) {\n try {\n var storage = win.localStorage;\n var id = storage.getItem(BUGSNAG_ANONYMOUS_ID_KEY);\n\n // If we get an ID, make sure it looks like a valid cuid. The length can\n // fluctuate slightly, so some leeway is built in\n if (id && /^c[a-z0-9]{20,32}$/.test(id)) {\n return id;\n }\n /* removed: var _$cuid_1 = require('@bugsnag/cuid'); */\n ;\n id = _$cuid_1();\n storage.setItem(BUGSNAG_ANONYMOUS_ID_KEY, id);\n return id;\n } catch (err) {\n // If localStorage is not available (e.g. because it's disabled) then give up\n }\n };\n\n /*\n * Automatically detects browser device details\n */\n var _$device_41 = function (nav, win) {\n if (nav === void 0) {\n nav = navigator;\n }\n if (win === void 0) {\n win = window;\n }\n return {\n load: function (client) {\n var device = {\n locale: nav.browserLanguage || nav.systemLanguage || nav.userLanguage || nav.language,\n userAgent: nav.userAgent\n };\n if (win && win.screen && win.screen.orientation && win.screen.orientation.type) {\n device.orientation = win.screen.orientation.type;\n } else if (win && win.document) {\n device.orientation = win.document.documentElement.clientWidth > win.document.documentElement.clientHeight ? 'landscape' : 'portrait';\n }\n if (client._config.generateAnonymousId) {\n device.id = getDeviceId(win);\n }\n client.addOnSession(function (session) {\n session.device = _$assign_20({}, session.device, device);\n // only set device id if collectUserIp is false\n if (!client._config.collectUserIp) setDefaultUserId(session);\n });\n\n // add time just as the event is sent\n client.addOnError(function (event) {\n event.device = _$assign_20({}, event.device, device, {\n time: new Date()\n });\n if (!client._config.collectUserIp) setDefaultUserId(event);\n }, true);\n },\n configSchema: {\n generateAnonymousId: {\n validate: function (value) {\n return value === true || value === false;\n },\n defaultValue: function () {\n return true;\n },\n message: 'should be true|false'\n }\n }\n };\n };\n var setDefaultUserId = function (eventOrSession) {\n // device id is also used to populate the user id field, if it's not already set\n var user = eventOrSession.getUser();\n if (!user || !user.id) {\n eventOrSession.setUser(eventOrSession.device.id);\n }\n };\n\n /* removed: var _$assign_20 = require('@bugsnag/core/lib/es-utils/assign'); */\n ;\n\n /*\n * Sets the event request: { url } to be the current href\n */\n var _$request_42 = function (win) {\n if (win === void 0) {\n win = window;\n }\n return {\n load: function (client) {\n client.addOnError(function (event) {\n if (event.request && event.request.url) return;\n event.request = _$assign_20({}, event.request, {\n url: win.location.href\n });\n }, true);\n }\n };\n };\n\n /* removed: var _$includes_22 = require('@bugsnag/core/lib/es-utils/includes'); */\n ;\n var _$session_43 = {\n load: function (client) {\n client._sessionDelegate = sessionDelegate;\n }\n };\n var sessionDelegate = {\n startSession: function (client, session) {\n var sessionClient = client;\n sessionClient._session = session;\n sessionClient._pausedSession = null;\n\n // exit early if the current releaseStage is not enabled\n if (sessionClient._config.enabledReleaseStages !== null && !_$includes_22(sessionClient._config.enabledReleaseStages, sessionClient._config.releaseStage)) {\n sessionClient._logger.warn('Session not sent due to releaseStage/enabledReleaseStages configuration');\n return sessionClient;\n }\n sessionClient._delivery.sendSession({\n notifier: sessionClient._notifier,\n device: session.device,\n app: session.app,\n sessions: [{\n id: session.id,\n startedAt: session.startedAt,\n user: session._user\n }]\n });\n return sessionClient;\n },\n resumeSession: function (client) {\n // Do nothing if there's already an active session\n if (client._session) {\n return client;\n }\n\n // If we have a paused session then make it the active session\n if (client._pausedSession) {\n client._session = client._pausedSession;\n client._pausedSession = null;\n return client;\n }\n\n // Otherwise start a new session\n return client.startSession();\n },\n pauseSession: function (client) {\n client._pausedSession = client._session;\n client._session = null;\n }\n };\n\n /* removed: var _$assign_20 = require('@bugsnag/core/lib/es-utils/assign'); */\n ;\n\n /*\n * Prevent collection of user IPs\n */\n var _$clientIp_44 = {\n load: function (client) {\n if (client._config.collectUserIp) return;\n client.addOnError(function (event) {\n // If user.id is explicitly undefined, it will be missing from the payload. It needs\n // removing so that the following line replaces it\n if (event._user && typeof event._user.id === 'undefined') delete event._user.id;\n event._user = _$assign_20({\n id: '[REDACTED]'\n }, event._user);\n event.request = _$assign_20({\n clientIp: '[REDACTED]'\n }, event.request);\n });\n },\n configSchema: {\n collectUserIp: {\n defaultValue: function () {\n return true;\n },\n message: 'should be true|false',\n validate: function (value) {\n return value === true || value === false;\n }\n }\n }\n };\n var _$consoleBreadcrumbs_45 = {};\n /* removed: var _$map_25 = require('@bugsnag/core/lib/es-utils/map'); */\n ;\n /* removed: var _$reduce_26 = require('@bugsnag/core/lib/es-utils/reduce'); */\n ;\n /* removed: var _$filter_21 = require('@bugsnag/core/lib/es-utils/filter'); */\n ;\n\n /*\n * Leaves breadcrumbs when console log methods are called\n */\n _$consoleBreadcrumbs_45.load = function (client) {\n var isDev = /^(local-)?dev(elopment)?$/.test(client._config.releaseStage);\n if (isDev || !client._isBreadcrumbTypeEnabled('log')) return;\n _$map_25(CONSOLE_LOG_METHODS, function (method) {\n var original = console[method];\n console[method] = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n client.leaveBreadcrumb('Console output', _$reduce_26(args, function (accum, arg, i) {\n // do the best/simplest stringification of each argument\n var stringified = '[Unknown value]';\n // this may fail if the input is:\n // - an object whose [[Prototype]] is null (no toString)\n // - an object with a broken toString or @@toPrimitive implementation\n try {\n stringified = String(arg);\n } catch (e) {}\n // if it stringifies to [object Object] attempt to JSON stringify\n if (stringified === '[object Object]') {\n // catch stringify errors and fallback to [object Object]\n try {\n stringified = JSON.stringify(arg);\n } catch (e) {}\n }\n accum[\"[\" + i + \"]\"] = stringified;\n return accum;\n }, {\n severity: method.indexOf('group') === 0 ? 'log' : method\n }), 'log');\n original.apply(console, args);\n };\n console[method]._restore = function () {\n console[method] = original;\n };\n });\n };\n if (\"production\" !== 'production') {\n _$consoleBreadcrumbs_45.destroy = function () {\n return CONSOLE_LOG_METHODS.forEach(function (method) {\n if (typeof console[method]._restore === 'function') console[method]._restore();\n });\n };\n }\n var CONSOLE_LOG_METHODS = _$filter_21(['log', 'debug', 'info', 'warn', 'error'], function (method) {\n return typeof console !== 'undefined' && typeof console[method] === 'function';\n });\n\n /* removed: var _$map_25 = require('@bugsnag/core/lib/es-utils/map'); */\n ;\n /* removed: var _$reduce_26 = require('@bugsnag/core/lib/es-utils/reduce'); */\n ;\n /* removed: var _$filter_21 = require('@bugsnag/core/lib/es-utils/filter'); */\n ;\n var MAX_LINE_LENGTH = 200;\n var MAX_SCRIPT_LENGTH = 500000;\n var _$inlineScriptContent_46 = function (doc, win) {\n if (doc === void 0) {\n doc = document;\n }\n if (win === void 0) {\n win = window;\n }\n return {\n load: function (client) {\n if (!client._config.trackInlineScripts) return;\n var originalLocation = win.location.href;\n var html = '';\n\n // in IE8-10 the 'interactive' state can fire too soon (before scripts have finished executing), so in those\n // we wait for the 'complete' state before assuming that synchronous scripts are no longer executing\n var isOldIe = !!doc.attachEvent;\n var DOMContentLoaded = isOldIe ? doc.readyState === 'complete' : doc.readyState !== 'loading';\n var getHtml = function () {\n return doc.documentElement.outerHTML;\n };\n\n // get whatever HTML exists at this point in time\n html = getHtml();\n var prev = doc.onreadystatechange;\n // then update it when the DOM content has loaded\n doc.onreadystatechange = function () {\n // IE8 compatible alternative to document#DOMContentLoaded\n if (doc.readyState === 'interactive') {\n html = getHtml();\n DOMContentLoaded = true;\n }\n try {\n prev.apply(this, arguments);\n } catch (e) {}\n };\n var _lastScript = null;\n var updateLastScript = function (script) {\n _lastScript = script;\n };\n var getCurrentScript = function () {\n var script = doc.currentScript || _lastScript;\n if (!script && !DOMContentLoaded) {\n var scripts = doc.scripts || doc.getElementsByTagName('script');\n script = scripts[scripts.length - 1];\n }\n return script;\n };\n var addSurroundingCode = function (lineNumber) {\n // get whatever html has rendered at this point\n if (!DOMContentLoaded || !html) html = getHtml();\n // simulate the raw html\n var htmlLines = [''].concat(html.split('\\n'));\n var zeroBasedLine = lineNumber - 1;\n var start = Math.max(zeroBasedLine - 3, 0);\n var end = Math.min(zeroBasedLine + 3, htmlLines.length);\n return _$reduce_26(htmlLines.slice(start, end), function (accum, line, i) {\n accum[start + 1 + i] = line.length <= MAX_LINE_LENGTH ? line : line.substr(0, MAX_LINE_LENGTH);\n return accum;\n }, {});\n };\n client.addOnError(function (event) {\n // remove any of our own frames that may be part the stack this\n // happens before the inline script check as it happens for all errors\n event.errors[0].stacktrace = _$filter_21(event.errors[0].stacktrace, function (f) {\n return !/__trace__$/.test(f.method);\n });\n var frame = event.errors[0].stacktrace[0];\n\n // remove hash and query string from url\n var cleanUrl = function (url) {\n return url.replace(/#.*$/, '').replace(/\\?.*$/, '');\n };\n\n // if frame.file exists and is not the original location of the page, this can't be an inline script\n if (frame && frame.file && cleanUrl(frame.file) !== cleanUrl(originalLocation)) return;\n\n // grab the last script known to have run\n var currentScript = getCurrentScript();\n if (currentScript) {\n var content = currentScript.innerHTML;\n event.addMetadata('script', 'content', content.length <= MAX_SCRIPT_LENGTH ? content : content.substr(0, MAX_SCRIPT_LENGTH));\n\n // only attempt to grab some surrounding code if we have a line number\n if (frame && frame.lineNumber) {\n frame.code = addSurroundingCode(frame.lineNumber);\n }\n }\n }, true);\n\n // Proxy all the timer functions whose callback is their 0th argument.\n // Keep a reference to the original setTimeout because we need it later\n var _map = _$map_25(['setTimeout', 'setInterval', 'setImmediate', 'requestAnimationFrame'], function (fn) {\n return __proxy(win, fn, function (original) {\n return __traceOriginalScript(original, function (args) {\n return {\n get: function () {\n return args[0];\n },\n replace: function (fn) {\n args[0] = fn;\n }\n };\n });\n });\n }),\n _setTimeout = _map[0];\n\n // Proxy all the host objects whose prototypes have an addEventListener function\n _$map_25(['EventTarget', 'Window', 'Node', 'ApplicationCache', 'AudioTrackList', 'ChannelMergerNode', 'CryptoOperation', 'EventSource', 'FileReader', 'HTMLUnknownElement', 'IDBDatabase', 'IDBRequest', 'IDBTransaction', 'KeyOperation', 'MediaController', 'MessagePort', 'ModalWindow', 'Notification', 'SVGElementInstance', 'Screen', 'TextTrack', 'TextTrackCue', 'TextTrackList', 'WebSocket', 'WebSocketWorker', 'Worker', 'XMLHttpRequest', 'XMLHttpRequestEventTarget', 'XMLHttpRequestUpload'], function (o) {\n if (!win[o] || !win[o].prototype || !Object.prototype.hasOwnProperty.call(win[o].prototype, 'addEventListener')) return;\n __proxy(win[o].prototype, 'addEventListener', function (original) {\n return __traceOriginalScript(original, eventTargetCallbackAccessor);\n });\n __proxy(win[o].prototype, 'removeEventListener', function (original) {\n return __traceOriginalScript(original, eventTargetCallbackAccessor, true);\n });\n });\n function __traceOriginalScript(fn, callbackAccessor, alsoCallOriginal) {\n if (alsoCallOriginal === void 0) {\n alsoCallOriginal = false;\n }\n return function () {\n // this is required for removeEventListener to remove anything added with\n // addEventListener before the functions started being wrapped by Bugsnag\n var args = [].slice.call(arguments);\n try {\n var cba = callbackAccessor(args);\n var cb = cba.get();\n if (alsoCallOriginal) fn.apply(this, args);\n if (typeof cb !== 'function') return fn.apply(this, args);\n if (cb.__trace__) {\n cba.replace(cb.__trace__);\n } else {\n var script = getCurrentScript();\n // this function mustn't be annonymous due to a bug in the stack\n // generation logic, meaning it gets tripped up\n // see: https://github.com/stacktracejs/stack-generator/issues/6\n cb.__trace__ = function __trace__() {\n // set the script that called this function\n updateLastScript(script);\n // immediately unset the currentScript synchronously below, however\n // if this cb throws an error the line after will not get run so schedule\n // an almost-immediate aysnc update too\n _setTimeout(function () {\n updateLastScript(null);\n }, 0);\n var ret = cb.apply(this, arguments);\n updateLastScript(null);\n return ret;\n };\n cb.__trace__.__trace__ = cb.__trace__;\n cba.replace(cb.__trace__);\n }\n } catch (e) {\n // swallow these errors on Selenium:\n // Permission denied to access property '__trace__'\n // WebDriverException: Message: Permission denied to access property \"handleEvent\"\n }\n // IE8 doesn't let you call .apply() on setTimeout/setInterval\n if (fn.apply) return fn.apply(this, args);\n switch (args.length) {\n case 1:\n return fn(args[0]);\n case 2:\n return fn(args[0], args[1]);\n default:\n return fn();\n }\n };\n }\n },\n configSchema: {\n trackInlineScripts: {\n validate: function (value) {\n return value === true || value === false;\n },\n defaultValue: function () {\n return true;\n },\n message: 'should be true|false'\n }\n }\n };\n };\n function __proxy(host, name, replacer) {\n var original = host[name];\n if (!original) return original;\n var replacement = replacer(original);\n host[name] = replacement;\n return original;\n }\n function eventTargetCallbackAccessor(args) {\n var isEventHandlerObj = !!args[1] && typeof args[1].handleEvent === 'function';\n return {\n get: function () {\n return isEventHandlerObj ? args[1].handleEvent : args[1];\n },\n replace: function (fn) {\n if (isEventHandlerObj) {\n args[1].handleEvent = fn;\n } else {\n args[1] = fn;\n }\n }\n };\n }\n\n /*\n * Leaves breadcrumbs when the user interacts with the DOM\n */\n var _$interactionBreadcrumbs_47 = function (win) {\n if (win === void 0) {\n win = window;\n }\n return {\n load: function (client) {\n if (!('addEventListener' in win)) return;\n if (!client._isBreadcrumbTypeEnabled('user')) return;\n win.addEventListener('click', function (event) {\n var targetText, targetSelector;\n try {\n targetText = getNodeText(event.target);\n targetSelector = getNodeSelector(event.target, win);\n } catch (e) {\n targetText = '[hidden]';\n targetSelector = '[hidden]';\n client._logger.error('Cross domain error when tracking click event. See docs: https://tinyurl.com/yy3rn63z');\n }\n client.leaveBreadcrumb('UI click', {\n targetText: targetText,\n targetSelector: targetSelector\n }, 'user');\n }, true);\n }\n };\n };\n var trim = /^\\s*([^\\s][\\s\\S]{0,139}[^\\s])?\\s*/;\n function getNodeText(el) {\n var text = el.textContent || el.innerText || '';\n if (!text && (el.type === 'submit' || el.type === 'button')) {\n text = el.value;\n }\n text = text.replace(trim, '$1');\n if (text.length > 140) {\n return text.slice(0, 135) + '(...)';\n }\n return text;\n }\n\n // Create a label from tagname, id and css class of the element\n function getNodeSelector(el, win) {\n var parts = [el.tagName];\n if (el.id) parts.push('#' + el.id);\n if (el.className && el.className.length) parts.push(\".\" + el.className.split(' ').join('.'));\n // Can't get much more advanced with the current browser\n if (!win.document.querySelectorAll || !Array.prototype.indexOf) return parts.join('');\n try {\n if (win.document.querySelectorAll(parts.join('')).length === 1) return parts.join('');\n } catch (e) {\n // Sometimes the query selector can be invalid just return it as-is\n return parts.join('');\n }\n // try to get a more specific selector if this one matches more than one element\n if (el.parentNode.childNodes.length > 1) {\n var index = Array.prototype.indexOf.call(el.parentNode.childNodes, el) + 1;\n parts.push(\":nth-child(\" + index + \")\");\n }\n if (win.document.querySelectorAll(parts.join('')).length === 1) return parts.join('');\n // try prepending the parent node selector\n if (el.parentNode) return getNodeSelector(el.parentNode, win) + \" > \" + parts.join('');\n return parts.join('');\n }\n var _$navigationBreadcrumbs_48 = {};\n /*\n * Leaves breadcrumbs when navigation methods are called or events are emitted\n */\n _$navigationBreadcrumbs_48 = function (win) {\n if (win === void 0) {\n win = window;\n }\n var plugin = {\n load: function (client) {\n if (!('addEventListener' in win)) return;\n if (!client._isBreadcrumbTypeEnabled('navigation')) return;\n\n // returns a function that will drop a breadcrumb with a given name\n var drop = function (name) {\n return function () {\n return client.leaveBreadcrumb(name, {}, 'navigation');\n };\n };\n\n // simple drops – just names, no meta\n win.addEventListener('pagehide', drop('Page hidden'), true);\n win.addEventListener('pageshow', drop('Page shown'), true);\n win.addEventListener('load', drop('Page loaded'), true);\n win.document.addEventListener('DOMContentLoaded', drop('DOMContentLoaded'), true);\n // some browsers like to emit popstate when the page loads, so only add the popstate listener after that\n win.addEventListener('load', function () {\n return win.addEventListener('popstate', drop('Navigated back'), true);\n });\n\n // hashchange has some metadata that we care about\n win.addEventListener('hashchange', function (event) {\n var metadata = event.oldURL ? {\n from: relativeLocation(event.oldURL, win),\n to: relativeLocation(event.newURL, win),\n state: getCurrentState(win)\n } : {\n to: relativeLocation(win.location.href, win)\n };\n client.leaveBreadcrumb('Hash changed', metadata, 'navigation');\n }, true);\n\n // the only way to know about replaceState/pushState is to wrap them… >_<\n if (win.history.pushState) wrapHistoryFn(client, win.history, 'pushState', win, true);\n if (win.history.replaceState) wrapHistoryFn(client, win.history, 'replaceState', win);\n }\n };\n if (\"production\" !== 'production') {\n plugin.destroy = function (win) {\n if (win === void 0) {\n win = window;\n }\n win.history.replaceState._restore();\n win.history.pushState._restore();\n };\n }\n return plugin;\n };\n if (\"production\" !== 'production') {\n _$navigationBreadcrumbs_48.destroy = function (win) {\n if (win === void 0) {\n win = window;\n }\n win.history.replaceState._restore();\n win.history.pushState._restore();\n };\n }\n\n // takes a full url like http://foo.com:1234/pages/01.html?yes=no#section-2 and returns\n // just the path and hash parts, e.g. /pages/01.html?yes=no#section-2\n var relativeLocation = function (url, win) {\n var a = win.document.createElement('A');\n a.href = url;\n return \"\" + a.pathname + a.search + a.hash;\n };\n var stateChangeToMetadata = function (win, state, title, url) {\n var currentPath = relativeLocation(win.location.href, win);\n return {\n title: title,\n state: state,\n prevState: getCurrentState(win),\n to: url || currentPath,\n from: currentPath\n };\n };\n var wrapHistoryFn = function (client, target, fn, win, resetEventCount) {\n if (resetEventCount === void 0) {\n resetEventCount = false;\n }\n var orig = target[fn];\n target[fn] = function (state, title, url) {\n client.leaveBreadcrumb(\"History \" + fn, stateChangeToMetadata(win, state, title, url), 'navigation');\n // if throttle plugin is in use, reset the event sent count\n if (resetEventCount && typeof client.resetEventCount === 'function') client.resetEventCount();\n // Internet Explorer will convert `undefined` to a string when passed, causing an unintended redirect\n // to '/undefined'. therefore we only pass the url if it's not undefined.\n orig.apply(target, [state, title].concat(url !== undefined ? url : []));\n };\n if (\"production\" !== 'production') {\n target[fn]._restore = function () {\n target[fn] = orig;\n };\n }\n };\n var getCurrentState = function (win) {\n try {\n return win.history.state;\n } catch (e) {}\n };\n var BREADCRUMB_TYPE = 'request';\n /* removed: var _$includes_22 = require('@bugsnag/core/lib/es-utils/includes'); */\n ;\n\n /*\n * Leaves breadcrumbs when network requests occur\n */\n var _$networkBreadcrumbs_49 = function (_ignoredUrls, win) {\n if (_ignoredUrls === void 0) {\n _ignoredUrls = [];\n }\n if (win === void 0) {\n win = window;\n }\n var restoreFunctions = [];\n var plugin = {\n load: function (client) {\n if (!client._isBreadcrumbTypeEnabled('request')) return;\n var ignoredUrls = [client._config.endpoints.notify, client._config.endpoints.sessions].concat(_ignoredUrls);\n monkeyPatchXMLHttpRequest();\n monkeyPatchFetch();\n\n // XMLHttpRequest monkey patch\n function monkeyPatchXMLHttpRequest() {\n if (!('addEventListener' in win.XMLHttpRequest.prototype) || !('WeakMap' in win)) return;\n var trackedRequests = new WeakMap();\n var requestHandlers = new WeakMap();\n var originalOpen = win.XMLHttpRequest.prototype.open;\n win.XMLHttpRequest.prototype.open = function open(method, url) {\n // it's possible for `this` to be `undefined`, which is not a valid key for a WeakMap\n if (this) {\n trackedRequests.set(this, {\n method: method,\n url: url\n });\n }\n originalOpen.apply(this, arguments);\n };\n var originalSend = win.XMLHttpRequest.prototype.send;\n win.XMLHttpRequest.prototype.send = function send(body) {\n var _this = this;\n var requestData = trackedRequests.get(this);\n if (requestData) {\n // if we have already setup listeners then this request instance is being reused,\n // so we need to remove the listeners from the previous send\n var listeners = requestHandlers.get(this);\n if (listeners) {\n this.removeEventListener('load', listeners.load);\n this.removeEventListener('error', listeners.error);\n }\n var requestStart = new Date();\n var error = function () {\n return handleXHRError(requestData.method, requestData.url, getDuration(requestStart));\n };\n var load = function () {\n return handleXHRLoad(requestData.method, requestData.url, _this.status, getDuration(requestStart));\n };\n this.addEventListener('load', load);\n this.addEventListener('error', error);\n // it's possible for `this` to be `undefined`, which is not a valid key for a WeakMap\n if (this) {\n requestHandlers.set(this, {\n load: load,\n error: error\n });\n }\n }\n originalSend.apply(this, arguments);\n };\n if (\"production\" !== 'production') {\n restoreFunctions.push(function () {\n win.XMLHttpRequest.prototype.open = originalOpen;\n win.XMLHttpRequest.prototype.send = originalSend;\n });\n }\n }\n function handleXHRLoad(method, url, status, duration) {\n if (url === undefined) {\n client._logger.warn('The request URL is no longer present on this XMLHttpRequest. A breadcrumb cannot be left for this request.');\n return;\n }\n\n // an XMLHttpRequest's URL can be an object as long as its 'toString'\n // returns a URL, e.g. a HTMLAnchorElement\n if (typeof url === 'string' && _$includes_22(ignoredUrls, url.replace(/\\?.*$/, ''))) {\n // don't leave a network breadcrumb from bugsnag notify calls\n return;\n }\n var metadata = {\n status: status,\n method: String(method),\n url: String(url),\n duration: duration\n };\n if (status >= 400) {\n // contacted server but got an error response\n client.leaveBreadcrumb('XMLHttpRequest failed', metadata, BREADCRUMB_TYPE);\n } else {\n client.leaveBreadcrumb('XMLHttpRequest succeeded', metadata, BREADCRUMB_TYPE);\n }\n }\n function handleXHRError(method, url, duration) {\n if (url === undefined) {\n client._logger.warn('The request URL is no longer present on this XMLHttpRequest. A breadcrumb cannot be left for this request.');\n return;\n }\n if (typeof url === 'string' && _$includes_22(ignoredUrls, url.replace(/\\?.*$/, ''))) {\n // don't leave a network breadcrumb from bugsnag notify calls\n return;\n }\n\n // failed to contact server\n client.leaveBreadcrumb('XMLHttpRequest error', {\n method: String(method),\n url: String(url),\n duration: duration\n }, BREADCRUMB_TYPE);\n }\n\n // window.fetch monkey patch\n function monkeyPatchFetch() {\n // only patch it if it exists and if it is not a polyfill (patching a polyfilled\n // fetch() results in duplicate breadcrumbs for the same request because the\n // implementation uses XMLHttpRequest which is also patched)\n if (!('fetch' in win) || win.fetch.polyfill) return;\n var oldFetch = win.fetch;\n win.fetch = function fetch() {\n var _arguments = arguments;\n var urlOrRequest = arguments[0];\n var options = arguments[1];\n var method;\n var url = null;\n if (urlOrRequest && typeof urlOrRequest === 'object') {\n url = urlOrRequest.url;\n if (options && 'method' in options) {\n method = options.method;\n } else if (urlOrRequest && 'method' in urlOrRequest) {\n method = urlOrRequest.method;\n }\n } else {\n url = urlOrRequest;\n if (options && 'method' in options) {\n method = options.method;\n }\n }\n if (method === undefined) {\n method = 'GET';\n }\n return new Promise(function (resolve, reject) {\n var requestStart = new Date();\n\n // pass through to native fetch\n oldFetch.apply(void 0, _arguments).then(function (response) {\n handleFetchSuccess(response, method, url, getDuration(requestStart));\n resolve(response);\n })[\"catch\"](function (error) {\n handleFetchError(method, url, getDuration(requestStart));\n reject(error);\n });\n });\n };\n if (\"production\" !== 'production') {\n restoreFunctions.push(function () {\n win.fetch = oldFetch;\n });\n }\n }\n var handleFetchSuccess = function (response, method, url, duration) {\n var metadata = {\n method: String(method),\n status: response.status,\n url: String(url),\n duration: duration\n };\n if (response.status >= 400) {\n // when the request comes back with a 4xx or 5xx status it does not reject the fetch promise,\n client.leaveBreadcrumb('fetch() failed', metadata, BREADCRUMB_TYPE);\n } else {\n client.leaveBreadcrumb('fetch() succeeded', metadata, BREADCRUMB_TYPE);\n }\n };\n var handleFetchError = function (method, url, duration) {\n client.leaveBreadcrumb('fetch() error', {\n method: String(method),\n url: String(url),\n duration: duration\n }, BREADCRUMB_TYPE);\n };\n }\n };\n if (\"production\" !== 'production') {\n plugin.destroy = function () {\n restoreFunctions.forEach(function (fn) {\n return fn();\n });\n restoreFunctions = [];\n };\n }\n return plugin;\n };\n var getDuration = function (startTime) {\n return startTime && new Date() - startTime;\n };\n\n /* removed: var _$intRange_33 = require('@bugsnag/core/lib/validators/int-range'); */\n ;\n\n /*\n * Throttles and dedupes events\n */\n\n var _$throttle_50 = {\n load: function (client) {\n // track sent events for each init of the plugin\n var n = 0;\n\n // add onError hook\n client.addOnError(function (event) {\n // have max events been sent already?\n if (n >= client._config.maxEvents) {\n client._logger.warn(\"Cancelling event send due to maxEvents per session limit of \" + client._config.maxEvents + \" being reached\");\n return false;\n }\n n++;\n });\n client.resetEventCount = function () {\n n = 0;\n };\n },\n configSchema: {\n maxEvents: {\n defaultValue: function () {\n return 10;\n },\n message: 'should be a positive integer ≤100',\n validate: function (val) {\n return _$intRange_33(1, 100)(val);\n }\n }\n }\n };\n var _$stripQueryString_51 = {};\n /*\n * Remove query strings (and fragments) from stacktraces\n */\n /* removed: var _$map_25 = require('@bugsnag/core/lib/es-utils/map'); */\n ;\n /* removed: var _$reduce_26 = require('@bugsnag/core/lib/es-utils/reduce'); */\n ;\n _$stripQueryString_51 = {\n load: function (client) {\n client.addOnError(function (event) {\n var allFrames = _$reduce_26(event.errors, function (accum, er) {\n return accum.concat(er.stacktrace);\n }, []);\n _$map_25(allFrames, function (frame) {\n frame.file = strip(frame.file);\n });\n });\n }\n };\n var strip = _$stripQueryString_51._strip = function (str) {\n return typeof str === 'string' ? str.replace(/\\?.*$/, '').replace(/#.*$/, '') : str;\n };\n\n /*\n * Automatically notifies Bugsnag when window.onerror is called\n */\n\n var _$onerror_52 = function (win, component) {\n if (win === void 0) {\n win = window;\n }\n if (component === void 0) {\n component = 'window onerror';\n }\n return {\n load: function (client) {\n if (!client._config.autoDetectErrors) return;\n if (!client._config.enabledErrorTypes.unhandledExceptions) return;\n function onerror(messageOrEvent, url, lineNo, charNo, error) {\n // Ignore errors with no info due to CORS settings\n if (lineNo === 0 && /Script error\\.?/.test(messageOrEvent)) {\n client._logger.warn('Ignoring cross-domain or eval script error. See docs: https://tinyurl.com/yy3rn63z');\n } else {\n // any error sent to window.onerror is unhandled and has severity=error\n var handledState = {\n severity: 'error',\n unhandled: true,\n severityReason: {\n type: 'unhandledException'\n }\n };\n var event;\n\n // window.onerror can be called in a number of ways. This big if-else is how we\n // figure out which arguments were supplied, and what kind of values it received.\n\n if (error) {\n // if the last parameter (error) was supplied, this is a modern browser's\n // way of saying \"this value was thrown and not caught\"\n event = client.Event.create(error, true, handledState, component, 1);\n decorateStack(event.errors[0].stacktrace, url, lineNo, charNo);\n } else if (\n // This complex case detects \"error\" events that are typically synthesised\n // by jquery's trigger method (although can be created in other ways). In\n // order to detect this:\n // - the first argument (message) must exist and be an object (most likely it's a jQuery event)\n // - the second argument (url) must either not exist or be something other than a string (if it\n // exists and is not a string, it'll be the extraParameters argument from jQuery's trigger()\n // function)\n // - the third, fourth and fifth arguments must not exist (lineNo, charNo and error)\n typeof messageOrEvent === 'object' && messageOrEvent !== null && (!url || typeof url !== 'string') && !lineNo && !charNo && !error) {\n // The jQuery event may have a \"type\" property, if so use it as part of the error message\n var name = messageOrEvent.type ? \"Event: \" + messageOrEvent.type : 'Error';\n // attempt to find a message from one of the conventional properties, but\n // default to empty string (the event will fill it with a placeholder)\n var message = messageOrEvent.message || messageOrEvent.detail || '';\n event = client.Event.create({\n name: name,\n message: message\n }, true, handledState, component, 1);\n\n // provide the original thing onerror received – not our error-like object we passed to _notify\n event.originalError = messageOrEvent;\n\n // include the raw input as metadata – it might contain more info than we extracted\n event.addMetadata(component, {\n event: messageOrEvent,\n extraParameters: url\n });\n } else {\n // Lastly, if there was no \"error\" parameter this event was probably from an old\n // browser that doesn't support that. Instead we need to generate a stacktrace.\n event = client.Event.create(messageOrEvent, true, handledState, component, 1);\n decorateStack(event.errors[0].stacktrace, url, lineNo, charNo);\n }\n client._notify(event);\n }\n if (typeof prevOnError === 'function') prevOnError.apply(this, arguments);\n }\n var prevOnError = win.onerror;\n win.onerror = onerror;\n }\n };\n };\n\n // Sometimes the stacktrace has less information than was passed to window.onerror.\n // This function will augment the first stackframe with any useful info that was\n // received as arguments to the onerror callback.\n var decorateStack = function (stack, url, lineNo, charNo) {\n if (!stack[0]) stack.push({});\n var culprit = stack[0];\n if (!culprit.file && typeof url === 'string') culprit.file = url;\n if (!culprit.lineNumber && isActualNumber(lineNo)) culprit.lineNumber = lineNo;\n if (!culprit.columnNumber) {\n if (isActualNumber(charNo)) {\n culprit.columnNumber = charNo;\n } else if (window.event && isActualNumber(window.event.errorCharacter)) {\n culprit.columnNumber = window.event.errorCharacter;\n }\n }\n };\n var isActualNumber = function (n) {\n return typeof n === 'number' && String.call(n) !== 'NaN';\n };\n\n /* removed: var _$map_25 = require('@bugsnag/core/lib/es-utils/map'); */\n ;\n /* removed: var _$iserror_29 = require('@bugsnag/core/lib/iserror'); */\n ;\n var _listener;\n /*\n * Automatically notifies Bugsnag when window.onunhandledrejection is called\n */\n var _$unhandledRejection_53 = function (win) {\n if (win === void 0) {\n win = window;\n }\n var plugin = {\n load: function (client) {\n if (!client._config.autoDetectErrors || !client._config.enabledErrorTypes.unhandledRejections) return;\n var listener = function (evt) {\n var error = evt.reason;\n var isBluebird = false;\n\n // accessing properties on evt.detail can throw errors (see #394)\n try {\n if (evt.detail && evt.detail.reason) {\n error = evt.detail.reason;\n isBluebird = true;\n }\n } catch (e) {}\n\n // Report unhandled promise rejections as handled if the user has configured it\n var unhandled = !client._config.reportUnhandledPromiseRejectionsAsHandled;\n var event = client.Event.create(error, false, {\n severity: 'error',\n unhandled: unhandled,\n severityReason: {\n type: 'unhandledPromiseRejection'\n }\n }, 'unhandledrejection handler', 1, client._logger);\n if (isBluebird) {\n _$map_25(event.errors[0].stacktrace, fixBluebirdStacktrace(error));\n }\n client._notify(event, function (event) {\n if (_$iserror_29(event.originalError) && !event.originalError.stack) {\n var _event$addMetadata;\n event.addMetadata('unhandledRejection handler', (_event$addMetadata = {}, _event$addMetadata[Object.prototype.toString.call(event.originalError)] = {\n name: event.originalError.name,\n message: event.originalError.message,\n code: event.originalError.code\n }, _event$addMetadata));\n }\n });\n };\n if ('addEventListener' in win) {\n win.addEventListener('unhandledrejection', listener);\n } else {\n win.onunhandledrejection = function (reason, promise) {\n listener({\n detail: {\n reason: reason,\n promise: promise\n }\n });\n };\n }\n _listener = listener;\n }\n };\n if (\"production\" !== 'production') {\n plugin.destroy = function (win) {\n if (win === void 0) {\n win = window;\n }\n if (_listener) {\n if ('addEventListener' in win) {\n win.removeEventListener('unhandledrejection', _listener);\n } else {\n win.onunhandledrejection = null;\n }\n }\n _listener = null;\n };\n }\n return plugin;\n };\n\n // The stack parser on bluebird stacks in FF get a suprious first frame:\n //\n // Error: derp\n // b@http://localhost:5000/bluebird.html:22:24\n // a@http://localhost:5000/bluebird.html:18:9\n // @http://localhost:5000/bluebird.html:14:9\n //\n // results in\n // […]\n // 0: Object { file: \"Error: derp\", method: undefined, lineNumber: undefined, … }\n // 1: Object { file: \"http://localhost:5000/bluebird.html\", method: \"b\", lineNumber: 22, … }\n // 2: Object { file: \"http://localhost:5000/bluebird.html\", method: \"a\", lineNumber: 18, … }\n // 3: Object { file: \"http://localhost:5000/bluebird.html\", lineNumber: 14, columnNumber: 9, … }\n //\n // so the following reduce/accumulator function removes such frames\n //\n // Bluebird pads method names with spaces so trim that too…\n // https://github.com/petkaantonov/bluebird/blob/b7f21399816d02f979fe434585334ce901dcaf44/src/debuggability.js#L568-L571\n var fixBluebirdStacktrace = function (error) {\n return function (frame) {\n if (frame.file === error.toString()) return;\n if (frame.method) {\n frame.method = frame.method.replace(/^\\s+/, '');\n }\n };\n };\n var _$notifier_11 = {};\n var name = 'Bugsnag JavaScript';\n var version = '8.2.0';\n var url = 'https://github.com/bugsnag/bugsnag-js';\n /* removed: var _$Client_13 = require('@bugsnag/core/client'); */\n ;\n /* removed: var _$Event_15 = require('@bugsnag/core/event'); */\n ;\n /* removed: var _$Session_36 = require('@bugsnag/core/session'); */\n ;\n /* removed: var _$Breadcrumb_12 = require('@bugsnag/core/breadcrumb'); */\n ;\n /* removed: var _$map_25 = require('@bugsnag/core/lib/es-utils/map'); */\n ;\n /* removed: var _$keys_24 = require('@bugsnag/core/lib/es-utils/keys'); */\n ;\n /* removed: var _$assign_20 = require('@bugsnag/core/lib/es-utils/assign'); */\n ;\n\n // extend the base config schema with some browser-specific options\n var __schema_11 = _$assign_20({}, _$config_14.schema, _$config_10);\n /* removed: var _$onerror_52 = require('@bugsnag/plugin-window-onerror'); */\n ;\n /* removed: var _$unhandledRejection_53 = require('@bugsnag/plugin-window-unhandled-rejection'); */\n ;\n /* removed: var _$app_39 = require('@bugsnag/plugin-app-duration'); */\n ;\n /* removed: var _$device_41 = require('@bugsnag/plugin-browser-device'); */\n ;\n /* removed: var _$context_40 = require('@bugsnag/plugin-browser-context'); */\n ;\n /* removed: var _$request_42 = require('@bugsnag/plugin-browser-request'); */\n ;\n /* removed: var _$throttle_50 = require('@bugsnag/plugin-simple-throttle'); */\n ;\n /* removed: var _$consoleBreadcrumbs_45 = require('@bugsnag/plugin-console-breadcrumbs'); */\n ;\n /* removed: var _$networkBreadcrumbs_49 = require('@bugsnag/plugin-network-breadcrumbs'); */\n ;\n /* removed: var _$navigationBreadcrumbs_48 = require('@bugsnag/plugin-navigation-breadcrumbs'); */\n ;\n /* removed: var _$interactionBreadcrumbs_47 = require('@bugsnag/plugin-interaction-breadcrumbs'); */\n ;\n /* removed: var _$inlineScriptContent_46 = require('@bugsnag/plugin-inline-script-content'); */\n ;\n /* removed: var _$session_43 = require('@bugsnag/plugin-browser-session'); */\n ;\n /* removed: var _$clientIp_44 = require('@bugsnag/plugin-client-ip'); */\n ;\n /* removed: var _$stripQueryString_51 = require('@bugsnag/plugin-strip-query-string'); */\n ;\n\n // delivery mechanisms\n /* removed: var _$delivery_37 = require('@bugsnag/delivery-x-domain-request'); */\n ;\n /* removed: var _$delivery_38 = require('@bugsnag/delivery-xml-http-request'); */\n ;\n var Bugsnag = {\n _client: null,\n createClient: function (opts) {\n // handle very simple use case where user supplies just the api key as a string\n if (typeof opts === 'string') opts = {\n apiKey: opts\n };\n if (!opts) opts = {};\n var internalPlugins = [\n // add browser-specific plugins\n _$app_39, _$device_41(), _$context_40(), _$request_42(), _$throttle_50, _$session_43, _$clientIp_44, _$stripQueryString_51, _$onerror_52(), _$unhandledRejection_53(), _$navigationBreadcrumbs_48(), _$interactionBreadcrumbs_47(), _$networkBreadcrumbs_49(), _$consoleBreadcrumbs_45,\n // this one added last to avoid wrapping functionality before bugsnag uses it\n _$inlineScriptContent_46()];\n\n // configure a client with user supplied options\n var bugsnag = new _$Client_13(opts, __schema_11, internalPlugins, {\n name: name,\n version: version,\n url: url\n });\n\n // set delivery based on browser capability (IE 8+9 have an XDomainRequest object)\n bugsnag._setDelivery(window.XDomainRequest ? _$delivery_37 : _$delivery_38);\n bugsnag._logger.debug('Loaded!');\n bugsnag.leaveBreadcrumb('Bugsnag loaded', {}, 'state');\n return bugsnag._config.autoTrackSessions ? bugsnag.startSession() : bugsnag;\n },\n start: function (opts) {\n if (Bugsnag._client) {\n Bugsnag._client._logger.warn('Bugsnag.start() was called more than once. Ignoring.');\n return Bugsnag._client;\n }\n Bugsnag._client = Bugsnag.createClient(opts);\n return Bugsnag._client;\n },\n isStarted: function () {\n return Bugsnag._client != null;\n }\n };\n _$map_25(['resetEventCount'].concat(_$keys_24(_$Client_13.prototype)), function (m) {\n if (/^_/.test(m)) return;\n Bugsnag[m] = function () {\n if (!Bugsnag._client) return console.log(\"Bugsnag.\" + m + \"() was called before Bugsnag.start()\");\n Bugsnag._client._depth += 1;\n var ret = Bugsnag._client[m].apply(Bugsnag._client, arguments);\n Bugsnag._client._depth -= 1;\n return ret;\n };\n });\n _$notifier_11 = Bugsnag;\n _$notifier_11.Client = _$Client_13;\n _$notifier_11.Event = _$Event_15;\n _$notifier_11.Session = _$Session_36;\n _$notifier_11.Breadcrumb = _$Breadcrumb_12;\n\n // Export a \"default\" property for compatibility with ESM imports\n _$notifier_11[\"default\"] = Bugsnag;\n return _$notifier_11;\n});\n","module.exports = require('@bugsnag/browser');","/**\n * @license Angular v19.1.7\n * (c) 2010-2024 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { ɵAnimationGroupPlayer, NoopAnimationPlayer, AUTO_STYLE, ɵPRE_STYLE, sequence, AnimationMetadataType, style } from '@angular/animations';\nimport * as i0 from '@angular/core';\nimport { ɵRuntimeError, Injectable } from '@angular/core';\nconst LINE_START = '\\n - ';\nfunction invalidTimingValue(exp) {\n return new ɵRuntimeError(3000 /* RuntimeErrorCode.INVALID_TIMING_VALUE */, ngDevMode && `The provided timing value \"${exp}\" is invalid.`);\n}\nfunction negativeStepValue() {\n return new ɵRuntimeError(3100 /* RuntimeErrorCode.NEGATIVE_STEP_VALUE */, ngDevMode && 'Duration values below 0 are not allowed for this animation step.');\n}\nfunction negativeDelayValue() {\n return new ɵRuntimeError(3101 /* RuntimeErrorCode.NEGATIVE_DELAY_VALUE */, ngDevMode && 'Delay values below 0 are not allowed for this animation step.');\n}\nfunction invalidStyleParams(varName) {\n return new ɵRuntimeError(3001 /* RuntimeErrorCode.INVALID_STYLE_PARAMS */, ngDevMode && `Unable to resolve the local animation param ${varName} in the given list of values`);\n}\nfunction invalidParamValue(varName) {\n return new ɵRuntimeError(3003 /* RuntimeErrorCode.INVALID_PARAM_VALUE */, ngDevMode && `Please provide a value for the animation param ${varName}`);\n}\nfunction invalidNodeType(nodeType) {\n return new ɵRuntimeError(3004 /* RuntimeErrorCode.INVALID_NODE_TYPE */, ngDevMode && `Unable to resolve animation metadata node #${nodeType}`);\n}\nfunction invalidCssUnitValue(userProvidedProperty, value) {\n return new ɵRuntimeError(3005 /* RuntimeErrorCode.INVALID_CSS_UNIT_VALUE */, ngDevMode && `Please provide a CSS unit value for ${userProvidedProperty}:${value}`);\n}\nfunction invalidTrigger() {\n return new ɵRuntimeError(3006 /* RuntimeErrorCode.INVALID_TRIGGER */, ngDevMode && \"animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))\");\n}\nfunction invalidDefinition() {\n return new ɵRuntimeError(3007 /* RuntimeErrorCode.INVALID_DEFINITION */, ngDevMode && 'only state() and transition() definitions can sit inside of a trigger()');\n}\nfunction invalidState(metadataName, missingSubs) {\n return new ɵRuntimeError(3008 /* RuntimeErrorCode.INVALID_STATE */, ngDevMode && `state(\"${metadataName}\", ...) must define default values for all the following style substitutions: ${missingSubs.join(', ')}`);\n}\nfunction invalidStyleValue(value) {\n return new ɵRuntimeError(3002 /* RuntimeErrorCode.INVALID_STYLE_VALUE */, ngDevMode && `The provided style string value ${value} is not allowed.`);\n}\nfunction invalidProperty(prop) {\n return new ɵRuntimeError(3009 /* RuntimeErrorCode.INVALID_PROPERTY */, ngDevMode && `The provided animation property \"${prop}\" is not a supported CSS property for animations`);\n}\nfunction invalidParallelAnimation(prop, firstStart, firstEnd, secondStart, secondEnd) {\n return new ɵRuntimeError(3010 /* RuntimeErrorCode.INVALID_PARALLEL_ANIMATION */, ngDevMode && `The CSS property \"${prop}\" that exists between the times of \"${firstStart}ms\" and \"${firstEnd}ms\" is also being animated in a parallel animation between the times of \"${secondStart}ms\" and \"${secondEnd}ms\"`);\n}\nfunction invalidKeyframes() {\n return new ɵRuntimeError(3011 /* RuntimeErrorCode.INVALID_KEYFRAMES */, ngDevMode && `keyframes() must be placed inside of a call to animate()`);\n}\nfunction invalidOffset() {\n return new ɵRuntimeError(3012 /* RuntimeErrorCode.INVALID_OFFSET */, ngDevMode && `Please ensure that all keyframe offsets are between 0 and 1`);\n}\nfunction keyframeOffsetsOutOfOrder() {\n return new ɵRuntimeError(3200 /* RuntimeErrorCode.KEYFRAME_OFFSETS_OUT_OF_ORDER */, ngDevMode && `Please ensure that all keyframe offsets are in order`);\n}\nfunction keyframesMissingOffsets() {\n return new ɵRuntimeError(3202 /* RuntimeErrorCode.KEYFRAMES_MISSING_OFFSETS */, ngDevMode && `Not all style() steps within the declared keyframes() contain offsets`);\n}\nfunction invalidStagger() {\n return new ɵRuntimeError(3013 /* RuntimeErrorCode.INVALID_STAGGER */, ngDevMode && `stagger() can only be used inside of query()`);\n}\nfunction invalidQuery(selector) {\n return new ɵRuntimeError(3014 /* RuntimeErrorCode.INVALID_QUERY */, ngDevMode && `\\`query(\"${selector}\")\\` returned zero elements. (Use \\`query(\"${selector}\", { optional: true })\\` if you wish to allow this.)`);\n}\nfunction invalidExpression(expr) {\n return new ɵRuntimeError(3015 /* RuntimeErrorCode.INVALID_EXPRESSION */, ngDevMode && `The provided transition expression \"${expr}\" is not supported`);\n}\nfunction invalidTransitionAlias(alias) {\n return new ɵRuntimeError(3016 /* RuntimeErrorCode.INVALID_TRANSITION_ALIAS */, ngDevMode && `The transition alias value \"${alias}\" is not supported`);\n}\nfunction validationFailed(errors) {\n return new ɵRuntimeError(3500 /* RuntimeErrorCode.VALIDATION_FAILED */, ngDevMode && `animation validation failed:\\n${errors.map(err => err.message).join('\\n')}`);\n}\nfunction buildingFailed(errors) {\n return new ɵRuntimeError(3501 /* RuntimeErrorCode.BUILDING_FAILED */, ngDevMode && `animation building failed:\\n${errors.map(err => err.message).join('\\n')}`);\n}\nfunction triggerBuildFailed(name, errors) {\n return new ɵRuntimeError(3404 /* RuntimeErrorCode.TRIGGER_BUILD_FAILED */, ngDevMode && `The animation trigger \"${name}\" has failed to build due to the following errors:\\n - ${errors.map(err => err.message).join('\\n - ')}`);\n}\nfunction animationFailed(errors) {\n return new ɵRuntimeError(3502 /* RuntimeErrorCode.ANIMATION_FAILED */, ngDevMode && `Unable to animate due to the following errors:${LINE_START}${errors.map(err => err.message).join(LINE_START)}`);\n}\nfunction registerFailed(errors) {\n return new ɵRuntimeError(3503 /* RuntimeErrorCode.REGISTRATION_FAILED */, ngDevMode && `Unable to build the animation due to the following errors: ${errors.map(err => err.message).join('\\n')}`);\n}\nfunction missingOrDestroyedAnimation() {\n return new ɵRuntimeError(3300 /* RuntimeErrorCode.MISSING_OR_DESTROYED_ANIMATION */, ngDevMode && \"The requested animation doesn't exist or has already been destroyed\");\n}\nfunction createAnimationFailed(errors) {\n return new ɵRuntimeError(3504 /* RuntimeErrorCode.CREATE_ANIMATION_FAILED */, ngDevMode && `Unable to create the animation due to the following errors:${errors.map(err => err.message).join('\\n')}`);\n}\nfunction missingPlayer(id) {\n return new ɵRuntimeError(3301 /* RuntimeErrorCode.MISSING_PLAYER */, ngDevMode && `Unable to find the timeline player referenced by ${id}`);\n}\nfunction missingTrigger(phase, name) {\n return new ɵRuntimeError(3302 /* RuntimeErrorCode.MISSING_TRIGGER */, ngDevMode && `Unable to listen on the animation trigger event \"${phase}\" because the animation trigger \"${name}\" doesn\\'t exist!`);\n}\nfunction missingEvent(name) {\n return new ɵRuntimeError(3303 /* RuntimeErrorCode.MISSING_EVENT */, ngDevMode && `Unable to listen on the animation trigger \"${name}\" because the provided event is undefined!`);\n}\nfunction unsupportedTriggerEvent(phase, name) {\n return new ɵRuntimeError(3400 /* RuntimeErrorCode.UNSUPPORTED_TRIGGER_EVENT */, ngDevMode && `The provided animation trigger event \"${phase}\" for the animation trigger \"${name}\" is not supported!`);\n}\nfunction unregisteredTrigger(name) {\n return new ɵRuntimeError(3401 /* RuntimeErrorCode.UNREGISTERED_TRIGGER */, ngDevMode && `The provided animation trigger \"${name}\" has not been registered!`);\n}\nfunction triggerTransitionsFailed(errors) {\n return new ɵRuntimeError(3402 /* RuntimeErrorCode.TRIGGER_TRANSITIONS_FAILED */, ngDevMode && `Unable to process animations due to the following failed trigger transitions\\n ${errors.map(err => err.message).join('\\n')}`);\n}\nfunction triggerParsingFailed(name, errors) {\n return new ɵRuntimeError(3403 /* RuntimeErrorCode.TRIGGER_PARSING_FAILED */, ngDevMode && `Animation parsing for the ${name} trigger have failed:${LINE_START}${errors.map(err => err.message).join(LINE_START)}`);\n}\nfunction transitionFailed(name, errors) {\n return new ɵRuntimeError(3505 /* RuntimeErrorCode.TRANSITION_FAILED */, ngDevMode && `@${name} has failed due to:\\n ${errors.map(err => err.message).join('\\n- ')}`);\n}\n\n/**\n * Set of all animatable CSS properties\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_animated_properties\n */\nconst ANIMATABLE_PROP_SET = /*#__PURE__*/new Set(['-moz-outline-radius', '-moz-outline-radius-bottomleft', '-moz-outline-radius-bottomright', '-moz-outline-radius-topleft', '-moz-outline-radius-topright', '-ms-grid-columns', '-ms-grid-rows', '-webkit-line-clamp', '-webkit-text-fill-color', '-webkit-text-stroke', '-webkit-text-stroke-color', 'accent-color', 'all', 'backdrop-filter', 'background', 'background-color', 'background-position', 'background-size', 'block-size', 'border', 'border-block-end', 'border-block-end-color', 'border-block-end-width', 'border-block-start', 'border-block-start-color', 'border-block-start-width', 'border-bottom', 'border-bottom-color', 'border-bottom-left-radius', 'border-bottom-right-radius', 'border-bottom-width', 'border-color', 'border-end-end-radius', 'border-end-start-radius', 'border-image-outset', 'border-image-slice', 'border-image-width', 'border-inline-end', 'border-inline-end-color', 'border-inline-end-width', 'border-inline-start', 'border-inline-start-color', 'border-inline-start-width', 'border-left', 'border-left-color', 'border-left-width', 'border-radius', 'border-right', 'border-right-color', 'border-right-width', 'border-start-end-radius', 'border-start-start-radius', 'border-top', 'border-top-color', 'border-top-left-radius', 'border-top-right-radius', 'border-top-width', 'border-width', 'bottom', 'box-shadow', 'caret-color', 'clip', 'clip-path', 'color', 'column-count', 'column-gap', 'column-rule', 'column-rule-color', 'column-rule-width', 'column-width', 'columns', 'filter', 'flex', 'flex-basis', 'flex-grow', 'flex-shrink', 'font', 'font-size', 'font-size-adjust', 'font-stretch', 'font-variation-settings', 'font-weight', 'gap', 'grid-column-gap', 'grid-gap', 'grid-row-gap', 'grid-template-columns', 'grid-template-rows', 'height', 'inline-size', 'input-security', 'inset', 'inset-block', 'inset-block-end', 'inset-block-start', 'inset-inline', 'inset-inline-end', 'inset-inline-start', 'left', 'letter-spacing', 'line-clamp', 'line-height', 'margin', 'margin-block-end', 'margin-block-start', 'margin-bottom', 'margin-inline-end', 'margin-inline-start', 'margin-left', 'margin-right', 'margin-top', 'mask', 'mask-border', 'mask-position', 'mask-size', 'max-block-size', 'max-height', 'max-inline-size', 'max-lines', 'max-width', 'min-block-size', 'min-height', 'min-inline-size', 'min-width', 'object-position', 'offset', 'offset-anchor', 'offset-distance', 'offset-path', 'offset-position', 'offset-rotate', 'opacity', 'order', 'outline', 'outline-color', 'outline-offset', 'outline-width', 'padding', 'padding-block-end', 'padding-block-start', 'padding-bottom', 'padding-inline-end', 'padding-inline-start', 'padding-left', 'padding-right', 'padding-top', 'perspective', 'perspective-origin', 'right', 'rotate', 'row-gap', 'scale', 'scroll-margin', 'scroll-margin-block', 'scroll-margin-block-end', 'scroll-margin-block-start', 'scroll-margin-bottom', 'scroll-margin-inline', 'scroll-margin-inline-end', 'scroll-margin-inline-start', 'scroll-margin-left', 'scroll-margin-right', 'scroll-margin-top', 'scroll-padding', 'scroll-padding-block', 'scroll-padding-block-end', 'scroll-padding-block-start', 'scroll-padding-bottom', 'scroll-padding-inline', 'scroll-padding-inline-end', 'scroll-padding-inline-start', 'scroll-padding-left', 'scroll-padding-right', 'scroll-padding-top', 'scroll-snap-coordinate', 'scroll-snap-destination', 'scrollbar-color', 'shape-image-threshold', 'shape-margin', 'shape-outside', 'tab-size', 'text-decoration', 'text-decoration-color', 'text-decoration-thickness', 'text-emphasis', 'text-emphasis-color', 'text-indent', 'text-shadow', 'text-underline-offset', 'top', 'transform', 'transform-origin', 'translate', 'vertical-align', 'visibility', 'width', 'word-spacing', 'z-index', 'zoom']);\nfunction optimizeGroupPlayer(players) {\n switch (players.length) {\n case 0:\n return new NoopAnimationPlayer();\n case 1:\n return players[0];\n default:\n return new ɵAnimationGroupPlayer(players);\n }\n}\nfunction normalizeKeyframes$1(normalizer, keyframes, preStyles = new Map(), postStyles = new Map()) {\n const errors = [];\n const normalizedKeyframes = [];\n let previousOffset = -1;\n let previousKeyframe = null;\n keyframes.forEach(kf => {\n const offset = kf.get('offset');\n const isSameOffset = offset == previousOffset;\n const normalizedKeyframe = isSameOffset && previousKeyframe || new Map();\n kf.forEach((val, prop) => {\n let normalizedProp = prop;\n let normalizedValue = val;\n if (prop !== 'offset') {\n normalizedProp = normalizer.normalizePropertyName(normalizedProp, errors);\n switch (normalizedValue) {\n case ɵPRE_STYLE:\n normalizedValue = preStyles.get(prop);\n break;\n case AUTO_STYLE:\n normalizedValue = postStyles.get(prop);\n break;\n default:\n normalizedValue = normalizer.normalizeStyleValue(prop, normalizedProp, normalizedValue, errors);\n break;\n }\n }\n normalizedKeyframe.set(normalizedProp, normalizedValue);\n });\n if (!isSameOffset) {\n normalizedKeyframes.push(normalizedKeyframe);\n }\n previousKeyframe = normalizedKeyframe;\n previousOffset = offset;\n });\n if (errors.length) {\n throw animationFailed(errors);\n }\n return normalizedKeyframes;\n}\nfunction listenOnPlayer(player, eventName, event, callback) {\n switch (eventName) {\n case 'start':\n player.onStart(() => callback(event && copyAnimationEvent(event, 'start', player)));\n break;\n case 'done':\n player.onDone(() => callback(event && copyAnimationEvent(event, 'done', player)));\n break;\n case 'destroy':\n player.onDestroy(() => callback(event && copyAnimationEvent(event, 'destroy', player)));\n break;\n }\n}\nfunction copyAnimationEvent(e, phaseName, player) {\n const totalTime = player.totalTime;\n const disabled = player.disabled ? true : false;\n const event = makeAnimationEvent(e.element, e.triggerName, e.fromState, e.toState, phaseName || e.phaseName, totalTime == undefined ? e.totalTime : totalTime, disabled);\n const data = e['_data'];\n if (data != null) {\n event['_data'] = data;\n }\n return event;\n}\nfunction makeAnimationEvent(element, triggerName, fromState, toState, phaseName = '', totalTime = 0, disabled) {\n return {\n element,\n triggerName,\n fromState,\n toState,\n phaseName,\n totalTime,\n disabled: !!disabled\n };\n}\nfunction getOrSetDefaultValue(map, key, defaultValue) {\n let value = map.get(key);\n if (!value) {\n map.set(key, value = defaultValue);\n }\n return value;\n}\nfunction parseTimelineCommand(command) {\n const separatorPos = command.indexOf(':');\n const id = command.substring(1, separatorPos);\n const action = command.slice(separatorPos + 1);\n return [id, action];\n}\nconst documentElement = /* @__PURE__ */(() => typeof document === 'undefined' ? null : document.documentElement)();\nfunction getParentElement(element) {\n const parent = element.parentNode || element.host || null; // consider host to support shadow DOM\n if (parent === documentElement) {\n return null;\n }\n return parent;\n}\nfunction containsVendorPrefix(prop) {\n // Webkit is the only real popular vendor prefix nowadays\n // cc: http://shouldiprefix.com/\n return prop.substring(1, 6) == 'ebkit'; // webkit or Webkit\n}\nlet _CACHED_BODY = null;\nlet _IS_WEBKIT = false;\nfunction validateStyleProperty(prop) {\n if (!_CACHED_BODY) {\n _CACHED_BODY = getBodyNode() || {};\n _IS_WEBKIT = _CACHED_BODY.style ? 'WebkitAppearance' in _CACHED_BODY.style : false;\n }\n let result = true;\n if (_CACHED_BODY.style && !containsVendorPrefix(prop)) {\n result = prop in _CACHED_BODY.style;\n if (!result && _IS_WEBKIT) {\n const camelProp = 'Webkit' + prop.charAt(0).toUpperCase() + prop.slice(1);\n result = camelProp in _CACHED_BODY.style;\n }\n }\n return result;\n}\nfunction validateWebAnimatableStyleProperty(prop) {\n return ANIMATABLE_PROP_SET.has(prop);\n}\nfunction getBodyNode() {\n if (typeof document != 'undefined') {\n return document.body;\n }\n return null;\n}\nfunction containsElement(elm1, elm2) {\n while (elm2) {\n if (elm2 === elm1) {\n return true;\n }\n elm2 = getParentElement(elm2);\n }\n return false;\n}\nfunction invokeQuery(element, selector, multi) {\n if (multi) {\n return Array.from(element.querySelectorAll(selector));\n }\n const elem = element.querySelector(selector);\n return elem ? [elem] : [];\n}\nfunction hypenatePropsKeys(original) {\n const newMap = new Map();\n original.forEach((val, prop) => {\n const newProp = prop.replace(/([a-z])([A-Z])/g, '$1-$2');\n newMap.set(newProp, val);\n });\n return newMap;\n}\n\n/**\n * @publicApi\n *\n * `AnimationDriver` implentation for Noop animations\n */\nlet NoopAnimationDriver = /*#__PURE__*/(() => {\n class NoopAnimationDriver {\n /**\n * @returns Whether `prop` is a valid CSS property\n */\n validateStyleProperty(prop) {\n return validateStyleProperty(prop);\n }\n /**\n *\n * @returns Whether elm1 contains elm2.\n */\n containsElement(elm1, elm2) {\n return containsElement(elm1, elm2);\n }\n /**\n * @returns Rhe parent of the given element or `null` if the element is the `document`\n */\n getParentElement(element) {\n return getParentElement(element);\n }\n /**\n * @returns The result of the query selector on the element. The array will contain up to 1 item\n * if `multi` is `false`.\n */\n query(element, selector, multi) {\n return invokeQuery(element, selector, multi);\n }\n /**\n * @returns The `defaultValue` or empty string\n */\n computeStyle(element, prop, defaultValue) {\n return defaultValue || '';\n }\n /**\n * @returns An `NoopAnimationPlayer`\n */\n animate(element, keyframes, duration, delay, easing, previousPlayers = [], scrubberAccessRequested) {\n return new NoopAnimationPlayer(duration, delay);\n }\n static ɵfac = function NoopAnimationDriver_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || NoopAnimationDriver)();\n };\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: NoopAnimationDriver,\n factory: NoopAnimationDriver.ɵfac\n });\n }\n return NoopAnimationDriver;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @publicApi\n */\nclass AnimationDriver {\n /**\n * @deprecated Use the NoopAnimationDriver class.\n */\n static NOOP = /*#__PURE__*/new NoopAnimationDriver();\n}\nclass AnimationStyleNormalizer {}\nclass NoopAnimationStyleNormalizer {\n normalizePropertyName(propertyName, errors) {\n return propertyName;\n }\n normalizeStyleValue(userProvidedProperty, normalizedProperty, value, errors) {\n return value;\n }\n}\nconst ONE_SECOND = 1000;\nconst SUBSTITUTION_EXPR_START = '{{';\nconst SUBSTITUTION_EXPR_END = '}}';\nconst ENTER_CLASSNAME = 'ng-enter';\nconst LEAVE_CLASSNAME = 'ng-leave';\nconst NG_TRIGGER_CLASSNAME = 'ng-trigger';\nconst NG_TRIGGER_SELECTOR = '.ng-trigger';\nconst NG_ANIMATING_CLASSNAME = 'ng-animating';\nconst NG_ANIMATING_SELECTOR = '.ng-animating';\nfunction resolveTimingValue(value) {\n if (typeof value == 'number') return value;\n const matches = value.match(/^(-?[\\.\\d]+)(m?s)/);\n if (!matches || matches.length < 2) return 0;\n return _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n}\nfunction _convertTimeValueToMS(value, unit) {\n switch (unit) {\n case 's':\n return value * ONE_SECOND;\n default:\n // ms or something else\n return value;\n }\n}\nfunction resolveTiming(timings, errors, allowNegativeValues) {\n return timings.hasOwnProperty('duration') ? timings : parseTimeExpression(timings, errors, allowNegativeValues);\n}\nfunction parseTimeExpression(exp, errors, allowNegativeValues) {\n const regex = /^(-?[\\.\\d]+)(m?s)(?:\\s+(-?[\\.\\d]+)(m?s))?(?:\\s+([-a-z]+(?:\\(.+?\\))?))?$/i;\n let duration;\n let delay = 0;\n let easing = '';\n if (typeof exp === 'string') {\n const matches = exp.match(regex);\n if (matches === null) {\n errors.push(invalidTimingValue(exp));\n return {\n duration: 0,\n delay: 0,\n easing: ''\n };\n }\n duration = _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n const delayMatch = matches[3];\n if (delayMatch != null) {\n delay = _convertTimeValueToMS(parseFloat(delayMatch), matches[4]);\n }\n const easingVal = matches[5];\n if (easingVal) {\n easing = easingVal;\n }\n } else {\n duration = exp;\n }\n if (!allowNegativeValues) {\n let containsErrors = false;\n let startIndex = errors.length;\n if (duration < 0) {\n errors.push(negativeStepValue());\n containsErrors = true;\n }\n if (delay < 0) {\n errors.push(negativeDelayValue());\n containsErrors = true;\n }\n if (containsErrors) {\n errors.splice(startIndex, 0, invalidTimingValue(exp));\n }\n }\n return {\n duration,\n delay,\n easing\n };\n}\nfunction normalizeKeyframes(keyframes) {\n if (!keyframes.length) {\n return [];\n }\n if (keyframes[0] instanceof Map) {\n return keyframes;\n }\n return keyframes.map(kf => new Map(Object.entries(kf)));\n}\nfunction normalizeStyles(styles) {\n return Array.isArray(styles) ? new Map(...styles) : new Map(styles);\n}\nfunction setStyles(element, styles, formerStyles) {\n styles.forEach((val, prop) => {\n const camelProp = dashCaseToCamelCase(prop);\n if (formerStyles && !formerStyles.has(prop)) {\n formerStyles.set(prop, element.style[camelProp]);\n }\n element.style[camelProp] = val;\n });\n}\nfunction eraseStyles(element, styles) {\n styles.forEach((_, prop) => {\n const camelProp = dashCaseToCamelCase(prop);\n element.style[camelProp] = '';\n });\n}\nfunction normalizeAnimationEntry(steps) {\n if (Array.isArray(steps)) {\n if (steps.length == 1) return steps[0];\n return sequence(steps);\n }\n return steps;\n}\nfunction validateStyleParams(value, options, errors) {\n const params = options.params || {};\n const matches = extractStyleParams(value);\n if (matches.length) {\n matches.forEach(varName => {\n if (!params.hasOwnProperty(varName)) {\n errors.push(invalidStyleParams(varName));\n }\n });\n }\n}\nconst PARAM_REGEX = /*#__PURE__*/new RegExp(`${SUBSTITUTION_EXPR_START}\\\\s*(.+?)\\\\s*${SUBSTITUTION_EXPR_END}`, 'g');\nfunction extractStyleParams(value) {\n let params = [];\n if (typeof value === 'string') {\n let match;\n while (match = PARAM_REGEX.exec(value)) {\n params.push(match[1]);\n }\n PARAM_REGEX.lastIndex = 0;\n }\n return params;\n}\nfunction interpolateParams(value, params, errors) {\n const original = `${value}`;\n const str = original.replace(PARAM_REGEX, (_, varName) => {\n let localVal = params[varName];\n // this means that the value was never overridden by the data passed in by the user\n if (localVal == null) {\n errors.push(invalidParamValue(varName));\n localVal = '';\n }\n return localVal.toString();\n });\n // we do this to assert that numeric values stay as they are\n return str == original ? value : str;\n}\nconst DASH_CASE_REGEXP = /-+([a-z0-9])/g;\nfunction dashCaseToCamelCase(input) {\n return input.replace(DASH_CASE_REGEXP, (...m) => m[1].toUpperCase());\n}\nfunction camelCaseToDashCase(input) {\n return input.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\nfunction allowPreviousPlayerStylesMerge(duration, delay) {\n return duration === 0 || delay === 0;\n}\nfunction balancePreviousStylesIntoKeyframes(element, keyframes, previousStyles) {\n if (previousStyles.size && keyframes.length) {\n let startingKeyframe = keyframes[0];\n let missingStyleProps = [];\n previousStyles.forEach((val, prop) => {\n if (!startingKeyframe.has(prop)) {\n missingStyleProps.push(prop);\n }\n startingKeyframe.set(prop, val);\n });\n if (missingStyleProps.length) {\n for (let i = 1; i < keyframes.length; i++) {\n let kf = keyframes[i];\n missingStyleProps.forEach(prop => kf.set(prop, computeStyle(element, prop)));\n }\n }\n }\n return keyframes;\n}\nfunction visitDslNode(visitor, node, context) {\n switch (node.type) {\n case AnimationMetadataType.Trigger:\n return visitor.visitTrigger(node, context);\n case AnimationMetadataType.State:\n return visitor.visitState(node, context);\n case AnimationMetadataType.Transition:\n return visitor.visitTransition(node, context);\n case AnimationMetadataType.Sequence:\n return visitor.visitSequence(node, context);\n case AnimationMetadataType.Group:\n return visitor.visitGroup(node, context);\n case AnimationMetadataType.Animate:\n return visitor.visitAnimate(node, context);\n case AnimationMetadataType.Keyframes:\n return visitor.visitKeyframes(node, context);\n case AnimationMetadataType.Style:\n return visitor.visitStyle(node, context);\n case AnimationMetadataType.Reference:\n return visitor.visitReference(node, context);\n case AnimationMetadataType.AnimateChild:\n return visitor.visitAnimateChild(node, context);\n case AnimationMetadataType.AnimateRef:\n return visitor.visitAnimateRef(node, context);\n case AnimationMetadataType.Query:\n return visitor.visitQuery(node, context);\n case AnimationMetadataType.Stagger:\n return visitor.visitStagger(node, context);\n default:\n throw invalidNodeType(node.type);\n }\n}\nfunction computeStyle(element, prop) {\n return window.getComputedStyle(element)[prop];\n}\nconst DIMENSIONAL_PROP_SET = /*#__PURE__*/new Set(['width', 'height', 'minWidth', 'minHeight', 'maxWidth', 'maxHeight', 'left', 'top', 'bottom', 'right', 'fontSize', 'outlineWidth', 'outlineOffset', 'paddingTop', 'paddingLeft', 'paddingBottom', 'paddingRight', 'marginTop', 'marginLeft', 'marginBottom', 'marginRight', 'borderRadius', 'borderWidth', 'borderTopWidth', 'borderLeftWidth', 'borderRightWidth', 'borderBottomWidth', 'textIndent', 'perspective']);\nclass WebAnimationsStyleNormalizer extends AnimationStyleNormalizer {\n normalizePropertyName(propertyName, errors) {\n return dashCaseToCamelCase(propertyName);\n }\n normalizeStyleValue(userProvidedProperty, normalizedProperty, value, errors) {\n let unit = '';\n const strVal = value.toString().trim();\n if (DIMENSIONAL_PROP_SET.has(normalizedProperty) && value !== 0 && value !== '0') {\n if (typeof value === 'number') {\n unit = 'px';\n } else {\n const valAndSuffixMatch = value.match(/^[+-]?[\\d\\.]+([a-z]*)$/);\n if (valAndSuffixMatch && valAndSuffixMatch[1].length == 0) {\n errors.push(invalidCssUnitValue(userProvidedProperty, value));\n }\n }\n }\n return strVal + unit;\n }\n}\nfunction createListOfWarnings(warnings) {\n const LINE_START = '\\n - ';\n return `${LINE_START}${warnings.filter(Boolean).map(warning => warning).join(LINE_START)}`;\n}\nfunction warnValidation(warnings) {\n console.warn(`animation validation warnings:${createListOfWarnings(warnings)}`);\n}\nfunction warnTriggerBuild(name, warnings) {\n console.warn(`The animation trigger \"${name}\" has built with the following warnings:${createListOfWarnings(warnings)}`);\n}\nfunction warnRegister(warnings) {\n console.warn(`Animation built with the following warnings:${createListOfWarnings(warnings)}`);\n}\nfunction triggerParsingWarnings(name, warnings) {\n console.warn(`Animation parsing for the ${name} trigger presents the following warnings:${createListOfWarnings(warnings)}`);\n}\nfunction pushUnrecognizedPropertiesWarning(warnings, props) {\n if (props.length) {\n warnings.push(`The following provided properties are not recognized: ${props.join(', ')}`);\n }\n}\nconst ANY_STATE = '*';\nfunction parseTransitionExpr(transitionValue, errors) {\n const expressions = [];\n if (typeof transitionValue == 'string') {\n transitionValue.split(/\\s*,\\s*/).forEach(str => parseInnerTransitionStr(str, expressions, errors));\n } else {\n expressions.push(transitionValue);\n }\n return expressions;\n}\nfunction parseInnerTransitionStr(eventStr, expressions, errors) {\n if (eventStr[0] == ':') {\n const result = parseAnimationAlias(eventStr, errors);\n if (typeof result == 'function') {\n expressions.push(result);\n return;\n }\n eventStr = result;\n }\n const match = eventStr.match(/^(\\*|[-\\w]+)\\s*()\\s*(\\*|[-\\w]+)$/);\n if (match == null || match.length < 4) {\n errors.push(invalidExpression(eventStr));\n return expressions;\n }\n const fromState = match[1];\n const separator = match[2];\n const toState = match[3];\n expressions.push(makeLambdaFromStates(fromState, toState));\n const isFullAnyStateExpr = fromState == ANY_STATE && toState == ANY_STATE;\n if (separator[0] == '<' && !isFullAnyStateExpr) {\n expressions.push(makeLambdaFromStates(toState, fromState));\n }\n return;\n}\nfunction parseAnimationAlias(alias, errors) {\n switch (alias) {\n case ':enter':\n return 'void => *';\n case ':leave':\n return '* => void';\n case ':increment':\n return (fromState, toState) => parseFloat(toState) > parseFloat(fromState);\n case ':decrement':\n return (fromState, toState) => parseFloat(toState) < parseFloat(fromState);\n default:\n errors.push(invalidTransitionAlias(alias));\n return '* => *';\n }\n}\n// DO NOT REFACTOR ... keep the follow set instantiations\n// with the values intact (closure compiler for some reason\n// removes follow-up lines that add the values outside of\n// the constructor...\nconst TRUE_BOOLEAN_VALUES = /*#__PURE__*/new Set(['true', '1']);\nconst FALSE_BOOLEAN_VALUES = /*#__PURE__*/new Set(['false', '0']);\nfunction makeLambdaFromStates(lhs, rhs) {\n const LHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(lhs) || FALSE_BOOLEAN_VALUES.has(lhs);\n const RHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(rhs) || FALSE_BOOLEAN_VALUES.has(rhs);\n return (fromState, toState) => {\n let lhsMatch = lhs == ANY_STATE || lhs == fromState;\n let rhsMatch = rhs == ANY_STATE || rhs == toState;\n if (!lhsMatch && LHS_MATCH_BOOLEAN && typeof fromState === 'boolean') {\n lhsMatch = fromState ? TRUE_BOOLEAN_VALUES.has(lhs) : FALSE_BOOLEAN_VALUES.has(lhs);\n }\n if (!rhsMatch && RHS_MATCH_BOOLEAN && typeof toState === 'boolean') {\n rhsMatch = toState ? TRUE_BOOLEAN_VALUES.has(rhs) : FALSE_BOOLEAN_VALUES.has(rhs);\n }\n return lhsMatch && rhsMatch;\n };\n}\nconst SELF_TOKEN = ':self';\nconst SELF_TOKEN_REGEX = /*#__PURE__*/new RegExp(`s*${SELF_TOKEN}s*,?`, 'g');\n/*\n * [Validation]\n * The visitor code below will traverse the animation AST generated by the animation verb functions\n * (the output is a tree of objects) and attempt to perform a series of validations on the data. The\n * following corner-cases will be validated:\n *\n * 1. Overlap of animations\n * Given that a CSS property cannot be animated in more than one place at the same time, it's\n * important that this behavior is detected and validated. The way in which this occurs is that\n * each time a style property is examined, a string-map containing the property will be updated with\n * the start and end times for when the property is used within an animation step.\n *\n * If there are two or more parallel animations that are currently running (these are invoked by the\n * group()) on the same element then the validator will throw an error. Since the start/end timing\n * values are collected for each property then if the current animation step is animating the same\n * property and its timing values fall anywhere into the window of time that the property is\n * currently being animated within then this is what causes an error.\n *\n * 2. Timing values\n * The validator will validate to see if a timing value of `duration delay easing` or\n * `durationNumber` is valid or not.\n *\n * (note that upon validation the code below will replace the timing data with an object containing\n * {duration,delay,easing}.\n *\n * 3. Offset Validation\n * Each of the style() calls are allowed to have an offset value when placed inside of keyframes().\n * Offsets within keyframes() are considered valid when:\n *\n * - No offsets are used at all\n * - Each style() entry contains an offset value\n * - Each offset is between 0 and 1\n * - Each offset is greater to or equal than the previous one\n *\n * Otherwise an error will be thrown.\n */\nfunction buildAnimationAst(driver, metadata, errors, warnings) {\n return new AnimationAstBuilderVisitor(driver).build(metadata, errors, warnings);\n}\nconst ROOT_SELECTOR = '';\nclass AnimationAstBuilderVisitor {\n _driver;\n constructor(_driver) {\n this._driver = _driver;\n }\n build(metadata, errors, warnings) {\n const context = new AnimationAstBuilderContext(errors);\n this._resetContextStyleTimingState(context);\n const ast = visitDslNode(this, normalizeAnimationEntry(metadata), context);\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (context.unsupportedCSSPropertiesFound.size) {\n pushUnrecognizedPropertiesWarning(warnings, [...context.unsupportedCSSPropertiesFound.keys()]);\n }\n }\n return ast;\n }\n _resetContextStyleTimingState(context) {\n context.currentQuerySelector = ROOT_SELECTOR;\n context.collectedStyles = new Map();\n context.collectedStyles.set(ROOT_SELECTOR, new Map());\n context.currentTime = 0;\n }\n visitTrigger(metadata, context) {\n let queryCount = context.queryCount = 0;\n let depCount = context.depCount = 0;\n const states = [];\n const transitions = [];\n if (metadata.name.charAt(0) == '@') {\n context.errors.push(invalidTrigger());\n }\n metadata.definitions.forEach(def => {\n this._resetContextStyleTimingState(context);\n if (def.type == AnimationMetadataType.State) {\n const stateDef = def;\n const name = stateDef.name;\n name.toString().split(/\\s*,\\s*/).forEach(n => {\n stateDef.name = n;\n states.push(this.visitState(stateDef, context));\n });\n stateDef.name = name;\n } else if (def.type == AnimationMetadataType.Transition) {\n const transition = this.visitTransition(def, context);\n queryCount += transition.queryCount;\n depCount += transition.depCount;\n transitions.push(transition);\n } else {\n context.errors.push(invalidDefinition());\n }\n });\n return {\n type: AnimationMetadataType.Trigger,\n name: metadata.name,\n states,\n transitions,\n queryCount,\n depCount,\n options: null\n };\n }\n visitState(metadata, context) {\n const styleAst = this.visitStyle(metadata.styles, context);\n const astParams = metadata.options && metadata.options.params || null;\n if (styleAst.containsDynamicStyles) {\n const missingSubs = new Set();\n const params = astParams || {};\n styleAst.styles.forEach(style => {\n if (style instanceof Map) {\n style.forEach(value => {\n extractStyleParams(value).forEach(sub => {\n if (!params.hasOwnProperty(sub)) {\n missingSubs.add(sub);\n }\n });\n });\n }\n });\n if (missingSubs.size) {\n context.errors.push(invalidState(metadata.name, [...missingSubs.values()]));\n }\n }\n return {\n type: AnimationMetadataType.State,\n name: metadata.name,\n style: styleAst,\n options: astParams ? {\n params: astParams\n } : null\n };\n }\n visitTransition(metadata, context) {\n context.queryCount = 0;\n context.depCount = 0;\n const animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n const matchers = parseTransitionExpr(metadata.expr, context.errors);\n return {\n type: AnimationMetadataType.Transition,\n matchers,\n animation,\n queryCount: context.queryCount,\n depCount: context.depCount,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitSequence(metadata, context) {\n return {\n type: AnimationMetadataType.Sequence,\n steps: metadata.steps.map(s => visitDslNode(this, s, context)),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitGroup(metadata, context) {\n const currentTime = context.currentTime;\n let furthestTime = 0;\n const steps = metadata.steps.map(step => {\n context.currentTime = currentTime;\n const innerAst = visitDslNode(this, step, context);\n furthestTime = Math.max(furthestTime, context.currentTime);\n return innerAst;\n });\n context.currentTime = furthestTime;\n return {\n type: AnimationMetadataType.Group,\n steps,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimate(metadata, context) {\n const timingAst = constructTimingAst(metadata.timings, context.errors);\n context.currentAnimateTimings = timingAst;\n let styleAst;\n let styleMetadata = metadata.styles ? metadata.styles : style({});\n if (styleMetadata.type == AnimationMetadataType.Keyframes) {\n styleAst = this.visitKeyframes(styleMetadata, context);\n } else {\n let styleMetadata = metadata.styles;\n let isEmpty = false;\n if (!styleMetadata) {\n isEmpty = true;\n const newStyleData = {};\n if (timingAst.easing) {\n newStyleData['easing'] = timingAst.easing;\n }\n styleMetadata = style(newStyleData);\n }\n context.currentTime += timingAst.duration + timingAst.delay;\n const _styleAst = this.visitStyle(styleMetadata, context);\n _styleAst.isEmptyStep = isEmpty;\n styleAst = _styleAst;\n }\n context.currentAnimateTimings = null;\n return {\n type: AnimationMetadataType.Animate,\n timings: timingAst,\n style: styleAst,\n options: null\n };\n }\n visitStyle(metadata, context) {\n const ast = this._makeStyleAst(metadata, context);\n this._validateStyleAst(ast, context);\n return ast;\n }\n _makeStyleAst(metadata, context) {\n const styles = [];\n const metadataStyles = Array.isArray(metadata.styles) ? metadata.styles : [metadata.styles];\n for (let styleTuple of metadataStyles) {\n if (typeof styleTuple === 'string') {\n if (styleTuple === AUTO_STYLE) {\n styles.push(styleTuple);\n } else {\n context.errors.push(invalidStyleValue(styleTuple));\n }\n } else {\n styles.push(new Map(Object.entries(styleTuple)));\n }\n }\n let containsDynamicStyles = false;\n let collectedEasing = null;\n styles.forEach(styleData => {\n if (styleData instanceof Map) {\n if (styleData.has('easing')) {\n collectedEasing = styleData.get('easing');\n styleData.delete('easing');\n }\n if (!containsDynamicStyles) {\n for (let value of styleData.values()) {\n if (value.toString().indexOf(SUBSTITUTION_EXPR_START) >= 0) {\n containsDynamicStyles = true;\n break;\n }\n }\n }\n }\n });\n return {\n type: AnimationMetadataType.Style,\n styles,\n easing: collectedEasing,\n offset: metadata.offset,\n containsDynamicStyles,\n options: null\n };\n }\n _validateStyleAst(ast, context) {\n const timings = context.currentAnimateTimings;\n let endTime = context.currentTime;\n let startTime = context.currentTime;\n if (timings && startTime > 0) {\n startTime -= timings.duration + timings.delay;\n }\n ast.styles.forEach(tuple => {\n if (typeof tuple === 'string') return;\n tuple.forEach((value, prop) => {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!this._driver.validateStyleProperty(prop)) {\n tuple.delete(prop);\n context.unsupportedCSSPropertiesFound.add(prop);\n return;\n }\n }\n // This is guaranteed to have a defined Map at this querySelector location making it\n // safe to add the assertion here. It is set as a default empty map in prior methods.\n const collectedStyles = context.collectedStyles.get(context.currentQuerySelector);\n const collectedEntry = collectedStyles.get(prop);\n let updateCollectedStyle = true;\n if (collectedEntry) {\n if (startTime != endTime && startTime >= collectedEntry.startTime && endTime <= collectedEntry.endTime) {\n context.errors.push(invalidParallelAnimation(prop, collectedEntry.startTime, collectedEntry.endTime, startTime, endTime));\n updateCollectedStyle = false;\n }\n // we always choose the smaller start time value since we\n // want to have a record of the entire animation window where\n // the style property is being animated in between\n startTime = collectedEntry.startTime;\n }\n if (updateCollectedStyle) {\n collectedStyles.set(prop, {\n startTime,\n endTime\n });\n }\n if (context.options) {\n validateStyleParams(value, context.options, context.errors);\n }\n });\n });\n }\n visitKeyframes(metadata, context) {\n const ast = {\n type: AnimationMetadataType.Keyframes,\n styles: [],\n options: null\n };\n if (!context.currentAnimateTimings) {\n context.errors.push(invalidKeyframes());\n return ast;\n }\n const MAX_KEYFRAME_OFFSET = 1;\n let totalKeyframesWithOffsets = 0;\n const offsets = [];\n let offsetsOutOfOrder = false;\n let keyframesOutOfRange = false;\n let previousOffset = 0;\n const keyframes = metadata.steps.map(styles => {\n const style = this._makeStyleAst(styles, context);\n let offsetVal = style.offset != null ? style.offset : consumeOffset(style.styles);\n let offset = 0;\n if (offsetVal != null) {\n totalKeyframesWithOffsets++;\n offset = style.offset = offsetVal;\n }\n keyframesOutOfRange = keyframesOutOfRange || offset < 0 || offset > 1;\n offsetsOutOfOrder = offsetsOutOfOrder || offset < previousOffset;\n previousOffset = offset;\n offsets.push(offset);\n return style;\n });\n if (keyframesOutOfRange) {\n context.errors.push(invalidOffset());\n }\n if (offsetsOutOfOrder) {\n context.errors.push(keyframeOffsetsOutOfOrder());\n }\n const length = metadata.steps.length;\n let generatedOffset = 0;\n if (totalKeyframesWithOffsets > 0 && totalKeyframesWithOffsets < length) {\n context.errors.push(keyframesMissingOffsets());\n } else if (totalKeyframesWithOffsets == 0) {\n generatedOffset = MAX_KEYFRAME_OFFSET / (length - 1);\n }\n const limit = length - 1;\n const currentTime = context.currentTime;\n const currentAnimateTimings = context.currentAnimateTimings;\n const animateDuration = currentAnimateTimings.duration;\n keyframes.forEach((kf, i) => {\n const offset = generatedOffset > 0 ? i == limit ? 1 : generatedOffset * i : offsets[i];\n const durationUpToThisFrame = offset * animateDuration;\n context.currentTime = currentTime + currentAnimateTimings.delay + durationUpToThisFrame;\n currentAnimateTimings.duration = durationUpToThisFrame;\n this._validateStyleAst(kf, context);\n kf.offset = offset;\n ast.styles.push(kf);\n });\n return ast;\n }\n visitReference(metadata, context) {\n return {\n type: AnimationMetadataType.Reference,\n animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimateChild(metadata, context) {\n context.depCount++;\n return {\n type: AnimationMetadataType.AnimateChild,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimateRef(metadata, context) {\n return {\n type: AnimationMetadataType.AnimateRef,\n animation: this.visitReference(metadata.animation, context),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitQuery(metadata, context) {\n const parentSelector = context.currentQuerySelector;\n const options = metadata.options || {};\n context.queryCount++;\n context.currentQuery = metadata;\n const [selector, includeSelf] = normalizeSelector(metadata.selector);\n context.currentQuerySelector = parentSelector.length ? parentSelector + ' ' + selector : selector;\n getOrSetDefaultValue(context.collectedStyles, context.currentQuerySelector, new Map());\n const animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n context.currentQuery = null;\n context.currentQuerySelector = parentSelector;\n return {\n type: AnimationMetadataType.Query,\n selector,\n limit: options.limit || 0,\n optional: !!options.optional,\n includeSelf,\n animation,\n originalSelector: metadata.selector,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitStagger(metadata, context) {\n if (!context.currentQuery) {\n context.errors.push(invalidStagger());\n }\n const timings = metadata.timings === 'full' ? {\n duration: 0,\n delay: 0,\n easing: 'full'\n } : resolveTiming(metadata.timings, context.errors, true);\n return {\n type: AnimationMetadataType.Stagger,\n animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),\n timings,\n options: null\n };\n }\n}\nfunction normalizeSelector(selector) {\n const hasAmpersand = selector.split(/\\s*,\\s*/).find(token => token == SELF_TOKEN) ? true : false;\n if (hasAmpersand) {\n selector = selector.replace(SELF_TOKEN_REGEX, '');\n }\n // Note: the :enter and :leave aren't normalized here since those\n // selectors are filled in at runtime during timeline building\n selector = selector.replace(/@\\*/g, NG_TRIGGER_SELECTOR).replace(/@\\w+/g, match => NG_TRIGGER_SELECTOR + '-' + match.slice(1)).replace(/:animating/g, NG_ANIMATING_SELECTOR);\n return [selector, hasAmpersand];\n}\nfunction normalizeParams(obj) {\n return obj ? {\n ...obj\n } : null;\n}\nclass AnimationAstBuilderContext {\n errors;\n queryCount = 0;\n depCount = 0;\n currentTransition = null;\n currentQuery = null;\n currentQuerySelector = null;\n currentAnimateTimings = null;\n currentTime = 0;\n collectedStyles = /*#__PURE__*/new Map();\n options = null;\n unsupportedCSSPropertiesFound = /*#__PURE__*/new Set();\n constructor(errors) {\n this.errors = errors;\n }\n}\nfunction consumeOffset(styles) {\n if (typeof styles == 'string') return null;\n let offset = null;\n if (Array.isArray(styles)) {\n styles.forEach(styleTuple => {\n if (styleTuple instanceof Map && styleTuple.has('offset')) {\n const obj = styleTuple;\n offset = parseFloat(obj.get('offset'));\n obj.delete('offset');\n }\n });\n } else if (styles instanceof Map && styles.has('offset')) {\n const obj = styles;\n offset = parseFloat(obj.get('offset'));\n obj.delete('offset');\n }\n return offset;\n}\nfunction constructTimingAst(value, errors) {\n if (value.hasOwnProperty('duration')) {\n return value;\n }\n if (typeof value == 'number') {\n const duration = resolveTiming(value, errors).duration;\n return makeTimingAst(duration, 0, '');\n }\n const strValue = value;\n const isDynamic = strValue.split(/\\s+/).some(v => v.charAt(0) == '{' && v.charAt(1) == '{');\n if (isDynamic) {\n const ast = makeTimingAst(0, 0, '');\n ast.dynamic = true;\n ast.strValue = strValue;\n return ast;\n }\n const timings = resolveTiming(strValue, errors);\n return makeTimingAst(timings.duration, timings.delay, timings.easing);\n}\nfunction normalizeAnimationOptions(options) {\n if (options) {\n options = {\n ...options\n };\n if (options['params']) {\n options['params'] = normalizeParams(options['params']);\n }\n } else {\n options = {};\n }\n return options;\n}\nfunction makeTimingAst(duration, delay, easing) {\n return {\n duration,\n delay,\n easing\n };\n}\nfunction createTimelineInstruction(element, keyframes, preStyleProps, postStyleProps, duration, delay, easing = null, subTimeline = false) {\n return {\n type: 1 /* AnimationTransitionInstructionType.TimelineAnimation */,\n element,\n keyframes,\n preStyleProps,\n postStyleProps,\n duration,\n delay,\n totalTime: duration + delay,\n easing,\n subTimeline\n };\n}\nclass ElementInstructionMap {\n _map = /*#__PURE__*/new Map();\n get(element) {\n return this._map.get(element) || [];\n }\n append(element, instructions) {\n let existingInstructions = this._map.get(element);\n if (!existingInstructions) {\n this._map.set(element, existingInstructions = []);\n }\n existingInstructions.push(...instructions);\n }\n has(element) {\n return this._map.has(element);\n }\n clear() {\n this._map.clear();\n }\n}\nconst ONE_FRAME_IN_MILLISECONDS = 1;\nconst ENTER_TOKEN = ':enter';\nconst ENTER_TOKEN_REGEX = /*#__PURE__*/new RegExp(ENTER_TOKEN, 'g');\nconst LEAVE_TOKEN = ':leave';\nconst LEAVE_TOKEN_REGEX = /*#__PURE__*/new RegExp(LEAVE_TOKEN, 'g');\n/*\n * The code within this file aims to generate web-animations-compatible keyframes from Angular's\n * animation DSL code.\n *\n * The code below will be converted from:\n *\n * ```ts\n * sequence([\n * style({ opacity: 0 }),\n * animate(1000, style({ opacity: 0 }))\n * ])\n * ```\n *\n * To:\n * ```ts\n * keyframes = [{ opacity: 0, offset: 0 }, { opacity: 1, offset: 1 }]\n * duration = 1000\n * delay = 0\n * easing = ''\n * ```\n *\n * For this operation to cover the combination of animation verbs (style, animate, group, etc...) a\n * combination of AST traversal and merge-sort-like algorithms are used.\n *\n * [AST Traversal]\n * Each of the animation verbs, when executed, will return an string-map object representing what\n * type of action it is (style, animate, group, etc...) and the data associated with it. This means\n * that when functional composition mix of these functions is evaluated (like in the example above)\n * then it will end up producing a tree of objects representing the animation itself.\n *\n * When this animation object tree is processed by the visitor code below it will visit each of the\n * verb statements within the visitor. And during each visit it will build the context of the\n * animation keyframes by interacting with the `TimelineBuilder`.\n *\n * [TimelineBuilder]\n * This class is responsible for tracking the styles and building a series of keyframe objects for a\n * timeline between a start and end time. The builder starts off with an initial timeline and each\n * time the AST comes across a `group()`, `keyframes()` or a combination of the two within a\n * `sequence()` then it will generate a sub timeline for each step as well as a new one after\n * they are complete.\n *\n * As the AST is traversed, the timing state on each of the timelines will be incremented. If a sub\n * timeline was created (based on one of the cases above) then the parent timeline will attempt to\n * merge the styles used within the sub timelines into itself (only with group() this will happen).\n * This happens with a merge operation (much like how the merge works in mergeSort) and it will only\n * copy the most recently used styles from the sub timelines into the parent timeline. This ensures\n * that if the styles are used later on in another phase of the animation then they will be the most\n * up-to-date values.\n *\n * [How Missing Styles Are Updated]\n * Each timeline has a `backFill` property which is responsible for filling in new styles into\n * already processed keyframes if a new style shows up later within the animation sequence.\n *\n * ```ts\n * sequence([\n * style({ width: 0 }),\n * animate(1000, style({ width: 100 })),\n * animate(1000, style({ width: 200 })),\n * animate(1000, style({ width: 300 }))\n * animate(1000, style({ width: 400, height: 400 })) // notice how `height` doesn't exist anywhere\n * else\n * ])\n * ```\n *\n * What is happening here is that the `height` value is added later in the sequence, but is missing\n * from all previous animation steps. Therefore when a keyframe is created it would also be missing\n * from all previous keyframes up until where it is first used. For the timeline keyframe generation\n * to properly fill in the style it will place the previous value (the value from the parent\n * timeline) or a default value of `*` into the backFill map.\n *\n * When a sub-timeline is created it will have its own backFill property. This is done so that\n * styles present within the sub-timeline do not accidentally seep into the previous/future timeline\n * keyframes\n *\n * [Validation]\n * The code in this file is not responsible for validation. That functionality happens with within\n * the `AnimationValidatorVisitor` code.\n */\nfunction buildAnimationTimelines(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles = new Map(), finalStyles = new Map(), options, subInstructions, errors = []) {\n return new AnimationTimelineBuilderVisitor().buildKeyframes(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors);\n}\nclass AnimationTimelineBuilderVisitor {\n buildKeyframes(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors = []) {\n subInstructions = subInstructions || new ElementInstructionMap();\n const context = new AnimationTimelineContext(driver, rootElement, subInstructions, enterClassName, leaveClassName, errors, []);\n context.options = options;\n const delay = options.delay ? resolveTimingValue(options.delay) : 0;\n context.currentTimeline.delayNextStep(delay);\n context.currentTimeline.setStyles([startingStyles], null, context.errors, options);\n visitDslNode(this, ast, context);\n // this checks to see if an actual animation happened\n const timelines = context.timelines.filter(timeline => timeline.containsAnimation());\n // note: we just want to apply the final styles for the rootElement, so we do not\n // just apply the styles to the last timeline but the last timeline which\n // element is the root one (basically `*`-styles are replaced with the actual\n // state style values only for the root element)\n if (timelines.length && finalStyles.size) {\n let lastRootTimeline;\n for (let i = timelines.length - 1; i >= 0; i--) {\n const timeline = timelines[i];\n if (timeline.element === rootElement) {\n lastRootTimeline = timeline;\n break;\n }\n }\n if (lastRootTimeline && !lastRootTimeline.allowOnlyTimelineStyles()) {\n lastRootTimeline.setStyles([finalStyles], null, context.errors, options);\n }\n }\n return timelines.length ? timelines.map(timeline => timeline.buildKeyframes()) : [createTimelineInstruction(rootElement, [], [], [], 0, delay, '', false)];\n }\n visitTrigger(ast, context) {\n // these values are not visited in this AST\n }\n visitState(ast, context) {\n // these values are not visited in this AST\n }\n visitTransition(ast, context) {\n // these values are not visited in this AST\n }\n visitAnimateChild(ast, context) {\n const elementInstructions = context.subInstructions.get(context.element);\n if (elementInstructions) {\n const innerContext = context.createSubContext(ast.options);\n const startTime = context.currentTimeline.currentTime;\n const endTime = this._visitSubInstructions(elementInstructions, innerContext, innerContext.options);\n if (startTime != endTime) {\n // we do this on the upper context because we created a sub context for\n // the sub child animations\n context.transformIntoNewTimeline(endTime);\n }\n }\n context.previousNode = ast;\n }\n visitAnimateRef(ast, context) {\n const innerContext = context.createSubContext(ast.options);\n innerContext.transformIntoNewTimeline();\n this._applyAnimationRefDelays([ast.options, ast.animation.options], context, innerContext);\n this.visitReference(ast.animation, innerContext);\n context.transformIntoNewTimeline(innerContext.currentTimeline.currentTime);\n context.previousNode = ast;\n }\n _applyAnimationRefDelays(animationsRefsOptions, context, innerContext) {\n for (const animationRefOptions of animationsRefsOptions) {\n const animationDelay = animationRefOptions?.delay;\n if (animationDelay) {\n const animationDelayValue = typeof animationDelay === 'number' ? animationDelay : resolveTimingValue(interpolateParams(animationDelay, animationRefOptions?.params ?? {}, context.errors));\n innerContext.delayNextStep(animationDelayValue);\n }\n }\n }\n _visitSubInstructions(instructions, context, options) {\n const startTime = context.currentTimeline.currentTime;\n let furthestTime = startTime;\n // this is a special-case for when a user wants to skip a sub\n // animation from being fired entirely.\n const duration = options.duration != null ? resolveTimingValue(options.duration) : null;\n const delay = options.delay != null ? resolveTimingValue(options.delay) : null;\n if (duration !== 0) {\n instructions.forEach(instruction => {\n const instructionTimings = context.appendInstructionToTimeline(instruction, duration, delay);\n furthestTime = Math.max(furthestTime, instructionTimings.duration + instructionTimings.delay);\n });\n }\n return furthestTime;\n }\n visitReference(ast, context) {\n context.updateOptions(ast.options, true);\n visitDslNode(this, ast.animation, context);\n context.previousNode = ast;\n }\n visitSequence(ast, context) {\n const subContextCount = context.subContextCount;\n let ctx = context;\n const options = ast.options;\n if (options && (options.params || options.delay)) {\n ctx = context.createSubContext(options);\n ctx.transformIntoNewTimeline();\n if (options.delay != null) {\n if (ctx.previousNode.type == AnimationMetadataType.Style) {\n ctx.currentTimeline.snapshotCurrentStyles();\n ctx.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n }\n const delay = resolveTimingValue(options.delay);\n ctx.delayNextStep(delay);\n }\n }\n if (ast.steps.length) {\n ast.steps.forEach(s => visitDslNode(this, s, ctx));\n // this is here just in case the inner steps only contain or end with a style() call\n ctx.currentTimeline.applyStylesToKeyframe();\n // this means that some animation function within the sequence\n // ended up creating a sub timeline (which means the current\n // timeline cannot overlap with the contents of the sequence)\n if (ctx.subContextCount > subContextCount) {\n ctx.transformIntoNewTimeline();\n }\n }\n context.previousNode = ast;\n }\n visitGroup(ast, context) {\n const innerTimelines = [];\n let furthestTime = context.currentTimeline.currentTime;\n const delay = ast.options && ast.options.delay ? resolveTimingValue(ast.options.delay) : 0;\n ast.steps.forEach(s => {\n const innerContext = context.createSubContext(ast.options);\n if (delay) {\n innerContext.delayNextStep(delay);\n }\n visitDslNode(this, s, innerContext);\n furthestTime = Math.max(furthestTime, innerContext.currentTimeline.currentTime);\n innerTimelines.push(innerContext.currentTimeline);\n });\n // this operation is run after the AST loop because otherwise\n // if the parent timeline's collected styles were updated then\n // it would pass in invalid data into the new-to-be forked items\n innerTimelines.forEach(timeline => context.currentTimeline.mergeTimelineCollectedStyles(timeline));\n context.transformIntoNewTimeline(furthestTime);\n context.previousNode = ast;\n }\n _visitTiming(ast, context) {\n if (ast.dynamic) {\n const strValue = ast.strValue;\n const timingValue = context.params ? interpolateParams(strValue, context.params, context.errors) : strValue;\n return resolveTiming(timingValue, context.errors);\n } else {\n return {\n duration: ast.duration,\n delay: ast.delay,\n easing: ast.easing\n };\n }\n }\n visitAnimate(ast, context) {\n const timings = context.currentAnimateTimings = this._visitTiming(ast.timings, context);\n const timeline = context.currentTimeline;\n if (timings.delay) {\n context.incrementTime(timings.delay);\n timeline.snapshotCurrentStyles();\n }\n const style = ast.style;\n if (style.type == AnimationMetadataType.Keyframes) {\n this.visitKeyframes(style, context);\n } else {\n context.incrementTime(timings.duration);\n this.visitStyle(style, context);\n timeline.applyStylesToKeyframe();\n }\n context.currentAnimateTimings = null;\n context.previousNode = ast;\n }\n visitStyle(ast, context) {\n const timeline = context.currentTimeline;\n const timings = context.currentAnimateTimings;\n // this is a special case for when a style() call\n // directly follows an animate() call (but not inside of an animate() call)\n if (!timings && timeline.hasCurrentStyleProperties()) {\n timeline.forwardFrame();\n }\n const easing = timings && timings.easing || ast.easing;\n if (ast.isEmptyStep) {\n timeline.applyEmptyStep(easing);\n } else {\n timeline.setStyles(ast.styles, easing, context.errors, context.options);\n }\n context.previousNode = ast;\n }\n visitKeyframes(ast, context) {\n const currentAnimateTimings = context.currentAnimateTimings;\n const startTime = context.currentTimeline.duration;\n const duration = currentAnimateTimings.duration;\n const innerContext = context.createSubContext();\n const innerTimeline = innerContext.currentTimeline;\n innerTimeline.easing = currentAnimateTimings.easing;\n ast.styles.forEach(step => {\n const offset = step.offset || 0;\n innerTimeline.forwardTime(offset * duration);\n innerTimeline.setStyles(step.styles, step.easing, context.errors, context.options);\n innerTimeline.applyStylesToKeyframe();\n });\n // this will ensure that the parent timeline gets all the styles from\n // the child even if the new timeline below is not used\n context.currentTimeline.mergeTimelineCollectedStyles(innerTimeline);\n // we do this because the window between this timeline and the sub timeline\n // should ensure that the styles within are exactly the same as they were before\n context.transformIntoNewTimeline(startTime + duration);\n context.previousNode = ast;\n }\n visitQuery(ast, context) {\n // in the event that the first step before this is a style step we need\n // to ensure the styles are applied before the children are animated\n const startTime = context.currentTimeline.currentTime;\n const options = ast.options || {};\n const delay = options.delay ? resolveTimingValue(options.delay) : 0;\n if (delay && (context.previousNode.type === AnimationMetadataType.Style || startTime == 0 && context.currentTimeline.hasCurrentStyleProperties())) {\n context.currentTimeline.snapshotCurrentStyles();\n context.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n }\n let furthestTime = startTime;\n const elms = context.invokeQuery(ast.selector, ast.originalSelector, ast.limit, ast.includeSelf, options.optional ? true : false, context.errors);\n context.currentQueryTotal = elms.length;\n let sameElementTimeline = null;\n elms.forEach((element, i) => {\n context.currentQueryIndex = i;\n const innerContext = context.createSubContext(ast.options, element);\n if (delay) {\n innerContext.delayNextStep(delay);\n }\n if (element === context.element) {\n sameElementTimeline = innerContext.currentTimeline;\n }\n visitDslNode(this, ast.animation, innerContext);\n // this is here just incase the inner steps only contain or end\n // with a style() call (which is here to signal that this is a preparatory\n // call to style an element before it is animated again)\n innerContext.currentTimeline.applyStylesToKeyframe();\n const endTime = innerContext.currentTimeline.currentTime;\n furthestTime = Math.max(furthestTime, endTime);\n });\n context.currentQueryIndex = 0;\n context.currentQueryTotal = 0;\n context.transformIntoNewTimeline(furthestTime);\n if (sameElementTimeline) {\n context.currentTimeline.mergeTimelineCollectedStyles(sameElementTimeline);\n context.currentTimeline.snapshotCurrentStyles();\n }\n context.previousNode = ast;\n }\n visitStagger(ast, context) {\n const parentContext = context.parentContext;\n const tl = context.currentTimeline;\n const timings = ast.timings;\n const duration = Math.abs(timings.duration);\n const maxTime = duration * (context.currentQueryTotal - 1);\n let delay = duration * context.currentQueryIndex;\n let staggerTransformer = timings.duration < 0 ? 'reverse' : timings.easing;\n switch (staggerTransformer) {\n case 'reverse':\n delay = maxTime - delay;\n break;\n case 'full':\n delay = parentContext.currentStaggerTime;\n break;\n }\n const timeline = context.currentTimeline;\n if (delay) {\n timeline.delayNextStep(delay);\n }\n const startingTime = timeline.currentTime;\n visitDslNode(this, ast.animation, context);\n context.previousNode = ast;\n // time = duration + delay\n // the reason why this computation is so complex is because\n // the inner timeline may either have a delay value or a stretched\n // keyframe depending on if a subtimeline is not used or is used.\n parentContext.currentStaggerTime = tl.currentTime - startingTime + (tl.startTime - parentContext.currentTimeline.startTime);\n }\n}\nconst DEFAULT_NOOP_PREVIOUS_NODE = {};\nclass AnimationTimelineContext {\n _driver;\n element;\n subInstructions;\n _enterClassName;\n _leaveClassName;\n errors;\n timelines;\n parentContext = null;\n currentTimeline;\n currentAnimateTimings = null;\n previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n subContextCount = 0;\n options = {};\n currentQueryIndex = 0;\n currentQueryTotal = 0;\n currentStaggerTime = 0;\n constructor(_driver, element, subInstructions, _enterClassName, _leaveClassName, errors, timelines, initialTimeline) {\n this._driver = _driver;\n this.element = element;\n this.subInstructions = subInstructions;\n this._enterClassName = _enterClassName;\n this._leaveClassName = _leaveClassName;\n this.errors = errors;\n this.timelines = timelines;\n this.currentTimeline = initialTimeline || new TimelineBuilder(this._driver, element, 0);\n timelines.push(this.currentTimeline);\n }\n get params() {\n return this.options.params;\n }\n updateOptions(options, skipIfExists) {\n if (!options) return;\n const newOptions = options;\n let optionsToUpdate = this.options;\n // NOTE: this will get patched up when other animation methods support duration overrides\n if (newOptions.duration != null) {\n optionsToUpdate.duration = resolveTimingValue(newOptions.duration);\n }\n if (newOptions.delay != null) {\n optionsToUpdate.delay = resolveTimingValue(newOptions.delay);\n }\n const newParams = newOptions.params;\n if (newParams) {\n let paramsToUpdate = optionsToUpdate.params;\n if (!paramsToUpdate) {\n paramsToUpdate = this.options.params = {};\n }\n Object.keys(newParams).forEach(name => {\n if (!skipIfExists || !paramsToUpdate.hasOwnProperty(name)) {\n paramsToUpdate[name] = interpolateParams(newParams[name], paramsToUpdate, this.errors);\n }\n });\n }\n }\n _copyOptions() {\n const options = {};\n if (this.options) {\n const oldParams = this.options.params;\n if (oldParams) {\n const params = options['params'] = {};\n Object.keys(oldParams).forEach(name => {\n params[name] = oldParams[name];\n });\n }\n }\n return options;\n }\n createSubContext(options = null, element, newTime) {\n const target = element || this.element;\n const context = new AnimationTimelineContext(this._driver, target, this.subInstructions, this._enterClassName, this._leaveClassName, this.errors, this.timelines, this.currentTimeline.fork(target, newTime || 0));\n context.previousNode = this.previousNode;\n context.currentAnimateTimings = this.currentAnimateTimings;\n context.options = this._copyOptions();\n context.updateOptions(options);\n context.currentQueryIndex = this.currentQueryIndex;\n context.currentQueryTotal = this.currentQueryTotal;\n context.parentContext = this;\n this.subContextCount++;\n return context;\n }\n transformIntoNewTimeline(newTime) {\n this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n this.currentTimeline = this.currentTimeline.fork(this.element, newTime);\n this.timelines.push(this.currentTimeline);\n return this.currentTimeline;\n }\n appendInstructionToTimeline(instruction, duration, delay) {\n const updatedTimings = {\n duration: duration != null ? duration : instruction.duration,\n delay: this.currentTimeline.currentTime + (delay != null ? delay : 0) + instruction.delay,\n easing: ''\n };\n const builder = new SubTimelineBuilder(this._driver, instruction.element, instruction.keyframes, instruction.preStyleProps, instruction.postStyleProps, updatedTimings, instruction.stretchStartingKeyframe);\n this.timelines.push(builder);\n return updatedTimings;\n }\n incrementTime(time) {\n this.currentTimeline.forwardTime(this.currentTimeline.duration + time);\n }\n delayNextStep(delay) {\n // negative delays are not yet supported\n if (delay > 0) {\n this.currentTimeline.delayNextStep(delay);\n }\n }\n invokeQuery(selector, originalSelector, limit, includeSelf, optional, errors) {\n let results = [];\n if (includeSelf) {\n results.push(this.element);\n }\n if (selector.length > 0) {\n // only if :self is used then the selector can be empty\n selector = selector.replace(ENTER_TOKEN_REGEX, '.' + this._enterClassName);\n selector = selector.replace(LEAVE_TOKEN_REGEX, '.' + this._leaveClassName);\n const multi = limit != 1;\n let elements = this._driver.query(this.element, selector, multi);\n if (limit !== 0) {\n elements = limit < 0 ? elements.slice(elements.length + limit, elements.length) : elements.slice(0, limit);\n }\n results.push(...elements);\n }\n if (!optional && results.length == 0) {\n errors.push(invalidQuery(originalSelector));\n }\n return results;\n }\n}\nclass TimelineBuilder {\n _driver;\n element;\n startTime;\n _elementTimelineStylesLookup;\n duration = 0;\n easing = null;\n _previousKeyframe = /*#__PURE__*/new Map();\n _currentKeyframe = /*#__PURE__*/new Map();\n _keyframes = /*#__PURE__*/new Map();\n _styleSummary = /*#__PURE__*/new Map();\n _localTimelineStyles = /*#__PURE__*/new Map();\n _globalTimelineStyles;\n _pendingStyles = /*#__PURE__*/new Map();\n _backFill = /*#__PURE__*/new Map();\n _currentEmptyStepKeyframe = null;\n constructor(_driver, element, startTime, _elementTimelineStylesLookup) {\n this._driver = _driver;\n this.element = element;\n this.startTime = startTime;\n this._elementTimelineStylesLookup = _elementTimelineStylesLookup;\n if (!this._elementTimelineStylesLookup) {\n this._elementTimelineStylesLookup = new Map();\n }\n this._globalTimelineStyles = this._elementTimelineStylesLookup.get(element);\n if (!this._globalTimelineStyles) {\n this._globalTimelineStyles = this._localTimelineStyles;\n this._elementTimelineStylesLookup.set(element, this._localTimelineStyles);\n }\n this._loadKeyframe();\n }\n containsAnimation() {\n switch (this._keyframes.size) {\n case 0:\n return false;\n case 1:\n return this.hasCurrentStyleProperties();\n default:\n return true;\n }\n }\n hasCurrentStyleProperties() {\n return this._currentKeyframe.size > 0;\n }\n get currentTime() {\n return this.startTime + this.duration;\n }\n delayNextStep(delay) {\n // in the event that a style() step is placed right before a stagger()\n // and that style() step is the very first style() value in the animation\n // then we need to make a copy of the keyframe [0, copy, 1] so that the delay\n // properly applies the style() values to work with the stagger...\n const hasPreStyleStep = this._keyframes.size === 1 && this._pendingStyles.size;\n if (this.duration || hasPreStyleStep) {\n this.forwardTime(this.currentTime + delay);\n if (hasPreStyleStep) {\n this.snapshotCurrentStyles();\n }\n } else {\n this.startTime += delay;\n }\n }\n fork(element, currentTime) {\n this.applyStylesToKeyframe();\n return new TimelineBuilder(this._driver, element, currentTime || this.currentTime, this._elementTimelineStylesLookup);\n }\n _loadKeyframe() {\n if (this._currentKeyframe) {\n this._previousKeyframe = this._currentKeyframe;\n }\n this._currentKeyframe = this._keyframes.get(this.duration);\n if (!this._currentKeyframe) {\n this._currentKeyframe = new Map();\n this._keyframes.set(this.duration, this._currentKeyframe);\n }\n }\n forwardFrame() {\n this.duration += ONE_FRAME_IN_MILLISECONDS;\n this._loadKeyframe();\n }\n forwardTime(time) {\n this.applyStylesToKeyframe();\n this.duration = time;\n this._loadKeyframe();\n }\n _updateStyle(prop, value) {\n this._localTimelineStyles.set(prop, value);\n this._globalTimelineStyles.set(prop, value);\n this._styleSummary.set(prop, {\n time: this.currentTime,\n value\n });\n }\n allowOnlyTimelineStyles() {\n return this._currentEmptyStepKeyframe !== this._currentKeyframe;\n }\n applyEmptyStep(easing) {\n if (easing) {\n this._previousKeyframe.set('easing', easing);\n }\n // special case for animate(duration):\n // all missing styles are filled with a `*` value then\n // if any destination styles are filled in later on the same\n // keyframe then they will override the overridden styles\n // We use `_globalTimelineStyles` here because there may be\n // styles in previous keyframes that are not present in this timeline\n for (let [prop, value] of this._globalTimelineStyles) {\n this._backFill.set(prop, value || AUTO_STYLE);\n this._currentKeyframe.set(prop, AUTO_STYLE);\n }\n this._currentEmptyStepKeyframe = this._currentKeyframe;\n }\n setStyles(input, easing, errors, options) {\n if (easing) {\n this._previousKeyframe.set('easing', easing);\n }\n const params = options && options.params || {};\n const styles = flattenStyles(input, this._globalTimelineStyles);\n for (let [prop, value] of styles) {\n const val = interpolateParams(value, params, errors);\n this._pendingStyles.set(prop, val);\n if (!this._localTimelineStyles.has(prop)) {\n this._backFill.set(prop, this._globalTimelineStyles.get(prop) ?? AUTO_STYLE);\n }\n this._updateStyle(prop, val);\n }\n }\n applyStylesToKeyframe() {\n if (this._pendingStyles.size == 0) return;\n this._pendingStyles.forEach((val, prop) => {\n this._currentKeyframe.set(prop, val);\n });\n this._pendingStyles.clear();\n this._localTimelineStyles.forEach((val, prop) => {\n if (!this._currentKeyframe.has(prop)) {\n this._currentKeyframe.set(prop, val);\n }\n });\n }\n snapshotCurrentStyles() {\n for (let [prop, val] of this._localTimelineStyles) {\n this._pendingStyles.set(prop, val);\n this._updateStyle(prop, val);\n }\n }\n getFinalKeyframe() {\n return this._keyframes.get(this.duration);\n }\n get properties() {\n const properties = [];\n for (let prop in this._currentKeyframe) {\n properties.push(prop);\n }\n return properties;\n }\n mergeTimelineCollectedStyles(timeline) {\n timeline._styleSummary.forEach((details1, prop) => {\n const details0 = this._styleSummary.get(prop);\n if (!details0 || details1.time > details0.time) {\n this._updateStyle(prop, details1.value);\n }\n });\n }\n buildKeyframes() {\n this.applyStylesToKeyframe();\n const preStyleProps = new Set();\n const postStyleProps = new Set();\n const isEmpty = this._keyframes.size === 1 && this.duration === 0;\n let finalKeyframes = [];\n this._keyframes.forEach((keyframe, time) => {\n const finalKeyframe = new Map([...this._backFill, ...keyframe]);\n finalKeyframe.forEach((value, prop) => {\n if (value === ɵPRE_STYLE) {\n preStyleProps.add(prop);\n } else if (value === AUTO_STYLE) {\n postStyleProps.add(prop);\n }\n });\n if (!isEmpty) {\n finalKeyframe.set('offset', time / this.duration);\n }\n finalKeyframes.push(finalKeyframe);\n });\n const preProps = [...preStyleProps.values()];\n const postProps = [...postStyleProps.values()];\n // special case for a 0-second animation (which is designed just to place styles onscreen)\n if (isEmpty) {\n const kf0 = finalKeyframes[0];\n const kf1 = new Map(kf0);\n kf0.set('offset', 0);\n kf1.set('offset', 1);\n finalKeyframes = [kf0, kf1];\n }\n return createTimelineInstruction(this.element, finalKeyframes, preProps, postProps, this.duration, this.startTime, this.easing, false);\n }\n}\nclass SubTimelineBuilder extends TimelineBuilder {\n keyframes;\n preStyleProps;\n postStyleProps;\n _stretchStartingKeyframe;\n timings;\n constructor(driver, element, keyframes, preStyleProps, postStyleProps, timings, _stretchStartingKeyframe = false) {\n super(driver, element, timings.delay);\n this.keyframes = keyframes;\n this.preStyleProps = preStyleProps;\n this.postStyleProps = postStyleProps;\n this._stretchStartingKeyframe = _stretchStartingKeyframe;\n this.timings = {\n duration: timings.duration,\n delay: timings.delay,\n easing: timings.easing\n };\n }\n containsAnimation() {\n return this.keyframes.length > 1;\n }\n buildKeyframes() {\n let keyframes = this.keyframes;\n let {\n delay,\n duration,\n easing\n } = this.timings;\n if (this._stretchStartingKeyframe && delay) {\n const newKeyframes = [];\n const totalTime = duration + delay;\n const startingGap = delay / totalTime;\n // the original starting keyframe now starts once the delay is done\n const newFirstKeyframe = new Map(keyframes[0]);\n newFirstKeyframe.set('offset', 0);\n newKeyframes.push(newFirstKeyframe);\n const oldFirstKeyframe = new Map(keyframes[0]);\n oldFirstKeyframe.set('offset', roundOffset(startingGap));\n newKeyframes.push(oldFirstKeyframe);\n /*\n When the keyframe is stretched then it means that the delay before the animation\n starts is gone. Instead the first keyframe is placed at the start of the animation\n and it is then copied to where it starts when the original delay is over. This basically\n means nothing animates during that delay, but the styles are still rendered. For this\n to work the original offset values that exist in the original keyframes must be \"warped\"\n so that they can take the new keyframe + delay into account.\n delay=1000, duration=1000, keyframes = 0 .5 1\n turns into\n delay=0, duration=2000, keyframes = 0 .33 .66 1\n */\n // offsets between 1 ... n -1 are all warped by the keyframe stretch\n const limit = keyframes.length - 1;\n for (let i = 1; i <= limit; i++) {\n let kf = new Map(keyframes[i]);\n const oldOffset = kf.get('offset');\n const timeAtKeyframe = delay + oldOffset * duration;\n kf.set('offset', roundOffset(timeAtKeyframe / totalTime));\n newKeyframes.push(kf);\n }\n // the new starting keyframe should be added at the start\n duration = totalTime;\n delay = 0;\n easing = '';\n keyframes = newKeyframes;\n }\n return createTimelineInstruction(this.element, keyframes, this.preStyleProps, this.postStyleProps, duration, delay, easing, true);\n }\n}\nfunction roundOffset(offset, decimalPoints = 3) {\n const mult = Math.pow(10, decimalPoints - 1);\n return Math.round(offset * mult) / mult;\n}\nfunction flattenStyles(input, allStyles) {\n const styles = new Map();\n let allProperties;\n input.forEach(token => {\n if (token === '*') {\n allProperties ??= allStyles.keys();\n for (let prop of allProperties) {\n styles.set(prop, AUTO_STYLE);\n }\n } else {\n for (let [prop, val] of token) {\n styles.set(prop, val);\n }\n }\n });\n return styles;\n}\nfunction createTransitionInstruction(element, triggerName, fromState, toState, isRemovalTransition, fromStyles, toStyles, timelines, queriedElements, preStyleProps, postStyleProps, totalTime, errors) {\n return {\n type: 0 /* AnimationTransitionInstructionType.TransitionAnimation */,\n element,\n triggerName,\n isRemovalTransition,\n fromState,\n fromStyles,\n toState,\n toStyles,\n timelines,\n queriedElements,\n preStyleProps,\n postStyleProps,\n totalTime,\n errors\n };\n}\nconst EMPTY_OBJECT = {};\nclass AnimationTransitionFactory {\n _triggerName;\n ast;\n _stateStyles;\n constructor(_triggerName, ast, _stateStyles) {\n this._triggerName = _triggerName;\n this.ast = ast;\n this._stateStyles = _stateStyles;\n }\n match(currentState, nextState, element, params) {\n return oneOrMoreTransitionsMatch(this.ast.matchers, currentState, nextState, element, params);\n }\n buildStyles(stateName, params, errors) {\n let styler = this._stateStyles.get('*');\n if (stateName !== undefined) {\n styler = this._stateStyles.get(stateName?.toString()) || styler;\n }\n return styler ? styler.buildStyles(params, errors) : new Map();\n }\n build(driver, element, currentState, nextState, enterClassName, leaveClassName, currentOptions, nextOptions, subInstructions, skipAstBuild) {\n const errors = [];\n const transitionAnimationParams = this.ast.options && this.ast.options.params || EMPTY_OBJECT;\n const currentAnimationParams = currentOptions && currentOptions.params || EMPTY_OBJECT;\n const currentStateStyles = this.buildStyles(currentState, currentAnimationParams, errors);\n const nextAnimationParams = nextOptions && nextOptions.params || EMPTY_OBJECT;\n const nextStateStyles = this.buildStyles(nextState, nextAnimationParams, errors);\n const queriedElements = new Set();\n const preStyleMap = new Map();\n const postStyleMap = new Map();\n const isRemoval = nextState === 'void';\n const animationOptions = {\n params: applyParamDefaults(nextAnimationParams, transitionAnimationParams),\n delay: this.ast.options?.delay\n };\n const timelines = skipAstBuild ? [] : buildAnimationTimelines(driver, element, this.ast.animation, enterClassName, leaveClassName, currentStateStyles, nextStateStyles, animationOptions, subInstructions, errors);\n let totalTime = 0;\n timelines.forEach(tl => {\n totalTime = Math.max(tl.duration + tl.delay, totalTime);\n });\n if (errors.length) {\n return createTransitionInstruction(element, this._triggerName, currentState, nextState, isRemoval, currentStateStyles, nextStateStyles, [], [], preStyleMap, postStyleMap, totalTime, errors);\n }\n timelines.forEach(tl => {\n const elm = tl.element;\n const preProps = getOrSetDefaultValue(preStyleMap, elm, new Set());\n tl.preStyleProps.forEach(prop => preProps.add(prop));\n const postProps = getOrSetDefaultValue(postStyleMap, elm, new Set());\n tl.postStyleProps.forEach(prop => postProps.add(prop));\n if (elm !== element) {\n queriedElements.add(elm);\n }\n });\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n checkNonAnimatableInTimelines(timelines, this._triggerName, driver);\n }\n return createTransitionInstruction(element, this._triggerName, currentState, nextState, isRemoval, currentStateStyles, nextStateStyles, timelines, [...queriedElements.values()], preStyleMap, postStyleMap, totalTime);\n }\n}\n/**\n * Checks inside a set of timelines if they try to animate a css property which is not considered\n * animatable, in that case it prints a warning on the console.\n * Besides that the function doesn't have any other effect.\n *\n * Note: this check is done here after the timelines are built instead of doing on a lower level so\n * that we can make sure that the warning appears only once per instruction (we can aggregate here\n * all the issues instead of finding them separately).\n *\n * @param timelines The built timelines for the current instruction.\n * @param triggerName The name of the trigger for the current instruction.\n * @param driver Animation driver used to perform the check.\n *\n */\nfunction checkNonAnimatableInTimelines(timelines, triggerName, driver) {\n if (!driver.validateAnimatableStyleProperty) {\n return;\n }\n const allowedNonAnimatableProps = new Set([\n // 'easing' is a utility/synthetic prop we use to represent\n // easing functions, it represents a property of the animation\n // which is not animatable but different values can be used\n // in different steps\n 'easing']);\n const invalidNonAnimatableProps = new Set();\n timelines.forEach(({\n keyframes\n }) => {\n const nonAnimatablePropsInitialValues = new Map();\n keyframes.forEach(keyframe => {\n const entriesToCheck = Array.from(keyframe.entries()).filter(([prop]) => !allowedNonAnimatableProps.has(prop));\n for (const [prop, value] of entriesToCheck) {\n if (!driver.validateAnimatableStyleProperty(prop)) {\n if (nonAnimatablePropsInitialValues.has(prop) && !invalidNonAnimatableProps.has(prop)) {\n const propInitialValue = nonAnimatablePropsInitialValues.get(prop);\n if (propInitialValue !== value) {\n invalidNonAnimatableProps.add(prop);\n }\n } else {\n nonAnimatablePropsInitialValues.set(prop, value);\n }\n }\n }\n });\n });\n if (invalidNonAnimatableProps.size > 0) {\n console.warn(`Warning: The animation trigger \"${triggerName}\" is attempting to animate the following` + ' not animatable properties: ' + Array.from(invalidNonAnimatableProps).join(', ') + '\\n' + '(to check the list of all animatable properties visit https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_animated_properties)');\n }\n}\nfunction oneOrMoreTransitionsMatch(matchFns, currentState, nextState, element, params) {\n return matchFns.some(fn => fn(currentState, nextState, element, params));\n}\nfunction applyParamDefaults(userParams, defaults) {\n const result = {\n ...defaults\n };\n Object.entries(userParams).forEach(([key, value]) => {\n if (value != null) {\n result[key] = value;\n }\n });\n return result;\n}\nclass AnimationStateStyles {\n styles;\n defaultParams;\n normalizer;\n constructor(styles, defaultParams, normalizer) {\n this.styles = styles;\n this.defaultParams = defaultParams;\n this.normalizer = normalizer;\n }\n buildStyles(params, errors) {\n const finalStyles = new Map();\n const combinedParams = applyParamDefaults(params, this.defaultParams);\n this.styles.styles.forEach(value => {\n if (typeof value !== 'string') {\n value.forEach((val, prop) => {\n if (val) {\n val = interpolateParams(val, combinedParams, errors);\n }\n const normalizedProp = this.normalizer.normalizePropertyName(prop, errors);\n val = this.normalizer.normalizeStyleValue(prop, normalizedProp, val, errors);\n finalStyles.set(prop, val);\n });\n }\n });\n return finalStyles;\n }\n}\nfunction buildTrigger(name, ast, normalizer) {\n return new AnimationTrigger(name, ast, normalizer);\n}\nclass AnimationTrigger {\n name;\n ast;\n _normalizer;\n transitionFactories = [];\n fallbackTransition;\n states = /*#__PURE__*/new Map();\n constructor(name, ast, _normalizer) {\n this.name = name;\n this.ast = ast;\n this._normalizer = _normalizer;\n ast.states.forEach(ast => {\n const defaultParams = ast.options && ast.options.params || {};\n this.states.set(ast.name, new AnimationStateStyles(ast.style, defaultParams, _normalizer));\n });\n balanceProperties(this.states, 'true', '1');\n balanceProperties(this.states, 'false', '0');\n ast.transitions.forEach(ast => {\n this.transitionFactories.push(new AnimationTransitionFactory(name, ast, this.states));\n });\n this.fallbackTransition = createFallbackTransition(name, this.states, this._normalizer);\n }\n get containsQueries() {\n return this.ast.queryCount > 0;\n }\n matchTransition(currentState, nextState, element, params) {\n const entry = this.transitionFactories.find(f => f.match(currentState, nextState, element, params));\n return entry || null;\n }\n matchStyles(currentState, params, errors) {\n return this.fallbackTransition.buildStyles(currentState, params, errors);\n }\n}\nfunction createFallbackTransition(triggerName, states, normalizer) {\n const matchers = [(fromState, toState) => true];\n const animation = {\n type: AnimationMetadataType.Sequence,\n steps: [],\n options: null\n };\n const transition = {\n type: AnimationMetadataType.Transition,\n animation,\n matchers,\n options: null,\n queryCount: 0,\n depCount: 0\n };\n return new AnimationTransitionFactory(triggerName, transition, states);\n}\nfunction balanceProperties(stateMap, key1, key2) {\n if (stateMap.has(key1)) {\n if (!stateMap.has(key2)) {\n stateMap.set(key2, stateMap.get(key1));\n }\n } else if (stateMap.has(key2)) {\n stateMap.set(key1, stateMap.get(key2));\n }\n}\nconst EMPTY_INSTRUCTION_MAP = /*#__PURE__*/new ElementInstructionMap();\nclass TimelineAnimationEngine {\n bodyNode;\n _driver;\n _normalizer;\n _animations = /*#__PURE__*/new Map();\n _playersById = /*#__PURE__*/new Map();\n players = [];\n constructor(bodyNode, _driver, _normalizer) {\n this.bodyNode = bodyNode;\n this._driver = _driver;\n this._normalizer = _normalizer;\n }\n register(id, metadata) {\n const errors = [];\n const warnings = [];\n const ast = buildAnimationAst(this._driver, metadata, errors, warnings);\n if (errors.length) {\n throw registerFailed(errors);\n } else {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (warnings.length) {\n warnRegister(warnings);\n }\n }\n this._animations.set(id, ast);\n }\n }\n _buildPlayer(i, preStyles, postStyles) {\n const element = i.element;\n const keyframes = normalizeKeyframes$1(this._normalizer, i.keyframes, preStyles, postStyles);\n return this._driver.animate(element, keyframes, i.duration, i.delay, i.easing, [], true);\n }\n create(id, element, options = {}) {\n const errors = [];\n const ast = this._animations.get(id);\n let instructions;\n const autoStylesMap = new Map();\n if (ast) {\n instructions = buildAnimationTimelines(this._driver, element, ast, ENTER_CLASSNAME, LEAVE_CLASSNAME, new Map(), new Map(), options, EMPTY_INSTRUCTION_MAP, errors);\n instructions.forEach(inst => {\n const styles = getOrSetDefaultValue(autoStylesMap, inst.element, new Map());\n inst.postStyleProps.forEach(prop => styles.set(prop, null));\n });\n } else {\n errors.push(missingOrDestroyedAnimation());\n instructions = [];\n }\n if (errors.length) {\n throw createAnimationFailed(errors);\n }\n autoStylesMap.forEach((styles, element) => {\n styles.forEach((_, prop) => {\n styles.set(prop, this._driver.computeStyle(element, prop, AUTO_STYLE));\n });\n });\n const players = instructions.map(i => {\n const styles = autoStylesMap.get(i.element);\n return this._buildPlayer(i, new Map(), styles);\n });\n const player = optimizeGroupPlayer(players);\n this._playersById.set(id, player);\n player.onDestroy(() => this.destroy(id));\n this.players.push(player);\n return player;\n }\n destroy(id) {\n const player = this._getPlayer(id);\n player.destroy();\n this._playersById.delete(id);\n const index = this.players.indexOf(player);\n if (index >= 0) {\n this.players.splice(index, 1);\n }\n }\n _getPlayer(id) {\n const player = this._playersById.get(id);\n if (!player) {\n throw missingPlayer(id);\n }\n return player;\n }\n listen(id, element, eventName, callback) {\n // triggerName, fromState, toState are all ignored for timeline animations\n const baseEvent = makeAnimationEvent(element, '', '', '');\n listenOnPlayer(this._getPlayer(id), eventName, baseEvent, callback);\n return () => {};\n }\n command(id, element, command, args) {\n if (command == 'register') {\n this.register(id, args[0]);\n return;\n }\n if (command == 'create') {\n const options = args[0] || {};\n this.create(id, element, options);\n return;\n }\n const player = this._getPlayer(id);\n switch (command) {\n case 'play':\n player.play();\n break;\n case 'pause':\n player.pause();\n break;\n case 'reset':\n player.reset();\n break;\n case 'restart':\n player.restart();\n break;\n case 'finish':\n player.finish();\n break;\n case 'init':\n player.init();\n break;\n case 'setPosition':\n player.setPosition(parseFloat(args[0]));\n break;\n case 'destroy':\n this.destroy(id);\n break;\n }\n }\n}\nconst QUEUED_CLASSNAME = 'ng-animate-queued';\nconst QUEUED_SELECTOR = '.ng-animate-queued';\nconst DISABLED_CLASSNAME = 'ng-animate-disabled';\nconst DISABLED_SELECTOR = '.ng-animate-disabled';\nconst STAR_CLASSNAME = 'ng-star-inserted';\nconst STAR_SELECTOR = '.ng-star-inserted';\nconst EMPTY_PLAYER_ARRAY = [];\nconst NULL_REMOVAL_STATE = {\n namespaceId: '',\n setForRemoval: false,\n setForMove: false,\n hasAnimation: false,\n removedBeforeQueried: false\n};\nconst NULL_REMOVED_QUERIED_STATE = {\n namespaceId: '',\n setForMove: false,\n setForRemoval: false,\n hasAnimation: false,\n removedBeforeQueried: true\n};\nconst REMOVAL_FLAG = '__ng_removed';\nclass StateValue {\n namespaceId;\n value;\n options;\n get params() {\n return this.options.params;\n }\n constructor(input, namespaceId = '') {\n this.namespaceId = namespaceId;\n const isObj = input && input.hasOwnProperty('value');\n const value = isObj ? input['value'] : input;\n this.value = normalizeTriggerValue(value);\n if (isObj) {\n // we drop the value property from options.\n const {\n value,\n ...options\n } = input;\n this.options = options;\n } else {\n this.options = {};\n }\n if (!this.options.params) {\n this.options.params = {};\n }\n }\n absorbOptions(options) {\n const newParams = options.params;\n if (newParams) {\n const oldParams = this.options.params;\n Object.keys(newParams).forEach(prop => {\n if (oldParams[prop] == null) {\n oldParams[prop] = newParams[prop];\n }\n });\n }\n }\n}\nconst VOID_VALUE = 'void';\nconst DEFAULT_STATE_VALUE = /*#__PURE__*/new StateValue(VOID_VALUE);\nclass AnimationTransitionNamespace {\n id;\n hostElement;\n _engine;\n players = [];\n _triggers = /*#__PURE__*/new Map();\n _queue = [];\n _elementListeners = /*#__PURE__*/new Map();\n _hostClassName;\n constructor(id, hostElement, _engine) {\n this.id = id;\n this.hostElement = hostElement;\n this._engine = _engine;\n this._hostClassName = 'ng-tns-' + id;\n addClass(hostElement, this._hostClassName);\n }\n listen(element, name, phase, callback) {\n if (!this._triggers.has(name)) {\n throw missingTrigger(phase, name);\n }\n if (phase == null || phase.length == 0) {\n throw missingEvent(name);\n }\n if (!isTriggerEventValid(phase)) {\n throw unsupportedTriggerEvent(phase, name);\n }\n const listeners = getOrSetDefaultValue(this._elementListeners, element, []);\n const data = {\n name,\n phase,\n callback\n };\n listeners.push(data);\n const triggersWithStates = getOrSetDefaultValue(this._engine.statesByElement, element, new Map());\n if (!triggersWithStates.has(name)) {\n addClass(element, NG_TRIGGER_CLASSNAME);\n addClass(element, NG_TRIGGER_CLASSNAME + '-' + name);\n triggersWithStates.set(name, DEFAULT_STATE_VALUE);\n }\n return () => {\n // the event listener is removed AFTER the flush has occurred such\n // that leave animations callbacks can fire (otherwise if the node\n // is removed in between then the listeners would be deregistered)\n this._engine.afterFlush(() => {\n const index = listeners.indexOf(data);\n if (index >= 0) {\n listeners.splice(index, 1);\n }\n if (!this._triggers.has(name)) {\n triggersWithStates.delete(name);\n }\n });\n };\n }\n register(name, ast) {\n if (this._triggers.has(name)) {\n // throw\n return false;\n } else {\n this._triggers.set(name, ast);\n return true;\n }\n }\n _getTrigger(name) {\n const trigger = this._triggers.get(name);\n if (!trigger) {\n throw unregisteredTrigger(name);\n }\n return trigger;\n }\n trigger(element, triggerName, value, defaultToFallback = true) {\n const trigger = this._getTrigger(triggerName);\n const player = new TransitionAnimationPlayer(this.id, triggerName, element);\n let triggersWithStates = this._engine.statesByElement.get(element);\n if (!triggersWithStates) {\n addClass(element, NG_TRIGGER_CLASSNAME);\n addClass(element, NG_TRIGGER_CLASSNAME + '-' + triggerName);\n this._engine.statesByElement.set(element, triggersWithStates = new Map());\n }\n let fromState = triggersWithStates.get(triggerName);\n const toState = new StateValue(value, this.id);\n const isObj = value && value.hasOwnProperty('value');\n if (!isObj && fromState) {\n toState.absorbOptions(fromState.options);\n }\n triggersWithStates.set(triggerName, toState);\n if (!fromState) {\n fromState = DEFAULT_STATE_VALUE;\n }\n const isRemoval = toState.value === VOID_VALUE;\n // normally this isn't reached by here, however, if an object expression\n // is passed in then it may be a new object each time. Comparing the value\n // is important since that will stay the same despite there being a new object.\n // The removal arc here is special cased because the same element is triggered\n // twice in the event that it contains animations on the outer/inner portions\n // of the host container\n if (!isRemoval && fromState.value === toState.value) {\n // this means that despite the value not changing, some inner params\n // have changed which means that the animation final styles need to be applied\n if (!objEquals(fromState.params, toState.params)) {\n const errors = [];\n const fromStyles = trigger.matchStyles(fromState.value, fromState.params, errors);\n const toStyles = trigger.matchStyles(toState.value, toState.params, errors);\n if (errors.length) {\n this._engine.reportError(errors);\n } else {\n this._engine.afterFlush(() => {\n eraseStyles(element, fromStyles);\n setStyles(element, toStyles);\n });\n }\n }\n return;\n }\n const playersOnElement = getOrSetDefaultValue(this._engine.playersByElement, element, []);\n playersOnElement.forEach(player => {\n // only remove the player if it is queued on the EXACT same trigger/namespace\n // we only also deal with queued players here because if the animation has\n // started then we want to keep the player alive until the flush happens\n // (which is where the previousPlayers are passed into the new player)\n if (player.namespaceId == this.id && player.triggerName == triggerName && player.queued) {\n player.destroy();\n }\n });\n let transition = trigger.matchTransition(fromState.value, toState.value, element, toState.params);\n let isFallbackTransition = false;\n if (!transition) {\n if (!defaultToFallback) return;\n transition = trigger.fallbackTransition;\n isFallbackTransition = true;\n }\n this._engine.totalQueuedPlayers++;\n this._queue.push({\n element,\n triggerName,\n transition,\n fromState,\n toState,\n player,\n isFallbackTransition\n });\n if (!isFallbackTransition) {\n addClass(element, QUEUED_CLASSNAME);\n player.onStart(() => {\n removeClass(element, QUEUED_CLASSNAME);\n });\n }\n player.onDone(() => {\n let index = this.players.indexOf(player);\n if (index >= 0) {\n this.players.splice(index, 1);\n }\n const players = this._engine.playersByElement.get(element);\n if (players) {\n let index = players.indexOf(player);\n if (index >= 0) {\n players.splice(index, 1);\n }\n }\n });\n this.players.push(player);\n playersOnElement.push(player);\n return player;\n }\n deregister(name) {\n this._triggers.delete(name);\n this._engine.statesByElement.forEach(stateMap => stateMap.delete(name));\n this._elementListeners.forEach((listeners, element) => {\n this._elementListeners.set(element, listeners.filter(entry => {\n return entry.name != name;\n }));\n });\n }\n clearElementCache(element) {\n this._engine.statesByElement.delete(element);\n this._elementListeners.delete(element);\n const elementPlayers = this._engine.playersByElement.get(element);\n if (elementPlayers) {\n elementPlayers.forEach(player => player.destroy());\n this._engine.playersByElement.delete(element);\n }\n }\n _signalRemovalForInnerTriggers(rootElement, context) {\n const elements = this._engine.driver.query(rootElement, NG_TRIGGER_SELECTOR, true);\n // emulate a leave animation for all inner nodes within this node.\n // If there are no animations found for any of the nodes then clear the cache\n // for the element.\n elements.forEach(elm => {\n // this means that an inner remove() operation has already kicked off\n // the animation on this element...\n if (elm[REMOVAL_FLAG]) return;\n const namespaces = this._engine.fetchNamespacesByElement(elm);\n if (namespaces.size) {\n namespaces.forEach(ns => ns.triggerLeaveAnimation(elm, context, false, true));\n } else {\n this.clearElementCache(elm);\n }\n });\n // If the child elements were removed along with the parent, their animations might not\n // have completed. Clear all the elements from the cache so we don't end up with a memory leak.\n this._engine.afterFlushAnimationsDone(() => elements.forEach(elm => this.clearElementCache(elm)));\n }\n triggerLeaveAnimation(element, context, destroyAfterComplete, defaultToFallback) {\n const triggerStates = this._engine.statesByElement.get(element);\n const previousTriggersValues = new Map();\n if (triggerStates) {\n const players = [];\n triggerStates.forEach((state, triggerName) => {\n previousTriggersValues.set(triggerName, state.value);\n // this check is here in the event that an element is removed\n // twice (both on the host level and the component level)\n if (this._triggers.has(triggerName)) {\n const player = this.trigger(element, triggerName, VOID_VALUE, defaultToFallback);\n if (player) {\n players.push(player);\n }\n }\n });\n if (players.length) {\n this._engine.markElementAsRemoved(this.id, element, true, context, previousTriggersValues);\n if (destroyAfterComplete) {\n optimizeGroupPlayer(players).onDone(() => this._engine.processLeaveNode(element));\n }\n return true;\n }\n }\n return false;\n }\n prepareLeaveAnimationListeners(element) {\n const listeners = this._elementListeners.get(element);\n const elementStates = this._engine.statesByElement.get(element);\n // if this statement fails then it means that the element was picked up\n // by an earlier flush (or there are no listeners at all to track the leave).\n if (listeners && elementStates) {\n const visitedTriggers = new Set();\n listeners.forEach(listener => {\n const triggerName = listener.name;\n if (visitedTriggers.has(triggerName)) return;\n visitedTriggers.add(triggerName);\n const trigger = this._triggers.get(triggerName);\n const transition = trigger.fallbackTransition;\n const fromState = elementStates.get(triggerName) || DEFAULT_STATE_VALUE;\n const toState = new StateValue(VOID_VALUE);\n const player = new TransitionAnimationPlayer(this.id, triggerName, element);\n this._engine.totalQueuedPlayers++;\n this._queue.push({\n element,\n triggerName,\n transition,\n fromState,\n toState,\n player,\n isFallbackTransition: true\n });\n });\n }\n }\n removeNode(element, context) {\n const engine = this._engine;\n if (element.childElementCount) {\n this._signalRemovalForInnerTriggers(element, context);\n }\n // this means that a * => VOID animation was detected and kicked off\n if (this.triggerLeaveAnimation(element, context, true)) return;\n // find the player that is animating and make sure that the\n // removal is delayed until that player has completed\n let containsPotentialParentTransition = false;\n if (engine.totalAnimations) {\n const currentPlayers = engine.players.length ? engine.playersByQueriedElement.get(element) : [];\n // when this `if statement` does not continue forward it means that\n // a previous animation query has selected the current element and\n // is animating it. In this situation want to continue forwards and\n // allow the element to be queued up for animation later.\n if (currentPlayers && currentPlayers.length) {\n containsPotentialParentTransition = true;\n } else {\n let parent = element;\n while (parent = parent.parentNode) {\n const triggers = engine.statesByElement.get(parent);\n if (triggers) {\n containsPotentialParentTransition = true;\n break;\n }\n }\n }\n }\n // at this stage we know that the element will either get removed\n // during flush or will be picked up by a parent query. Either way\n // we need to fire the listeners for this element when it DOES get\n // removed (once the query parent animation is done or after flush)\n this.prepareLeaveAnimationListeners(element);\n // whether or not a parent has an animation we need to delay the deferral of the leave\n // operation until we have more information (which we do after flush() has been called)\n if (containsPotentialParentTransition) {\n engine.markElementAsRemoved(this.id, element, false, context);\n } else {\n const removalFlag = element[REMOVAL_FLAG];\n if (!removalFlag || removalFlag === NULL_REMOVAL_STATE) {\n // we do this after the flush has occurred such\n // that the callbacks can be fired\n engine.afterFlush(() => this.clearElementCache(element));\n engine.destroyInnerAnimations(element);\n engine._onRemovalComplete(element, context);\n }\n }\n }\n insertNode(element, parent) {\n addClass(element, this._hostClassName);\n }\n drainQueuedTransitions(microtaskId) {\n const instructions = [];\n this._queue.forEach(entry => {\n const player = entry.player;\n if (player.destroyed) return;\n const element = entry.element;\n const listeners = this._elementListeners.get(element);\n if (listeners) {\n listeners.forEach(listener => {\n if (listener.name == entry.triggerName) {\n const baseEvent = makeAnimationEvent(element, entry.triggerName, entry.fromState.value, entry.toState.value);\n baseEvent['_data'] = microtaskId;\n listenOnPlayer(entry.player, listener.phase, baseEvent, listener.callback);\n }\n });\n }\n if (player.markedForDestroy) {\n this._engine.afterFlush(() => {\n // now we can destroy the element properly since the event listeners have\n // been bound to the player\n player.destroy();\n });\n } else {\n instructions.push(entry);\n }\n });\n this._queue = [];\n return instructions.sort((a, b) => {\n // if depCount == 0 them move to front\n // otherwise if a contains b then move back\n const d0 = a.transition.ast.depCount;\n const d1 = b.transition.ast.depCount;\n if (d0 == 0 || d1 == 0) {\n return d0 - d1;\n }\n return this._engine.driver.containsElement(a.element, b.element) ? 1 : -1;\n });\n }\n destroy(context) {\n this.players.forEach(p => p.destroy());\n this._signalRemovalForInnerTriggers(this.hostElement, context);\n }\n}\nclass TransitionAnimationEngine {\n bodyNode;\n driver;\n _normalizer;\n players = [];\n newHostElements = /*#__PURE__*/new Map();\n playersByElement = /*#__PURE__*/new Map();\n playersByQueriedElement = /*#__PURE__*/new Map();\n statesByElement = /*#__PURE__*/new Map();\n disabledNodes = /*#__PURE__*/new Set();\n totalAnimations = 0;\n totalQueuedPlayers = 0;\n _namespaceLookup = {};\n _namespaceList = [];\n _flushFns = [];\n _whenQuietFns = [];\n namespacesByHostElement = /*#__PURE__*/new Map();\n collectedEnterElements = [];\n collectedLeaveElements = [];\n // this method is designed to be overridden by the code that uses this engine\n onRemovalComplete = (element, context) => {};\n /** @internal */\n _onRemovalComplete(element, context) {\n this.onRemovalComplete(element, context);\n }\n constructor(bodyNode, driver, _normalizer) {\n this.bodyNode = bodyNode;\n this.driver = driver;\n this._normalizer = _normalizer;\n }\n get queuedPlayers() {\n const players = [];\n this._namespaceList.forEach(ns => {\n ns.players.forEach(player => {\n if (player.queued) {\n players.push(player);\n }\n });\n });\n return players;\n }\n createNamespace(namespaceId, hostElement) {\n const ns = new AnimationTransitionNamespace(namespaceId, hostElement, this);\n if (this.bodyNode && this.driver.containsElement(this.bodyNode, hostElement)) {\n this._balanceNamespaceList(ns, hostElement);\n } else {\n // defer this later until flush during when the host element has\n // been inserted so that we know exactly where to place it in\n // the namespace list\n this.newHostElements.set(hostElement, ns);\n // given that this host element is a part of the animation code, it\n // may or may not be inserted by a parent node that is of an\n // animation renderer type. If this happens then we can still have\n // access to this item when we query for :enter nodes. If the parent\n // is a renderer then the set data-structure will normalize the entry\n this.collectEnterElement(hostElement);\n }\n return this._namespaceLookup[namespaceId] = ns;\n }\n _balanceNamespaceList(ns, hostElement) {\n const namespaceList = this._namespaceList;\n const namespacesByHostElement = this.namespacesByHostElement;\n const limit = namespaceList.length - 1;\n if (limit >= 0) {\n let found = false;\n // Find the closest ancestor with an existing namespace so we can then insert `ns` after it,\n // establishing a top-down ordering of namespaces in `this._namespaceList`.\n let ancestor = this.driver.getParentElement(hostElement);\n while (ancestor) {\n const ancestorNs = namespacesByHostElement.get(ancestor);\n if (ancestorNs) {\n // An animation namespace has been registered for this ancestor, so we insert `ns`\n // right after it to establish top-down ordering of animation namespaces.\n const index = namespaceList.indexOf(ancestorNs);\n namespaceList.splice(index + 1, 0, ns);\n found = true;\n break;\n }\n ancestor = this.driver.getParentElement(ancestor);\n }\n if (!found) {\n // No namespace exists that is an ancestor of `ns`, so `ns` is inserted at the front to\n // ensure that any existing descendants are ordered after `ns`, retaining the desired\n // top-down ordering.\n namespaceList.unshift(ns);\n }\n } else {\n namespaceList.push(ns);\n }\n namespacesByHostElement.set(hostElement, ns);\n return ns;\n }\n register(namespaceId, hostElement) {\n let ns = this._namespaceLookup[namespaceId];\n if (!ns) {\n ns = this.createNamespace(namespaceId, hostElement);\n }\n return ns;\n }\n registerTrigger(namespaceId, name, trigger) {\n let ns = this._namespaceLookup[namespaceId];\n if (ns && ns.register(name, trigger)) {\n this.totalAnimations++;\n }\n }\n destroy(namespaceId, context) {\n if (!namespaceId) return;\n this.afterFlush(() => {});\n this.afterFlushAnimationsDone(() => {\n const ns = this._fetchNamespace(namespaceId);\n this.namespacesByHostElement.delete(ns.hostElement);\n const index = this._namespaceList.indexOf(ns);\n if (index >= 0) {\n this._namespaceList.splice(index, 1);\n }\n ns.destroy(context);\n delete this._namespaceLookup[namespaceId];\n });\n }\n _fetchNamespace(id) {\n return this._namespaceLookup[id];\n }\n fetchNamespacesByElement(element) {\n // normally there should only be one namespace per element, however\n // if @triggers are placed on both the component element and then\n // its host element (within the component code) then there will be\n // two namespaces returned. We use a set here to simply deduplicate\n // the namespaces in case (for the reason described above) there are multiple triggers\n const namespaces = new Set();\n const elementStates = this.statesByElement.get(element);\n if (elementStates) {\n for (let stateValue of elementStates.values()) {\n if (stateValue.namespaceId) {\n const ns = this._fetchNamespace(stateValue.namespaceId);\n if (ns) {\n namespaces.add(ns);\n }\n }\n }\n }\n return namespaces;\n }\n trigger(namespaceId, element, name, value) {\n if (isElementNode(element)) {\n const ns = this._fetchNamespace(namespaceId);\n if (ns) {\n ns.trigger(element, name, value);\n return true;\n }\n }\n return false;\n }\n insertNode(namespaceId, element, parent, insertBefore) {\n if (!isElementNode(element)) return;\n // special case for when an element is removed and reinserted (move operation)\n // when this occurs we do not want to use the element for deletion later\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n details.setForRemoval = false;\n details.setForMove = true;\n const index = this.collectedLeaveElements.indexOf(element);\n if (index >= 0) {\n this.collectedLeaveElements.splice(index, 1);\n }\n }\n // in the event that the namespaceId is blank then the caller\n // code does not contain any animation code in it, but it is\n // just being called so that the node is marked as being inserted\n if (namespaceId) {\n const ns = this._fetchNamespace(namespaceId);\n // This if-statement is a workaround for router issue #21947.\n // The router sometimes hits a race condition where while a route\n // is being instantiated a new navigation arrives, triggering leave\n // animation of DOM that has not been fully initialized, until this\n // is resolved, we need to handle the scenario when DOM is not in a\n // consistent state during the animation.\n if (ns) {\n ns.insertNode(element, parent);\n }\n }\n // only *directives and host elements are inserted before\n if (insertBefore) {\n this.collectEnterElement(element);\n }\n }\n collectEnterElement(element) {\n this.collectedEnterElements.push(element);\n }\n markElementAsDisabled(element, value) {\n if (value) {\n if (!this.disabledNodes.has(element)) {\n this.disabledNodes.add(element);\n addClass(element, DISABLED_CLASSNAME);\n }\n } else if (this.disabledNodes.has(element)) {\n this.disabledNodes.delete(element);\n removeClass(element, DISABLED_CLASSNAME);\n }\n }\n removeNode(namespaceId, element, context) {\n if (isElementNode(element)) {\n const ns = namespaceId ? this._fetchNamespace(namespaceId) : null;\n if (ns) {\n ns.removeNode(element, context);\n } else {\n this.markElementAsRemoved(namespaceId, element, false, context);\n }\n const hostNS = this.namespacesByHostElement.get(element);\n if (hostNS && hostNS.id !== namespaceId) {\n hostNS.removeNode(element, context);\n }\n } else {\n this._onRemovalComplete(element, context);\n }\n }\n markElementAsRemoved(namespaceId, element, hasAnimation, context, previousTriggersValues) {\n this.collectedLeaveElements.push(element);\n element[REMOVAL_FLAG] = {\n namespaceId,\n setForRemoval: context,\n hasAnimation,\n removedBeforeQueried: false,\n previousTriggersValues\n };\n }\n listen(namespaceId, element, name, phase, callback) {\n if (isElementNode(element)) {\n return this._fetchNamespace(namespaceId).listen(element, name, phase, callback);\n }\n return () => {};\n }\n _buildInstruction(entry, subTimelines, enterClassName, leaveClassName, skipBuildAst) {\n return entry.transition.build(this.driver, entry.element, entry.fromState.value, entry.toState.value, enterClassName, leaveClassName, entry.fromState.options, entry.toState.options, subTimelines, skipBuildAst);\n }\n destroyInnerAnimations(containerElement) {\n let elements = this.driver.query(containerElement, NG_TRIGGER_SELECTOR, true);\n elements.forEach(element => this.destroyActiveAnimationsForElement(element));\n if (this.playersByQueriedElement.size == 0) return;\n elements = this.driver.query(containerElement, NG_ANIMATING_SELECTOR, true);\n elements.forEach(element => this.finishActiveQueriedAnimationOnElement(element));\n }\n destroyActiveAnimationsForElement(element) {\n const players = this.playersByElement.get(element);\n if (players) {\n players.forEach(player => {\n // special case for when an element is set for destruction, but hasn't started.\n // in this situation we want to delay the destruction until the flush occurs\n // so that any event listeners attached to the player are triggered.\n if (player.queued) {\n player.markedForDestroy = true;\n } else {\n player.destroy();\n }\n });\n }\n }\n finishActiveQueriedAnimationOnElement(element) {\n const players = this.playersByQueriedElement.get(element);\n if (players) {\n players.forEach(player => player.finish());\n }\n }\n whenRenderingDone() {\n return new Promise(resolve => {\n if (this.players.length) {\n return optimizeGroupPlayer(this.players).onDone(() => resolve());\n } else {\n resolve();\n }\n });\n }\n processLeaveNode(element) {\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n // this will prevent it from removing it twice\n element[REMOVAL_FLAG] = NULL_REMOVAL_STATE;\n if (details.namespaceId) {\n this.destroyInnerAnimations(element);\n const ns = this._fetchNamespace(details.namespaceId);\n if (ns) {\n ns.clearElementCache(element);\n }\n }\n this._onRemovalComplete(element, details.setForRemoval);\n }\n if (element.classList?.contains(DISABLED_CLASSNAME)) {\n this.markElementAsDisabled(element, false);\n }\n this.driver.query(element, DISABLED_SELECTOR, true).forEach(node => {\n this.markElementAsDisabled(node, false);\n });\n }\n flush(microtaskId = -1) {\n let players = [];\n if (this.newHostElements.size) {\n this.newHostElements.forEach((ns, element) => this._balanceNamespaceList(ns, element));\n this.newHostElements.clear();\n }\n if (this.totalAnimations && this.collectedEnterElements.length) {\n for (let i = 0; i < this.collectedEnterElements.length; i++) {\n const elm = this.collectedEnterElements[i];\n addClass(elm, STAR_CLASSNAME);\n }\n }\n if (this._namespaceList.length && (this.totalQueuedPlayers || this.collectedLeaveElements.length)) {\n const cleanupFns = [];\n try {\n players = this._flushAnimations(cleanupFns, microtaskId);\n } finally {\n for (let i = 0; i < cleanupFns.length; i++) {\n cleanupFns[i]();\n }\n }\n } else {\n for (let i = 0; i < this.collectedLeaveElements.length; i++) {\n const element = this.collectedLeaveElements[i];\n this.processLeaveNode(element);\n }\n }\n this.totalQueuedPlayers = 0;\n this.collectedEnterElements.length = 0;\n this.collectedLeaveElements.length = 0;\n this._flushFns.forEach(fn => fn());\n this._flushFns = [];\n if (this._whenQuietFns.length) {\n // we move these over to a variable so that\n // if any new callbacks are registered in another\n // flush they do not populate the existing set\n const quietFns = this._whenQuietFns;\n this._whenQuietFns = [];\n if (players.length) {\n optimizeGroupPlayer(players).onDone(() => {\n quietFns.forEach(fn => fn());\n });\n } else {\n quietFns.forEach(fn => fn());\n }\n }\n }\n reportError(errors) {\n throw triggerTransitionsFailed(errors);\n }\n _flushAnimations(cleanupFns, microtaskId) {\n const subTimelines = new ElementInstructionMap();\n const skippedPlayers = [];\n const skippedPlayersMap = new Map();\n const queuedInstructions = [];\n const queriedElements = new Map();\n const allPreStyleElements = new Map();\n const allPostStyleElements = new Map();\n const disabledElementsSet = new Set();\n this.disabledNodes.forEach(node => {\n disabledElementsSet.add(node);\n const nodesThatAreDisabled = this.driver.query(node, QUEUED_SELECTOR, true);\n for (let i = 0; i < nodesThatAreDisabled.length; i++) {\n disabledElementsSet.add(nodesThatAreDisabled[i]);\n }\n });\n const bodyNode = this.bodyNode;\n const allTriggerElements = Array.from(this.statesByElement.keys());\n const enterNodeMap = buildRootMap(allTriggerElements, this.collectedEnterElements);\n // this must occur before the instructions are built below such that\n // the :enter queries match the elements (since the timeline queries\n // are fired during instruction building).\n const enterNodeMapIds = new Map();\n let i = 0;\n enterNodeMap.forEach((nodes, root) => {\n const className = ENTER_CLASSNAME + i++;\n enterNodeMapIds.set(root, className);\n nodes.forEach(node => addClass(node, className));\n });\n const allLeaveNodes = [];\n const mergedLeaveNodes = new Set();\n const leaveNodesWithoutAnimations = new Set();\n for (let i = 0; i < this.collectedLeaveElements.length; i++) {\n const element = this.collectedLeaveElements[i];\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n allLeaveNodes.push(element);\n mergedLeaveNodes.add(element);\n if (details.hasAnimation) {\n this.driver.query(element, STAR_SELECTOR, true).forEach(elm => mergedLeaveNodes.add(elm));\n } else {\n leaveNodesWithoutAnimations.add(element);\n }\n }\n }\n const leaveNodeMapIds = new Map();\n const leaveNodeMap = buildRootMap(allTriggerElements, Array.from(mergedLeaveNodes));\n leaveNodeMap.forEach((nodes, root) => {\n const className = LEAVE_CLASSNAME + i++;\n leaveNodeMapIds.set(root, className);\n nodes.forEach(node => addClass(node, className));\n });\n cleanupFns.push(() => {\n enterNodeMap.forEach((nodes, root) => {\n const className = enterNodeMapIds.get(root);\n nodes.forEach(node => removeClass(node, className));\n });\n leaveNodeMap.forEach((nodes, root) => {\n const className = leaveNodeMapIds.get(root);\n nodes.forEach(node => removeClass(node, className));\n });\n allLeaveNodes.forEach(element => {\n this.processLeaveNode(element);\n });\n });\n const allPlayers = [];\n const erroneousTransitions = [];\n for (let i = this._namespaceList.length - 1; i >= 0; i--) {\n const ns = this._namespaceList[i];\n ns.drainQueuedTransitions(microtaskId).forEach(entry => {\n const player = entry.player;\n const element = entry.element;\n allPlayers.push(player);\n if (this.collectedEnterElements.length) {\n const details = element[REMOVAL_FLAG];\n // animations for move operations (elements being removed and reinserted,\n // e.g. when the order of an *ngFor list changes) are currently not supported\n if (details && details.setForMove) {\n if (details.previousTriggersValues && details.previousTriggersValues.has(entry.triggerName)) {\n const previousValue = details.previousTriggersValues.get(entry.triggerName);\n // we need to restore the previous trigger value since the element has\n // only been moved and hasn't actually left the DOM\n const triggersWithStates = this.statesByElement.get(entry.element);\n if (triggersWithStates && triggersWithStates.has(entry.triggerName)) {\n const state = triggersWithStates.get(entry.triggerName);\n state.value = previousValue;\n triggersWithStates.set(entry.triggerName, state);\n }\n }\n player.destroy();\n return;\n }\n }\n const nodeIsOrphaned = !bodyNode || !this.driver.containsElement(bodyNode, element);\n const leaveClassName = leaveNodeMapIds.get(element);\n const enterClassName = enterNodeMapIds.get(element);\n const instruction = this._buildInstruction(entry, subTimelines, enterClassName, leaveClassName, nodeIsOrphaned);\n if (instruction.errors && instruction.errors.length) {\n erroneousTransitions.push(instruction);\n return;\n }\n // even though the element may not be in the DOM, it may still\n // be added at a later point (due to the mechanics of content\n // projection and/or dynamic component insertion) therefore it's\n // important to still style the element.\n if (nodeIsOrphaned) {\n player.onStart(() => eraseStyles(element, instruction.fromStyles));\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n skippedPlayers.push(player);\n return;\n }\n // if an unmatched transition is queued and ready to go\n // then it SHOULD NOT render an animation and cancel the\n // previously running animations.\n if (entry.isFallbackTransition) {\n player.onStart(() => eraseStyles(element, instruction.fromStyles));\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n skippedPlayers.push(player);\n return;\n }\n // this means that if a parent animation uses this animation as a sub-trigger\n // then it will instruct the timeline builder not to add a player delay, but\n // instead stretch the first keyframe gap until the animation starts. This is\n // important in order to prevent extra initialization styles from being\n // required by the user for the animation.\n const timelines = [];\n instruction.timelines.forEach(tl => {\n tl.stretchStartingKeyframe = true;\n if (!this.disabledNodes.has(tl.element)) {\n timelines.push(tl);\n }\n });\n instruction.timelines = timelines;\n subTimelines.append(element, instruction.timelines);\n const tuple = {\n instruction,\n player,\n element\n };\n queuedInstructions.push(tuple);\n instruction.queriedElements.forEach(element => getOrSetDefaultValue(queriedElements, element, []).push(player));\n instruction.preStyleProps.forEach((stringMap, element) => {\n if (stringMap.size) {\n let setVal = allPreStyleElements.get(element);\n if (!setVal) {\n allPreStyleElements.set(element, setVal = new Set());\n }\n stringMap.forEach((_, prop) => setVal.add(prop));\n }\n });\n instruction.postStyleProps.forEach((stringMap, element) => {\n let setVal = allPostStyleElements.get(element);\n if (!setVal) {\n allPostStyleElements.set(element, setVal = new Set());\n }\n stringMap.forEach((_, prop) => setVal.add(prop));\n });\n });\n }\n if (erroneousTransitions.length) {\n const errors = [];\n erroneousTransitions.forEach(instruction => {\n errors.push(transitionFailed(instruction.triggerName, instruction.errors));\n });\n allPlayers.forEach(player => player.destroy());\n this.reportError(errors);\n }\n const allPreviousPlayersMap = new Map();\n // this map tells us which element in the DOM tree is contained by\n // which animation. Further down this map will get populated once\n // the players are built and in doing so we can use it to efficiently\n // figure out if a sub player is skipped due to a parent player having priority.\n const animationElementMap = new Map();\n queuedInstructions.forEach(entry => {\n const element = entry.element;\n if (subTimelines.has(element)) {\n animationElementMap.set(element, element);\n this._beforeAnimationBuild(entry.player.namespaceId, entry.instruction, allPreviousPlayersMap);\n }\n });\n skippedPlayers.forEach(player => {\n const element = player.element;\n const previousPlayers = this._getPreviousPlayers(element, false, player.namespaceId, player.triggerName, null);\n previousPlayers.forEach(prevPlayer => {\n getOrSetDefaultValue(allPreviousPlayersMap, element, []).push(prevPlayer);\n prevPlayer.destroy();\n });\n });\n // this is a special case for nodes that will be removed either by\n // having their own leave animations or by being queried in a container\n // that will be removed once a parent animation is complete. The idea\n // here is that * styles must be identical to ! styles because of\n // backwards compatibility (* is also filled in by default in many places).\n // Otherwise * styles will return an empty value or \"auto\" since the element\n // passed to getComputedStyle will not be visible (since * === destination)\n const replaceNodes = allLeaveNodes.filter(node => {\n return replacePostStylesAsPre(node, allPreStyleElements, allPostStyleElements);\n });\n // POST STAGE: fill the * styles\n const postStylesMap = new Map();\n const allLeaveQueriedNodes = cloakAndComputeStyles(postStylesMap, this.driver, leaveNodesWithoutAnimations, allPostStyleElements, AUTO_STYLE);\n allLeaveQueriedNodes.forEach(node => {\n if (replacePostStylesAsPre(node, allPreStyleElements, allPostStyleElements)) {\n replaceNodes.push(node);\n }\n });\n // PRE STAGE: fill the ! styles\n const preStylesMap = new Map();\n enterNodeMap.forEach((nodes, root) => {\n cloakAndComputeStyles(preStylesMap, this.driver, new Set(nodes), allPreStyleElements, ɵPRE_STYLE);\n });\n replaceNodes.forEach(node => {\n const post = postStylesMap.get(node);\n const pre = preStylesMap.get(node);\n postStylesMap.set(node, new Map([...(post?.entries() ?? []), ...(pre?.entries() ?? [])]));\n });\n const rootPlayers = [];\n const subPlayers = [];\n const NO_PARENT_ANIMATION_ELEMENT_DETECTED = {};\n queuedInstructions.forEach(entry => {\n const {\n element,\n player,\n instruction\n } = entry;\n // this means that it was never consumed by a parent animation which\n // means that it is independent and therefore should be set for animation\n if (subTimelines.has(element)) {\n if (disabledElementsSet.has(element)) {\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n player.disabled = true;\n player.overrideTotalTime(instruction.totalTime);\n skippedPlayers.push(player);\n return;\n }\n // this will flow up the DOM and query the map to figure out\n // if a parent animation has priority over it. In the situation\n // that a parent is detected then it will cancel the loop. If\n // nothing is detected, or it takes a few hops to find a parent,\n // then it will fill in the missing nodes and signal them as having\n // a detected parent (or a NO_PARENT value via a special constant).\n let parentWithAnimation = NO_PARENT_ANIMATION_ELEMENT_DETECTED;\n if (animationElementMap.size > 1) {\n let elm = element;\n const parentsToAdd = [];\n while (elm = elm.parentNode) {\n const detectedParent = animationElementMap.get(elm);\n if (detectedParent) {\n parentWithAnimation = detectedParent;\n break;\n }\n parentsToAdd.push(elm);\n }\n parentsToAdd.forEach(parent => animationElementMap.set(parent, parentWithAnimation));\n }\n const innerPlayer = this._buildAnimation(player.namespaceId, instruction, allPreviousPlayersMap, skippedPlayersMap, preStylesMap, postStylesMap);\n player.setRealPlayer(innerPlayer);\n if (parentWithAnimation === NO_PARENT_ANIMATION_ELEMENT_DETECTED) {\n rootPlayers.push(player);\n } else {\n const parentPlayers = this.playersByElement.get(parentWithAnimation);\n if (parentPlayers && parentPlayers.length) {\n player.parentPlayer = optimizeGroupPlayer(parentPlayers);\n }\n skippedPlayers.push(player);\n }\n } else {\n eraseStyles(element, instruction.fromStyles);\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n // there still might be a ancestor player animating this\n // element therefore we will still add it as a sub player\n // even if its animation may be disabled\n subPlayers.push(player);\n if (disabledElementsSet.has(element)) {\n skippedPlayers.push(player);\n }\n }\n });\n // find all of the sub players' corresponding inner animation players\n subPlayers.forEach(player => {\n // even if no players are found for a sub animation it\n // will still complete itself after the next tick since it's Noop\n const playersForElement = skippedPlayersMap.get(player.element);\n if (playersForElement && playersForElement.length) {\n const innerPlayer = optimizeGroupPlayer(playersForElement);\n player.setRealPlayer(innerPlayer);\n }\n });\n // the reason why we don't actually play the animation is\n // because all that a skipped player is designed to do is to\n // fire the start/done transition callback events\n skippedPlayers.forEach(player => {\n if (player.parentPlayer) {\n player.syncPlayerEvents(player.parentPlayer);\n } else {\n player.destroy();\n }\n });\n // run through all of the queued removals and see if they\n // were picked up by a query. If not then perform the removal\n // operation right away unless a parent animation is ongoing.\n for (let i = 0; i < allLeaveNodes.length; i++) {\n const element = allLeaveNodes[i];\n const details = element[REMOVAL_FLAG];\n removeClass(element, LEAVE_CLASSNAME);\n // this means the element has a removal animation that is being\n // taken care of and therefore the inner elements will hang around\n // until that animation is over (or the parent queried animation)\n if (details && details.hasAnimation) continue;\n let players = [];\n // if this element is queried or if it contains queried children\n // then we want for the element not to be removed from the page\n // until the queried animations have finished\n if (queriedElements.size) {\n let queriedPlayerResults = queriedElements.get(element);\n if (queriedPlayerResults && queriedPlayerResults.length) {\n players.push(...queriedPlayerResults);\n }\n let queriedInnerElements = this.driver.query(element, NG_ANIMATING_SELECTOR, true);\n for (let j = 0; j < queriedInnerElements.length; j++) {\n let queriedPlayers = queriedElements.get(queriedInnerElements[j]);\n if (queriedPlayers && queriedPlayers.length) {\n players.push(...queriedPlayers);\n }\n }\n }\n const activePlayers = players.filter(p => !p.destroyed);\n if (activePlayers.length) {\n removeNodesAfterAnimationDone(this, element, activePlayers);\n } else {\n this.processLeaveNode(element);\n }\n }\n // this is required so the cleanup method doesn't remove them\n allLeaveNodes.length = 0;\n rootPlayers.forEach(player => {\n this.players.push(player);\n player.onDone(() => {\n player.destroy();\n const index = this.players.indexOf(player);\n this.players.splice(index, 1);\n });\n player.play();\n });\n return rootPlayers;\n }\n afterFlush(callback) {\n this._flushFns.push(callback);\n }\n afterFlushAnimationsDone(callback) {\n this._whenQuietFns.push(callback);\n }\n _getPreviousPlayers(element, isQueriedElement, namespaceId, triggerName, toStateValue) {\n let players = [];\n if (isQueriedElement) {\n const queriedElementPlayers = this.playersByQueriedElement.get(element);\n if (queriedElementPlayers) {\n players = queriedElementPlayers;\n }\n } else {\n const elementPlayers = this.playersByElement.get(element);\n if (elementPlayers) {\n const isRemovalAnimation = !toStateValue || toStateValue == VOID_VALUE;\n elementPlayers.forEach(player => {\n if (player.queued) return;\n if (!isRemovalAnimation && player.triggerName != triggerName) return;\n players.push(player);\n });\n }\n }\n if (namespaceId || triggerName) {\n players = players.filter(player => {\n if (namespaceId && namespaceId != player.namespaceId) return false;\n if (triggerName && triggerName != player.triggerName) return false;\n return true;\n });\n }\n return players;\n }\n _beforeAnimationBuild(namespaceId, instruction, allPreviousPlayersMap) {\n const triggerName = instruction.triggerName;\n const rootElement = instruction.element;\n // when a removal animation occurs, ALL previous players are collected\n // and destroyed (even if they are outside of the current namespace)\n const targetNameSpaceId = instruction.isRemovalTransition ? undefined : namespaceId;\n const targetTriggerName = instruction.isRemovalTransition ? undefined : triggerName;\n for (const timelineInstruction of instruction.timelines) {\n const element = timelineInstruction.element;\n const isQueriedElement = element !== rootElement;\n const players = getOrSetDefaultValue(allPreviousPlayersMap, element, []);\n const previousPlayers = this._getPreviousPlayers(element, isQueriedElement, targetNameSpaceId, targetTriggerName, instruction.toState);\n previousPlayers.forEach(player => {\n const realPlayer = player.getRealPlayer();\n if (realPlayer.beforeDestroy) {\n realPlayer.beforeDestroy();\n }\n player.destroy();\n players.push(player);\n });\n }\n // this needs to be done so that the PRE/POST styles can be\n // computed properly without interfering with the previous animation\n eraseStyles(rootElement, instruction.fromStyles);\n }\n _buildAnimation(namespaceId, instruction, allPreviousPlayersMap, skippedPlayersMap, preStylesMap, postStylesMap) {\n const triggerName = instruction.triggerName;\n const rootElement = instruction.element;\n // we first run this so that the previous animation player\n // data can be passed into the successive animation players\n const allQueriedPlayers = [];\n const allConsumedElements = new Set();\n const allSubElements = new Set();\n const allNewPlayers = instruction.timelines.map(timelineInstruction => {\n const element = timelineInstruction.element;\n allConsumedElements.add(element);\n // FIXME (matsko): make sure to-be-removed animations are removed properly\n const details = element[REMOVAL_FLAG];\n if (details && details.removedBeforeQueried) return new NoopAnimationPlayer(timelineInstruction.duration, timelineInstruction.delay);\n const isQueriedElement = element !== rootElement;\n const previousPlayers = flattenGroupPlayers((allPreviousPlayersMap.get(element) || EMPTY_PLAYER_ARRAY).map(p => p.getRealPlayer())).filter(p => {\n // the `element` is not apart of the AnimationPlayer definition, but\n // Mock/WebAnimations\n // use the element within their implementation. This will be added in Angular5 to\n // AnimationPlayer\n const pp = p;\n return pp.element ? pp.element === element : false;\n });\n const preStyles = preStylesMap.get(element);\n const postStyles = postStylesMap.get(element);\n const keyframes = normalizeKeyframes$1(this._normalizer, timelineInstruction.keyframes, preStyles, postStyles);\n const player = this._buildPlayer(timelineInstruction, keyframes, previousPlayers);\n // this means that this particular player belongs to a sub trigger. It is\n // important that we match this player up with the corresponding (@trigger.listener)\n if (timelineInstruction.subTimeline && skippedPlayersMap) {\n allSubElements.add(element);\n }\n if (isQueriedElement) {\n const wrappedPlayer = new TransitionAnimationPlayer(namespaceId, triggerName, element);\n wrappedPlayer.setRealPlayer(player);\n allQueriedPlayers.push(wrappedPlayer);\n }\n return player;\n });\n allQueriedPlayers.forEach(player => {\n getOrSetDefaultValue(this.playersByQueriedElement, player.element, []).push(player);\n player.onDone(() => deleteOrUnsetInMap(this.playersByQueriedElement, player.element, player));\n });\n allConsumedElements.forEach(element => addClass(element, NG_ANIMATING_CLASSNAME));\n const player = optimizeGroupPlayer(allNewPlayers);\n player.onDestroy(() => {\n allConsumedElements.forEach(element => removeClass(element, NG_ANIMATING_CLASSNAME));\n setStyles(rootElement, instruction.toStyles);\n });\n // this basically makes all of the callbacks for sub element animations\n // be dependent on the upper players for when they finish\n allSubElements.forEach(element => {\n getOrSetDefaultValue(skippedPlayersMap, element, []).push(player);\n });\n return player;\n }\n _buildPlayer(instruction, keyframes, previousPlayers) {\n if (keyframes.length > 0) {\n return this.driver.animate(instruction.element, keyframes, instruction.duration, instruction.delay, instruction.easing, previousPlayers);\n }\n // special case for when an empty transition|definition is provided\n // ... there is no point in rendering an empty animation\n return new NoopAnimationPlayer(instruction.duration, instruction.delay);\n }\n}\nclass TransitionAnimationPlayer {\n namespaceId;\n triggerName;\n element;\n _player = /*#__PURE__*/new NoopAnimationPlayer();\n _containsRealPlayer = false;\n _queuedCallbacks = /*#__PURE__*/new Map();\n destroyed = false;\n parentPlayer = null;\n markedForDestroy = false;\n disabled = false;\n queued = true;\n totalTime = 0;\n constructor(namespaceId, triggerName, element) {\n this.namespaceId = namespaceId;\n this.triggerName = triggerName;\n this.element = element;\n }\n setRealPlayer(player) {\n if (this._containsRealPlayer) return;\n this._player = player;\n this._queuedCallbacks.forEach((callbacks, phase) => {\n callbacks.forEach(callback => listenOnPlayer(player, phase, undefined, callback));\n });\n this._queuedCallbacks.clear();\n this._containsRealPlayer = true;\n this.overrideTotalTime(player.totalTime);\n this.queued = false;\n }\n getRealPlayer() {\n return this._player;\n }\n overrideTotalTime(totalTime) {\n this.totalTime = totalTime;\n }\n syncPlayerEvents(player) {\n const p = this._player;\n if (p.triggerCallback) {\n player.onStart(() => p.triggerCallback('start'));\n }\n player.onDone(() => this.finish());\n player.onDestroy(() => this.destroy());\n }\n _queueEvent(name, callback) {\n getOrSetDefaultValue(this._queuedCallbacks, name, []).push(callback);\n }\n onDone(fn) {\n if (this.queued) {\n this._queueEvent('done', fn);\n }\n this._player.onDone(fn);\n }\n onStart(fn) {\n if (this.queued) {\n this._queueEvent('start', fn);\n }\n this._player.onStart(fn);\n }\n onDestroy(fn) {\n if (this.queued) {\n this._queueEvent('destroy', fn);\n }\n this._player.onDestroy(fn);\n }\n init() {\n this._player.init();\n }\n hasStarted() {\n return this.queued ? false : this._player.hasStarted();\n }\n play() {\n !this.queued && this._player.play();\n }\n pause() {\n !this.queued && this._player.pause();\n }\n restart() {\n !this.queued && this._player.restart();\n }\n finish() {\n this._player.finish();\n }\n destroy() {\n this.destroyed = true;\n this._player.destroy();\n }\n reset() {\n !this.queued && this._player.reset();\n }\n setPosition(p) {\n if (!this.queued) {\n this._player.setPosition(p);\n }\n }\n getPosition() {\n return this.queued ? 0 : this._player.getPosition();\n }\n /** @internal */\n triggerCallback(phaseName) {\n const p = this._player;\n if (p.triggerCallback) {\n p.triggerCallback(phaseName);\n }\n }\n}\nfunction deleteOrUnsetInMap(map, key, value) {\n let currentValues = map.get(key);\n if (currentValues) {\n if (currentValues.length) {\n const index = currentValues.indexOf(value);\n currentValues.splice(index, 1);\n }\n if (currentValues.length == 0) {\n map.delete(key);\n }\n }\n return currentValues;\n}\nfunction normalizeTriggerValue(value) {\n // we use `!= null` here because it's the most simple\n // way to test against a \"falsy\" value without mixing\n // in empty strings or a zero value. DO NOT OPTIMIZE.\n return value != null ? value : null;\n}\nfunction isElementNode(node) {\n return node && node['nodeType'] === 1;\n}\nfunction isTriggerEventValid(eventName) {\n return eventName == 'start' || eventName == 'done';\n}\nfunction cloakElement(element, value) {\n const oldValue = element.style.display;\n element.style.display = value != null ? value : 'none';\n return oldValue;\n}\nfunction cloakAndComputeStyles(valuesMap, driver, elements, elementPropsMap, defaultStyle) {\n const cloakVals = [];\n elements.forEach(element => cloakVals.push(cloakElement(element)));\n const failedElements = [];\n elementPropsMap.forEach((props, element) => {\n const styles = new Map();\n props.forEach(prop => {\n const value = driver.computeStyle(element, prop, defaultStyle);\n styles.set(prop, value);\n // there is no easy way to detect this because a sub element could be removed\n // by a parent animation element being detached.\n if (!value || value.length == 0) {\n element[REMOVAL_FLAG] = NULL_REMOVED_QUERIED_STATE;\n failedElements.push(element);\n }\n });\n valuesMap.set(element, styles);\n });\n // we use a index variable here since Set.forEach(a, i) does not return\n // an index value for the closure (but instead just the value)\n let i = 0;\n elements.forEach(element => cloakElement(element, cloakVals[i++]));\n return failedElements;\n}\n/*\nSince the Angular renderer code will return a collection of inserted\nnodes in all areas of a DOM tree, it's up to this algorithm to figure\nout which nodes are roots for each animation @trigger.\n\nBy placing each inserted node into a Set and traversing upwards, it\nis possible to find the @trigger elements and well any direct *star\ninsertion nodes, if a @trigger root is found then the enter element\nis placed into the Map[@trigger] spot.\n */\nfunction buildRootMap(roots, nodes) {\n const rootMap = new Map();\n roots.forEach(root => rootMap.set(root, []));\n if (nodes.length == 0) return rootMap;\n const NULL_NODE = 1;\n const nodeSet = new Set(nodes);\n const localRootMap = new Map();\n function getRoot(node) {\n if (!node) return NULL_NODE;\n let root = localRootMap.get(node);\n if (root) return root;\n const parent = node.parentNode;\n if (rootMap.has(parent)) {\n // ngIf inside @trigger\n root = parent;\n } else if (nodeSet.has(parent)) {\n // ngIf inside ngIf\n root = NULL_NODE;\n } else {\n // recurse upwards\n root = getRoot(parent);\n }\n localRootMap.set(node, root);\n return root;\n }\n nodes.forEach(node => {\n const root = getRoot(node);\n if (root !== NULL_NODE) {\n rootMap.get(root).push(node);\n }\n });\n return rootMap;\n}\nfunction addClass(element, className) {\n element.classList?.add(className);\n}\nfunction removeClass(element, className) {\n element.classList?.remove(className);\n}\nfunction removeNodesAfterAnimationDone(engine, element, players) {\n optimizeGroupPlayer(players).onDone(() => engine.processLeaveNode(element));\n}\nfunction flattenGroupPlayers(players) {\n const finalPlayers = [];\n _flattenGroupPlayersRecur(players, finalPlayers);\n return finalPlayers;\n}\nfunction _flattenGroupPlayersRecur(players, finalPlayers) {\n for (let i = 0; i < players.length; i++) {\n const player = players[i];\n if (player instanceof ɵAnimationGroupPlayer) {\n _flattenGroupPlayersRecur(player.players, finalPlayers);\n } else {\n finalPlayers.push(player);\n }\n }\n}\nfunction objEquals(a, b) {\n const k1 = Object.keys(a);\n const k2 = Object.keys(b);\n if (k1.length != k2.length) return false;\n for (let i = 0; i < k1.length; i++) {\n const prop = k1[i];\n if (!b.hasOwnProperty(prop) || a[prop] !== b[prop]) return false;\n }\n return true;\n}\nfunction replacePostStylesAsPre(element, allPreStyleElements, allPostStyleElements) {\n const postEntry = allPostStyleElements.get(element);\n if (!postEntry) return false;\n let preEntry = allPreStyleElements.get(element);\n if (preEntry) {\n postEntry.forEach(data => preEntry.add(data));\n } else {\n allPreStyleElements.set(element, postEntry);\n }\n allPostStyleElements.delete(element);\n return true;\n}\nclass AnimationEngine {\n _driver;\n _normalizer;\n _transitionEngine;\n _timelineEngine;\n _triggerCache = {};\n // this method is designed to be overridden by the code that uses this engine\n onRemovalComplete = (element, context) => {};\n constructor(doc, _driver, _normalizer) {\n this._driver = _driver;\n this._normalizer = _normalizer;\n this._transitionEngine = new TransitionAnimationEngine(doc.body, _driver, _normalizer);\n this._timelineEngine = new TimelineAnimationEngine(doc.body, _driver, _normalizer);\n this._transitionEngine.onRemovalComplete = (element, context) => this.onRemovalComplete(element, context);\n }\n registerTrigger(componentId, namespaceId, hostElement, name, metadata) {\n const cacheKey = componentId + '-' + name;\n let trigger = this._triggerCache[cacheKey];\n if (!trigger) {\n const errors = [];\n const warnings = [];\n const ast = buildAnimationAst(this._driver, metadata, errors, warnings);\n if (errors.length) {\n throw triggerBuildFailed(name, errors);\n }\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (warnings.length) {\n warnTriggerBuild(name, warnings);\n }\n }\n trigger = buildTrigger(name, ast, this._normalizer);\n this._triggerCache[cacheKey] = trigger;\n }\n this._transitionEngine.registerTrigger(namespaceId, name, trigger);\n }\n register(namespaceId, hostElement) {\n this._transitionEngine.register(namespaceId, hostElement);\n }\n destroy(namespaceId, context) {\n this._transitionEngine.destroy(namespaceId, context);\n }\n onInsert(namespaceId, element, parent, insertBefore) {\n this._transitionEngine.insertNode(namespaceId, element, parent, insertBefore);\n }\n onRemove(namespaceId, element, context) {\n this._transitionEngine.removeNode(namespaceId, element, context);\n }\n disableAnimations(element, disable) {\n this._transitionEngine.markElementAsDisabled(element, disable);\n }\n process(namespaceId, element, property, value) {\n if (property.charAt(0) == '@') {\n const [id, action] = parseTimelineCommand(property);\n const args = value;\n this._timelineEngine.command(id, element, action, args);\n } else {\n this._transitionEngine.trigger(namespaceId, element, property, value);\n }\n }\n listen(namespaceId, element, eventName, eventPhase, callback) {\n // @@listen\n if (eventName.charAt(0) == '@') {\n const [id, action] = parseTimelineCommand(eventName);\n return this._timelineEngine.listen(id, element, action, callback);\n }\n return this._transitionEngine.listen(namespaceId, element, eventName, eventPhase, callback);\n }\n flush(microtaskId = -1) {\n this._transitionEngine.flush(microtaskId);\n }\n get players() {\n return [...this._transitionEngine.players, ...this._timelineEngine.players];\n }\n whenRenderingDone() {\n return this._transitionEngine.whenRenderingDone();\n }\n afterFlushAnimationsDone(cb) {\n this._transitionEngine.afterFlushAnimationsDone(cb);\n }\n}\n\n/**\n * Returns an instance of `SpecialCasedStyles` if and when any special (non animateable) styles are\n * detected.\n *\n * In CSS there exist properties that cannot be animated within a keyframe animation\n * (whether it be via CSS keyframes or web-animations) and the animation implementation\n * will ignore them. This function is designed to detect those special cased styles and\n * return a container that will be executed at the start and end of the animation.\n *\n * @returns an instance of `SpecialCasedStyles` if any special styles are detected otherwise `null`\n */\nfunction packageNonAnimatableStyles(element, styles) {\n let startStyles = null;\n let endStyles = null;\n if (Array.isArray(styles) && styles.length) {\n startStyles = filterNonAnimatableStyles(styles[0]);\n if (styles.length > 1) {\n endStyles = filterNonAnimatableStyles(styles[styles.length - 1]);\n }\n } else if (styles instanceof Map) {\n startStyles = filterNonAnimatableStyles(styles);\n }\n return startStyles || endStyles ? new SpecialCasedStyles(element, startStyles, endStyles) : null;\n}\n/**\n * Designed to be executed during a keyframe-based animation to apply any special-cased styles.\n *\n * When started (when the `start()` method is run) then the provided `startStyles`\n * will be applied. When finished (when the `finish()` method is called) the\n * `endStyles` will be applied as well any any starting styles. Finally when\n * `destroy()` is called then all styles will be removed.\n */\nlet SpecialCasedStyles = /*#__PURE__*/(() => {\n class SpecialCasedStyles {\n _element;\n _startStyles;\n _endStyles;\n static initialStylesByElement = /* @__PURE__ */new WeakMap();\n _state = 0 /* SpecialCasedStylesState.Pending */;\n _initialStyles;\n constructor(_element, _startStyles, _endStyles) {\n this._element = _element;\n this._startStyles = _startStyles;\n this._endStyles = _endStyles;\n let initialStyles = SpecialCasedStyles.initialStylesByElement.get(_element);\n if (!initialStyles) {\n SpecialCasedStyles.initialStylesByElement.set(_element, initialStyles = new Map());\n }\n this._initialStyles = initialStyles;\n }\n start() {\n if (this._state < 1 /* SpecialCasedStylesState.Started */) {\n if (this._startStyles) {\n setStyles(this._element, this._startStyles, this._initialStyles);\n }\n this._state = 1 /* SpecialCasedStylesState.Started */;\n }\n }\n finish() {\n this.start();\n if (this._state < 2 /* SpecialCasedStylesState.Finished */) {\n setStyles(this._element, this._initialStyles);\n if (this._endStyles) {\n setStyles(this._element, this._endStyles);\n this._endStyles = null;\n }\n this._state = 1 /* SpecialCasedStylesState.Started */;\n }\n }\n destroy() {\n this.finish();\n if (this._state < 3 /* SpecialCasedStylesState.Destroyed */) {\n SpecialCasedStyles.initialStylesByElement.delete(this._element);\n if (this._startStyles) {\n eraseStyles(this._element, this._startStyles);\n this._endStyles = null;\n }\n if (this._endStyles) {\n eraseStyles(this._element, this._endStyles);\n this._endStyles = null;\n }\n setStyles(this._element, this._initialStyles);\n this._state = 3 /* SpecialCasedStylesState.Destroyed */;\n }\n }\n }\n return SpecialCasedStyles;\n})();\nfunction filterNonAnimatableStyles(styles) {\n let result = null;\n styles.forEach((val, prop) => {\n if (isNonAnimatableStyle(prop)) {\n result = result || new Map();\n result.set(prop, val);\n }\n });\n return result;\n}\nfunction isNonAnimatableStyle(prop) {\n return prop === 'display' || prop === 'position';\n}\nclass WebAnimationsPlayer {\n element;\n keyframes;\n options;\n _specialStyles;\n _onDoneFns = [];\n _onStartFns = [];\n _onDestroyFns = [];\n _duration;\n _delay;\n _initialized = false;\n _finished = false;\n _started = false;\n _destroyed = false;\n _finalKeyframe;\n // the following original fns are persistent copies of the _onStartFns and _onDoneFns\n // and are used to reset the fns to their original values upon reset()\n // (since the _onStartFns and _onDoneFns get deleted after they are called)\n _originalOnDoneFns = [];\n _originalOnStartFns = [];\n // using non-null assertion because it's re(set) by init();\n domPlayer;\n time = 0;\n parentPlayer = null;\n currentSnapshot = /*#__PURE__*/new Map();\n constructor(element, keyframes, options, _specialStyles) {\n this.element = element;\n this.keyframes = keyframes;\n this.options = options;\n this._specialStyles = _specialStyles;\n this._duration = options['duration'];\n this._delay = options['delay'] || 0;\n this.time = this._duration + this._delay;\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n init() {\n this._buildPlayer();\n this._preparePlayerBeforeStart();\n }\n _buildPlayer() {\n if (this._initialized) return;\n this._initialized = true;\n const keyframes = this.keyframes;\n // @ts-expect-error overwriting a readonly property\n this.domPlayer = this._triggerWebAnimation(this.element, keyframes, this.options);\n this._finalKeyframe = keyframes.length ? keyframes[keyframes.length - 1] : new Map();\n const onFinish = () => this._onFinish();\n this.domPlayer.addEventListener('finish', onFinish);\n this.onDestroy(() => {\n // We must remove the `finish` event listener once an animation has completed all its\n // iterations. This action is necessary to prevent a memory leak since the listener captures\n // `this`, creating a closure that prevents `this` from being garbage collected.\n this.domPlayer.removeEventListener('finish', onFinish);\n });\n }\n _preparePlayerBeforeStart() {\n // this is required so that the player doesn't start to animate right away\n if (this._delay) {\n this._resetDomPlayerState();\n } else {\n this.domPlayer.pause();\n }\n }\n _convertKeyframesToObject(keyframes) {\n const kfs = [];\n keyframes.forEach(frame => {\n kfs.push(Object.fromEntries(frame));\n });\n return kfs;\n }\n /** @internal */\n _triggerWebAnimation(element, keyframes, options) {\n return element.animate(this._convertKeyframesToObject(keyframes), options);\n }\n onStart(fn) {\n this._originalOnStartFns.push(fn);\n this._onStartFns.push(fn);\n }\n onDone(fn) {\n this._originalOnDoneFns.push(fn);\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n play() {\n this._buildPlayer();\n if (!this.hasStarted()) {\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n this._started = true;\n if (this._specialStyles) {\n this._specialStyles.start();\n }\n }\n this.domPlayer.play();\n }\n pause() {\n this.init();\n this.domPlayer.pause();\n }\n finish() {\n this.init();\n if (this._specialStyles) {\n this._specialStyles.finish();\n }\n this._onFinish();\n this.domPlayer.finish();\n }\n reset() {\n this._resetDomPlayerState();\n this._destroyed = false;\n this._finished = false;\n this._started = false;\n this._onStartFns = this._originalOnStartFns;\n this._onDoneFns = this._originalOnDoneFns;\n }\n _resetDomPlayerState() {\n if (this.domPlayer) {\n this.domPlayer.cancel();\n }\n }\n restart() {\n this.reset();\n this.play();\n }\n hasStarted() {\n return this._started;\n }\n destroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n this._resetDomPlayerState();\n this._onFinish();\n if (this._specialStyles) {\n this._specialStyles.destroy();\n }\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n setPosition(p) {\n if (this.domPlayer === undefined) {\n this.init();\n }\n this.domPlayer.currentTime = p * this.time;\n }\n getPosition() {\n // tsc is complaining with TS2362 without the conversion to number\n return +(this.domPlayer.currentTime ?? 0) / this.time;\n }\n get totalTime() {\n return this._delay + this._duration;\n }\n beforeDestroy() {\n const styles = new Map();\n if (this.hasStarted()) {\n // note: this code is invoked only when the `play` function was called prior to this\n // (thus `hasStarted` returns true), this implies that the code that initializes\n // `_finalKeyframe` has also been executed and the non-null assertion can be safely used here\n const finalKeyframe = this._finalKeyframe;\n finalKeyframe.forEach((val, prop) => {\n if (prop !== 'offset') {\n styles.set(prop, this._finished ? val : computeStyle(this.element, prop));\n }\n });\n }\n this.currentSnapshot = styles;\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName === 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\nclass WebAnimationsDriver {\n validateStyleProperty(prop) {\n // Perform actual validation in dev mode only, in prod mode this check is a noop.\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n return validateStyleProperty(prop);\n }\n return true;\n }\n validateAnimatableStyleProperty(prop) {\n // Perform actual validation in dev mode only, in prod mode this check is a noop.\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n const cssProp = camelCaseToDashCase(prop);\n return validateWebAnimatableStyleProperty(cssProp);\n }\n return true;\n }\n containsElement(elm1, elm2) {\n return containsElement(elm1, elm2);\n }\n getParentElement(element) {\n return getParentElement(element);\n }\n query(element, selector, multi) {\n return invokeQuery(element, selector, multi);\n }\n computeStyle(element, prop, defaultValue) {\n return computeStyle(element, prop);\n }\n animate(element, keyframes, duration, delay, easing, previousPlayers = []) {\n const fill = delay == 0 ? 'both' : 'forwards';\n const playerOptions = {\n duration,\n delay,\n fill\n };\n // we check for this to avoid having a null|undefined value be present\n // for the easing (which results in an error for certain browsers #9752)\n if (easing) {\n playerOptions['easing'] = easing;\n }\n const previousStyles = new Map();\n const previousWebAnimationPlayers = previousPlayers.filter(player => player instanceof WebAnimationsPlayer);\n if (allowPreviousPlayerStylesMerge(duration, delay)) {\n previousWebAnimationPlayers.forEach(player => {\n player.currentSnapshot.forEach((val, prop) => previousStyles.set(prop, val));\n });\n }\n let _keyframes = normalizeKeyframes(keyframes).map(styles => new Map(styles));\n _keyframes = balancePreviousStylesIntoKeyframes(element, _keyframes, previousStyles);\n const specialStyles = packageNonAnimatableStyles(element, _keyframes);\n return new WebAnimationsPlayer(element, _keyframes, playerOptions, specialStyles);\n }\n}\nfunction createEngine(type, doc) {\n // TODO: find a way to make this tree shakable.\n if (type === 'noop') {\n return new AnimationEngine(doc, new NoopAnimationDriver(), new NoopAnimationStyleNormalizer());\n }\n return new AnimationEngine(doc, new WebAnimationsDriver(), new WebAnimationsStyleNormalizer());\n}\nclass Animation {\n _driver;\n _animationAst;\n constructor(_driver, input) {\n this._driver = _driver;\n const errors = [];\n const warnings = [];\n const ast = buildAnimationAst(_driver, input, errors, warnings);\n if (errors.length) {\n throw validationFailed(errors);\n }\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (warnings.length) {\n warnValidation(warnings);\n }\n }\n this._animationAst = ast;\n }\n buildTimelines(element, startingStyles, destinationStyles, options, subInstructions) {\n const start = Array.isArray(startingStyles) ? normalizeStyles(startingStyles) : startingStyles;\n const dest = Array.isArray(destinationStyles) ? normalizeStyles(destinationStyles) : destinationStyles;\n const errors = [];\n subInstructions = subInstructions || new ElementInstructionMap();\n const result = buildAnimationTimelines(this._driver, element, this._animationAst, ENTER_CLASSNAME, LEAVE_CLASSNAME, start, dest, options, subInstructions, errors);\n if (errors.length) {\n throw buildingFailed(errors);\n }\n return result;\n }\n}\nconst ANIMATION_PREFIX = '@';\nconst DISABLE_ANIMATIONS_FLAG = '@.disabled';\nclass BaseAnimationRenderer {\n namespaceId;\n delegate;\n engine;\n _onDestroy;\n // We need to explicitly type this property because of an api-extractor bug\n // See https://github.com/microsoft/rushstack/issues/4390\n ɵtype = 0 /* AnimationRendererType.Regular */;\n constructor(namespaceId, delegate, engine, _onDestroy) {\n this.namespaceId = namespaceId;\n this.delegate = delegate;\n this.engine = engine;\n this._onDestroy = _onDestroy;\n }\n get data() {\n return this.delegate.data;\n }\n destroyNode(node) {\n this.delegate.destroyNode?.(node);\n }\n destroy() {\n this.engine.destroy(this.namespaceId, this.delegate);\n this.engine.afterFlushAnimationsDone(() => {\n // Call the renderer destroy method after the animations has finished as otherwise\n // styles will be removed too early which will cause an unstyled animation.\n queueMicrotask(() => {\n this.delegate.destroy();\n });\n });\n this._onDestroy?.();\n }\n createElement(name, namespace) {\n return this.delegate.createElement(name, namespace);\n }\n createComment(value) {\n return this.delegate.createComment(value);\n }\n createText(value) {\n return this.delegate.createText(value);\n }\n appendChild(parent, newChild) {\n this.delegate.appendChild(parent, newChild);\n this.engine.onInsert(this.namespaceId, newChild, parent, false);\n }\n insertBefore(parent, newChild, refChild, isMove = true) {\n this.delegate.insertBefore(parent, newChild, refChild);\n // If `isMove` true than we should animate this insert.\n this.engine.onInsert(this.namespaceId, newChild, parent, isMove);\n }\n removeChild(parent, oldChild, isHostElement) {\n // Prior to the changes in #57203, this method wasn't being called at all by `core` if the child\n // doesn't have a parent. There appears to be some animation-specific downstream logic that\n // depends on the null check happening before the animation engine. This check keeps the old\n // behavior while allowing `core` to not have to check for the parent element anymore.\n if (this.parentNode(oldChild)) {\n this.engine.onRemove(this.namespaceId, oldChild, this.delegate);\n }\n }\n selectRootElement(selectorOrNode, preserveContent) {\n return this.delegate.selectRootElement(selectorOrNode, preserveContent);\n }\n parentNode(node) {\n return this.delegate.parentNode(node);\n }\n nextSibling(node) {\n return this.delegate.nextSibling(node);\n }\n setAttribute(el, name, value, namespace) {\n this.delegate.setAttribute(el, name, value, namespace);\n }\n removeAttribute(el, name, namespace) {\n this.delegate.removeAttribute(el, name, namespace);\n }\n addClass(el, name) {\n this.delegate.addClass(el, name);\n }\n removeClass(el, name) {\n this.delegate.removeClass(el, name);\n }\n setStyle(el, style, value, flags) {\n this.delegate.setStyle(el, style, value, flags);\n }\n removeStyle(el, style, flags) {\n this.delegate.removeStyle(el, style, flags);\n }\n setProperty(el, name, value) {\n if (name.charAt(0) == ANIMATION_PREFIX && name == DISABLE_ANIMATIONS_FLAG) {\n this.disableAnimations(el, !!value);\n } else {\n this.delegate.setProperty(el, name, value);\n }\n }\n setValue(node, value) {\n this.delegate.setValue(node, value);\n }\n listen(target, eventName, callback, options) {\n return this.delegate.listen(target, eventName, callback, options);\n }\n disableAnimations(element, value) {\n this.engine.disableAnimations(element, value);\n }\n}\nclass AnimationRenderer extends BaseAnimationRenderer {\n factory;\n constructor(factory, namespaceId, delegate, engine, onDestroy) {\n super(namespaceId, delegate, engine, onDestroy);\n this.factory = factory;\n this.namespaceId = namespaceId;\n }\n setProperty(el, name, value) {\n if (name.charAt(0) == ANIMATION_PREFIX) {\n if (name.charAt(1) == '.' && name == DISABLE_ANIMATIONS_FLAG) {\n value = value === undefined ? true : !!value;\n this.disableAnimations(el, value);\n } else {\n this.engine.process(this.namespaceId, el, name.slice(1), value);\n }\n } else {\n this.delegate.setProperty(el, name, value);\n }\n }\n listen(target, eventName, callback, options) {\n if (eventName.charAt(0) == ANIMATION_PREFIX) {\n const element = resolveElementFromTarget(target);\n let name = eventName.slice(1);\n let phase = '';\n // @listener.phase is for trigger animation callbacks\n // @@listener is for animation builder callbacks\n if (name.charAt(0) != ANIMATION_PREFIX) {\n [name, phase] = parseTriggerCallbackName(name);\n }\n return this.engine.listen(this.namespaceId, element, name, phase, event => {\n const countId = event['_data'] || -1;\n this.factory.scheduleListenerCallback(countId, callback, event);\n });\n }\n return this.delegate.listen(target, eventName, callback, options);\n }\n}\nfunction resolveElementFromTarget(target) {\n switch (target) {\n case 'body':\n return document.body;\n case 'document':\n return document;\n case 'window':\n return window;\n default:\n return target;\n }\n}\nfunction parseTriggerCallbackName(triggerName) {\n const dotIndex = triggerName.indexOf('.');\n const trigger = triggerName.substring(0, dotIndex);\n const phase = triggerName.slice(dotIndex + 1);\n return [trigger, phase];\n}\nclass AnimationRendererFactory {\n delegate;\n engine;\n _zone;\n _currentId = 0;\n _microtaskId = 1;\n _animationCallbacksBuffer = [];\n _rendererCache = /*#__PURE__*/new Map();\n _cdRecurDepth = 0;\n constructor(delegate, engine, _zone) {\n this.delegate = delegate;\n this.engine = engine;\n this._zone = _zone;\n engine.onRemovalComplete = (element, delegate) => {\n delegate?.removeChild(null, element);\n };\n }\n createRenderer(hostElement, type) {\n const EMPTY_NAMESPACE_ID = '';\n // cache the delegates to find out which cached delegate can\n // be used by which cached renderer\n const delegate = this.delegate.createRenderer(hostElement, type);\n if (!hostElement || !type?.data?.['animation']) {\n const cache = this._rendererCache;\n let renderer = cache.get(delegate);\n if (!renderer) {\n // Ensure that the renderer is removed from the cache on destroy\n // since it may contain references to detached DOM nodes.\n const onRendererDestroy = () => cache.delete(delegate);\n renderer = new BaseAnimationRenderer(EMPTY_NAMESPACE_ID, delegate, this.engine, onRendererDestroy);\n // only cache this result when the base renderer is used\n cache.set(delegate, renderer);\n }\n return renderer;\n }\n const componentId = type.id;\n const namespaceId = type.id + '-' + this._currentId;\n this._currentId++;\n this.engine.register(namespaceId, hostElement);\n const registerTrigger = trigger => {\n if (Array.isArray(trigger)) {\n trigger.forEach(registerTrigger);\n } else {\n this.engine.registerTrigger(componentId, namespaceId, hostElement, trigger.name, trigger);\n }\n };\n const animationTriggers = type.data['animation'];\n animationTriggers.forEach(registerTrigger);\n return new AnimationRenderer(this, namespaceId, delegate, this.engine);\n }\n begin() {\n this._cdRecurDepth++;\n if (this.delegate.begin) {\n this.delegate.begin();\n }\n }\n _scheduleCountTask() {\n queueMicrotask(() => {\n this._microtaskId++;\n });\n }\n /** @internal */\n scheduleListenerCallback(count, fn, data) {\n if (count >= 0 && count < this._microtaskId) {\n this._zone.run(() => fn(data));\n return;\n }\n const animationCallbacksBuffer = this._animationCallbacksBuffer;\n if (animationCallbacksBuffer.length == 0) {\n queueMicrotask(() => {\n this._zone.run(() => {\n animationCallbacksBuffer.forEach(tuple => {\n const [fn, data] = tuple;\n fn(data);\n });\n this._animationCallbacksBuffer = [];\n });\n });\n }\n animationCallbacksBuffer.push([fn, data]);\n }\n end() {\n this._cdRecurDepth--;\n // this is to prevent animations from running twice when an inner\n // component does CD when a parent component instead has inserted it\n if (this._cdRecurDepth == 0) {\n this._zone.runOutsideAngular(() => {\n this._scheduleCountTask();\n this.engine.flush(this._microtaskId);\n });\n }\n if (this.delegate.end) {\n this.delegate.end();\n }\n }\n whenRenderingDone() {\n return this.engine.whenRenderingDone();\n }\n /**\n * Used during HMR to clear any cached data about a component.\n * @param componentId ID of the component that is being replaced.\n */\n componentReplaced(componentId) {\n // Flush the engine since the renderer destruction waits for animations to be done.\n this.engine.flush();\n this.delegate.componentReplaced?.(componentId);\n }\n}\n\n/**\n * @module\n * @description\n * Entry point for all animation APIs of the animation browser package.\n */\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\n\n// This file is not used to build this module. It is only used during editing\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AnimationDriver, NoopAnimationDriver, Animation as ɵAnimation, AnimationEngine as ɵAnimationEngine, AnimationRenderer as ɵAnimationRenderer, AnimationRendererFactory as ɵAnimationRendererFactory, AnimationStyleNormalizer as ɵAnimationStyleNormalizer, BaseAnimationRenderer as ɵBaseAnimationRenderer, NoopAnimationStyleNormalizer as ɵNoopAnimationStyleNormalizer, WebAnimationsDriver as ɵWebAnimationsDriver, WebAnimationsPlayer as ɵWebAnimationsPlayer, WebAnimationsStyleNormalizer as ɵWebAnimationsStyleNormalizer, allowPreviousPlayerStylesMerge as ɵallowPreviousPlayerStylesMerge, camelCaseToDashCase as ɵcamelCaseToDashCase, containsElement as ɵcontainsElement, createEngine as ɵcreateEngine, getParentElement as ɵgetParentElement, invokeQuery as ɵinvokeQuery, normalizeKeyframes as ɵnormalizeKeyframes, validateStyleProperty as ɵvalidateStyleProperty, validateWebAnimatableStyleProperty as ɵvalidateWebAnimatableStyleProperty };\n","/**\n * @license Angular v19.1.7\n * (c) 2010-2024 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport * as i0 from '@angular/core';\nimport { Injectable, Inject, RendererFactory2, NgZone, ANIMATION_MODULE_TYPE, NgModule, ɵperformanceMarkFeature } from '@angular/core';\nexport { ANIMATION_MODULE_TYPE } from '@angular/core';\nimport { ɵDomRendererFactory2, BrowserModule } from '@angular/platform-browser';\nimport * as i1 from '@angular/animations/browser';\nimport { ɵAnimationEngine, ɵWebAnimationsStyleNormalizer, ɵAnimationRendererFactory, ɵAnimationStyleNormalizer, AnimationDriver, ɵWebAnimationsDriver, NoopAnimationDriver } from '@angular/animations/browser';\nimport { DOCUMENT } from '@angular/common';\nlet InjectableAnimationEngine = /*#__PURE__*/(() => {\n class InjectableAnimationEngine extends ɵAnimationEngine {\n // The `ApplicationRef` is injected here explicitly to force the dependency ordering.\n // Since the `ApplicationRef` should be created earlier before the `AnimationEngine`, they\n // both have `ngOnDestroy` hooks and `flush()` must be called after all views are destroyed.\n constructor(doc, driver, normalizer) {\n super(doc, driver, normalizer);\n }\n ngOnDestroy() {\n this.flush();\n }\n static ɵfac = function InjectableAnimationEngine_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || InjectableAnimationEngine)(i0.ɵɵinject(DOCUMENT), i0.ɵɵinject(i1.AnimationDriver), i0.ɵɵinject(i1.ɵAnimationStyleNormalizer));\n };\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: InjectableAnimationEngine,\n factory: InjectableAnimationEngine.ɵfac\n });\n }\n return InjectableAnimationEngine;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction instantiateDefaultStyleNormalizer() {\n return new ɵWebAnimationsStyleNormalizer();\n}\nfunction instantiateRendererFactory(renderer, engine, zone) {\n return new ɵAnimationRendererFactory(renderer, engine, zone);\n}\nconst SHARED_ANIMATION_PROVIDERS = [{\n provide: ɵAnimationStyleNormalizer,\n useFactory: instantiateDefaultStyleNormalizer\n}, {\n provide: ɵAnimationEngine,\n useClass: InjectableAnimationEngine\n}, {\n provide: RendererFactory2,\n useFactory: instantiateRendererFactory,\n deps: [ɵDomRendererFactory2, ɵAnimationEngine, NgZone]\n}];\n/**\n * Separate providers from the actual module so that we can do a local modification in Google3 to\n * include them in the BrowserModule.\n */\nconst BROWSER_ANIMATIONS_PROVIDERS = [{\n provide: AnimationDriver,\n useFactory: () => new ɵWebAnimationsDriver()\n}, {\n provide: ANIMATION_MODULE_TYPE,\n useValue: 'BrowserAnimations'\n}, ...SHARED_ANIMATION_PROVIDERS];\n/**\n * Separate providers from the actual module so that we can do a local modification in Google3 to\n * include them in the BrowserTestingModule.\n */\nconst BROWSER_NOOP_ANIMATIONS_PROVIDERS = [{\n provide: AnimationDriver,\n useClass: NoopAnimationDriver\n}, {\n provide: ANIMATION_MODULE_TYPE,\n useValue: 'NoopAnimations'\n}, ...SHARED_ANIMATION_PROVIDERS];\n\n/**\n * Exports `BrowserModule` with additional dependency-injection providers\n * for use with animations. See [Animations](guide/animations).\n * @publicApi\n */\nlet BrowserAnimationsModule = /*#__PURE__*/(() => {\n class BrowserAnimationsModule {\n /**\n * Configures the module based on the specified object.\n *\n * @param config Object used to configure the behavior of the `BrowserAnimationsModule`.\n * @see {@link BrowserAnimationsModuleConfig}\n *\n * @usageNotes\n * When registering the `BrowserAnimationsModule`, you can use the `withConfig`\n * function as follows:\n * ```ts\n * @NgModule({\n * imports: [BrowserAnimationsModule.withConfig(config)]\n * })\n * class MyNgModule {}\n * ```\n */\n static withConfig(config) {\n return {\n ngModule: BrowserAnimationsModule,\n providers: config.disableAnimations ? BROWSER_NOOP_ANIMATIONS_PROVIDERS : BROWSER_ANIMATIONS_PROVIDERS\n };\n }\n static ɵfac = function BrowserAnimationsModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || BrowserAnimationsModule)();\n };\n static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: BrowserAnimationsModule\n });\n static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n providers: BROWSER_ANIMATIONS_PROVIDERS,\n imports: [BrowserModule]\n });\n }\n return BrowserAnimationsModule;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Returns the set of dependency-injection providers\n * to enable animations in an application. See [animations guide](guide/animations)\n * to learn more about animations in Angular.\n *\n * @usageNotes\n *\n * The function is useful when you want to enable animations in an application\n * bootstrapped using the `bootstrapApplication` function. In this scenario there\n * is no need to import the `BrowserAnimationsModule` NgModule at all, just add\n * providers returned by this function to the `providers` list as show below.\n *\n * ```ts\n * bootstrapApplication(RootComponent, {\n * providers: [\n * provideAnimations()\n * ]\n * });\n * ```\n *\n * @publicApi\n */\nfunction provideAnimations() {\n ɵperformanceMarkFeature('NgEagerAnimations');\n // Return a copy to prevent changes to the original array in case any in-place\n // alterations are performed to the `provideAnimations` call results in app code.\n return [...BROWSER_ANIMATIONS_PROVIDERS];\n}\n/**\n * A null player that must be imported to allow disabling of animations.\n * @publicApi\n */\nlet NoopAnimationsModule = /*#__PURE__*/(() => {\n class NoopAnimationsModule {\n static ɵfac = function NoopAnimationsModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || NoopAnimationsModule)();\n };\n static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: NoopAnimationsModule\n });\n static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n providers: BROWSER_NOOP_ANIMATIONS_PROVIDERS,\n imports: [BrowserModule]\n });\n }\n return NoopAnimationsModule;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Returns the set of dependency-injection providers\n * to disable animations in an application. See [animations guide](guide/animations)\n * to learn more about animations in Angular.\n *\n * @usageNotes\n *\n * The function is useful when you want to bootstrap an application using\n * the `bootstrapApplication` function, but you need to disable animations\n * (for example, when running tests).\n *\n * ```ts\n * bootstrapApplication(RootComponent, {\n * providers: [\n * provideNoopAnimations()\n * ]\n * });\n * ```\n *\n * @publicApi\n */\nfunction provideNoopAnimations() {\n // Return a copy to prevent changes to the original array in case any in-place\n // alterations are performed to the `provideNoopAnimations` call results in app code.\n return [...BROWSER_NOOP_ANIMATIONS_PROVIDERS];\n}\n\n/**\n * @module\n * @description\n * Entry point for all animation APIs of the animation browser package.\n */\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\n\n// This file is not used to build this module. It is only used during editing\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BrowserAnimationsModule, NoopAnimationsModule, provideAnimations, provideNoopAnimations, InjectableAnimationEngine as ɵInjectableAnimationEngine };\n","import {\r\n enableProdMode,\r\n ErrorHandler,\r\n importProvidersFrom,\r\n inject,\r\n Injector,\r\n provideAppInitializer,\r\n} from '@angular/core';\r\nimport { environment } from './environments/environment';\r\nimport { CommonModule, CurrencyPipe, DatePipe } from '@angular/common';\r\nimport { HttpClient, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HammerModule, bootstrapApplication } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport {\r\n MsalService,\r\n MsalInterceptorConfiguration,\r\n ProtectedResourceScopes,\r\n MsalGuardConfiguration,\r\n MsalInterceptor,\r\n MSAL_INSTANCE,\r\n MSAL_GUARD_CONFIG,\r\n MSAL_INTERCEPTOR_CONFIG,\r\n MsalGuard,\r\n MsalBroadcastService,\r\n} from '@azure/msal-angular';\r\nimport {\r\n IPublicClientApplication,\r\n PublicClientApplication,\r\n InteractionType,\r\n} from '@azure/msal-browser';\r\nimport Bugsnag from '@bugsnag/js';\r\nimport { BugsnagErrorHandler } from '@bugsnag/plugin-angular/dist/esm2015';\r\nimport {\r\n IfaaUiComponentsModule,\r\n UserServiceConfig,\r\n} from '@ifaa-components/ui-components';\r\nimport { NgIdleModule } from '@ng-idle/core';\r\nimport { EffectsModule } from '@ngrx/effects';\r\nimport { MetaReducer, Store, StoreModule } from '@ngrx/store';\r\nimport { StoreDevtoolsModule } from '@ngrx/store-devtools';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { RecaptchaV3Module, RECAPTCHA_V3_SITE_KEY } from 'ng-recaptcha-2';\r\nimport { PdfJsViewerModule } from 'ng2-pdfjs-viewer';\r\nimport { NgrxFormsModule } from 'ngrx-forms';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { AppRoutingModule } from './app/app-routing.module';\r\nimport { AppComponent } from './app/app.component';\r\nimport { MaterialModule } from './app/app.material.module';\r\nimport {\r\n msalElevatedConfig,\r\n msalAdviserElevatedConfig,\r\n msalConfig,\r\n protectedResources,\r\n loginRequest,\r\n} from './app/auth-config';\r\nimport { FeatureToggleCheckService } from './app/helper/featureToggleHelper';\r\nimport { MessagePipe } from './app/modules/shared/pipes/message';\r\nimport { MemberPortalSharedModule } from './app/modules/shared/shared.module';\r\nimport { EmploymentService } from './app/modules/smrt/services/employment.service';\r\nimport { AccountDataGuardService } from './app/route-guard/account-data-guard.service';\r\nimport { AccountFeatureToggleGuardService } from './app/route-guard/account-feature-toggle-guard.service';\r\nimport { AccumGuardService } from './app/route-guard/accum-guard.service';\r\nimport { BlackoutGuardService } from './app/route-guard/blackout-guard.service';\r\nimport { ErrorPageGuardService } from './app/route-guard/error-page-guard.service';\r\nimport { FeatureFlagGuardService } from './app/route-guard/feature-flag-guard.service';\r\nimport { MemberFeatureToggleGuardService } from './app/route-guard/member-feature-toggle-guard.service';\r\nimport { MsalCheckService } from './app/route-guard/msal-check.service';\r\nimport { PensionGuardService } from './app/route-guard/pension-guard.service';\r\nimport { PermissionGuardService } from './app/route-guard/permission-guard.service';\r\nimport { ShowQuestionnaireGuardService } from './app/route-guard/show-questionnaire-guard.service';\r\nimport { AccessYourSuperService } from './app/services/access-your-super.service';\r\nimport { AccountsService } from './app/services/accounts.service';\r\nimport { BeneficiaryService } from './app/services/beneficiary.service';\r\nimport { BPAYDetailsService } from './app/services/bpay-details.service';\r\nimport { ChatService } from './app/services/chat.service';\r\nimport { CostOfCoverService } from './app/services/costofcover.service';\r\nimport { DocumentsService } from './app/services/documents.service';\r\nimport { FeatureToggleService } from './app/services/feature-toggle.service';\r\nimport { HelperService } from './app/services/helper.service';\r\nimport { HistoricalDataService } from './app/services/historical-data.service';\r\nimport { HttpCustomInterceptor } from './app/services/http-interceptor';\r\nimport { InsuranceQuestionnaireService } from './app/services/insurance-questionnaire.service';\r\nimport { InsuranceService } from './app/services/insurance.service';\r\nimport { InvestmentService } from './app/services/investment.service';\r\nimport { MemberCorrespondenceService } from './app/services/member-correspondence.service';\r\nimport { MemberNoteTypeService } from './app/services/member-note-type.service';\r\nimport { MemberPensionService } from './app/services/member-pension.service';\r\nimport { MembersService } from './app/services/members.service';\r\nimport { NoticeOfIntentTaxDeductionService } from './app/services/notice-of-intent-tax-deduction.service';\r\nimport { NotificationService } from './app/services/notification.service';\r\nimport { PersonalContributionService } from './app/services/personal-contrubution.service';\r\nimport { RolesService } from './app/services/roles.service';\r\nimport { RollInService } from './app/services/rollin.service';\r\nimport { StartAPensionService } from './app/services/start-a-pension.service';\r\nimport { SwitchInvestmentsService } from './app/services/switch-investments.service';\r\nimport { TakeMeWithYouService } from './app/services/take-me-with-you.service';\r\nimport { TransactionService } from './app/services/transaction.service';\r\nimport { UnderlyingInvestmentService } from './app/services/underlying-investment.service';\r\nimport { UnitPriceService } from './app/services/unit-price.service';\r\nimport { WebUserService } from './app/services/webuser.service';\r\nimport { reducers } from './app/store/app.reducers';\r\nimport { CommonEffects } from './app/store/common/common.effects';\r\nimport { clearState } from './app/store/meta-reducer';\r\nimport { GetTenantModule } from './app/tenant.helper';\r\nimport { TRANSLATE_MODULE_CONFIG } from './app/translateHttpLoader';\r\nimport { ChangePasswordEffects } from './app/views/change-password/effects';\r\nimport { CommonService } from './app/views/component-base';\r\nimport { TakeMeWithYouEffects } from './app/views/take-me-with-you-view/effects';\r\nimport { ResetSelectedAccountDataAction } from './app/modules/shared/components/member-account-dropdown/actions';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nexport const metaReducers: MetaReducer[] = [clearState];\r\nBugsnag.start({\r\n apiKey: environment.bugsnagApiKey,\r\n releaseStage: environment.bugsnagEnv,\r\n enabledReleaseStages: ['Production', 'Staging', 'Uat', 'unknown'],\r\n onError: function (event) {\r\n event.addMetadata('tenant', {\r\n tenant: environment.code,\r\n });\r\n },\r\n});\r\n\r\nexport let AppInjector: Injector;\r\n\r\nexport function createTranslateLoader(http: HttpClient) {\r\n return new TranslateHttpLoader(http, 'assets/i18n/', '.json');\r\n}\r\n\r\nexport function errorHandlerFactory() {\r\n return new BugsnagErrorHandler();\r\n}\r\nlet elevatedAccessPortalName = '';\r\nfunction isElevatedAccess() {\r\n if (window.location.href.toLowerCase().indexOf('/fundelevated') >= 0) {\r\n elevatedAccessPortalName = 'FundPortal';\r\n return true;\r\n }\r\n\r\n if (window.location.href.toLowerCase().indexOf('/adviserelevated') >= 0) {\r\n elevatedAccessPortalName = 'AdviserPortal';\r\n return true;\r\n }\r\n\r\n return false;\r\n}\r\n\r\nexport function MSALInstanceFactory(): IPublicClientApplication {\r\n if (isElevatedAccess()) {\r\n if (elevatedAccessPortalName == 'FundPortal')\r\n return new PublicClientApplication(msalElevatedConfig);\r\n\r\n if (elevatedAccessPortalName == 'AdviserPortal')\r\n return new PublicClientApplication(msalAdviserElevatedConfig);\r\n }\r\n\r\n return new PublicClientApplication(msalConfig);\r\n}\r\n\r\nexport const initializeApp = async (msalService: MsalService, store: Store) => {\r\n await msalService.instance\r\n .initialize()\r\n .then(async () => {\r\n msalService.instance.enableAccountStorageEvents();\r\n // set active account when refreshing session\r\n const accounts = msalService.instance.getAllAccounts();\r\n\r\n // if there are accounts we can infer they are logging in via a stored token\r\n if (accounts.length > 0) {\r\n msalService.instance.setActiveAccount(accounts[0]);\r\n } else {\r\n store.dispatch(ResetSelectedAccountDataAction());\r\n }\r\n })\r\n .catch((error) => {\r\n return Promise.reject(error);\r\n });\r\n};\r\n\r\nexport function MSALInterceptorConfigFactory(): MsalInterceptorConfiguration {\r\n const protectedResourceMap = new Map<\r\n string,\r\n Array | null\r\n >();\r\n\r\n protectedResourceMap.set(\r\n protectedResources.apiEndpoint.endpoint.replace('api/**', 'assets/**'),\r\n null\r\n );\r\n protectedResourceMap.set(\r\n protectedResources.apiEndpoint.endpoint.replace(\r\n '**',\r\n 'helper/systemconfig'\r\n ),\r\n null\r\n );\r\n protectedResourceMap.set(\r\n protectedResources.apiEndpoint.endpoint.replace(\r\n '**',\r\n 'web-user/isMaintenanceMode'\r\n ),\r\n null\r\n );\r\n protectedResourceMap.set(protectedResources.apiEndpoint.endpoint, [\r\n {\r\n httpMethod: 'GET',\r\n scopes: [...protectedResources.apiEndpoint.scopes.read],\r\n },\r\n {\r\n httpMethod: 'POST',\r\n scopes: [...protectedResources.apiEndpoint.scopes.write],\r\n },\r\n {\r\n httpMethod: 'PUT',\r\n scopes: [...protectedResources.apiEndpoint.scopes.write],\r\n },\r\n {\r\n httpMethod: 'DELETE',\r\n scopes: [...protectedResources.apiEndpoint.scopes.write],\r\n },\r\n ]);\r\n\r\n return {\r\n interactionType: isElevatedAccess()\r\n ? InteractionType.Popup\r\n : InteractionType.Redirect,\r\n protectedResourceMap,\r\n };\r\n}\r\n\r\nexport function MSALGuardConfigFactory(): MsalGuardConfiguration {\r\n return {\r\n interactionType: isElevatedAccess()\r\n ? InteractionType.Popup\r\n : InteractionType.Redirect,\r\n authRequest: loginRequest,\r\n };\r\n}\r\nconst disableAnimations =\r\n !('animate' in document.documentElement) ||\r\n (navigator && /iPhone OS (8|9|10|11|12|13)_/.test(navigator.userAgent));\r\n\r\nconst myImports = [\r\n CommonModule,\r\n HammerModule,\r\n FormsModule,\r\n BrowserAnimationsModule.withConfig({ disableAnimations }),\r\n PdfJsViewerModule,\r\n RecaptchaV3Module,\r\n IfaaUiComponentsModule.forRoot({\r\n entryAppearance: 'outline',\r\n showEntryPlaceholder: false,\r\n showButtonIcon: environment.showButtonIcon,\r\n apiUrl: environment.apiUrl,\r\n entryFileAttachedIcon: environment.entryFileAttachedIcon,\r\n entryFileDefaultIcon: environment.entryFileDefaultIcon,\r\n buttonTitleTextTransform: environment.buttonTitleTextTransform,\r\n titleTextTransform: environment.titleTextTransform,\r\n greenIdConfig: {\r\n environment: environment.greenIdEnv,\r\n code: environment.greenIdCode,\r\n iconVerified: environment.greenIdVerifiedIcon,\r\n iconNotVerified: environment.greenIdNotVerifiedIcon,\r\n },\r\n tenantCode: environment.code,\r\n } as UserServiceConfig),\r\n MemberPortalSharedModule,\r\n ToastrModule.forRoot({\r\n timeOut: 6000,\r\n positionClass: 'toast-bottom-right',\r\n preventDuplicates: true,\r\n }),\r\n MaterialModule,\r\n BrowserAnimationsModule,\r\n AppRoutingModule,\r\n TranslateModule.forRoot(TRANSLATE_MODULE_CONFIG),\r\n StoreModule.forRoot(reducers, { metaReducers }),\r\n StoreDevtoolsModule.instrument({\r\n maxAge: 20, // Retains last 25 states\r\n logOnly: environment.production, // Restrict extension to log-only mode\r\n }),\r\n ReactiveFormsModule,\r\n NgrxFormsModule,\r\n EffectsModule.forRoot([\r\n CommonEffects,\r\n ChangePasswordEffects,\r\n TakeMeWithYouEffects,\r\n ]),\r\n NgIdleModule.forRoot(),\r\n];\r\n\r\nGetTenantModule.getModule(myImports);\r\n\r\nbootstrapApplication(AppComponent, {\r\n providers: [\r\n importProvidersFrom(myImports),\r\n FeatureToggleCheckService,\r\n CurrencyPipe,\r\n DatePipe,\r\n MessagePipe,\r\n MembersService,\r\n EmploymentService,\r\n PensionGuardService,\r\n MsalCheckService,\r\n AccumGuardService,\r\n ShowQuestionnaireGuardService,\r\n FeatureFlagGuardService,\r\n AccountDataGuardService,\r\n AccountFeatureToggleGuardService,\r\n MemberFeatureToggleGuardService,\r\n BlackoutGuardService,\r\n ErrorPageGuardService,\r\n FeatureToggleService,\r\n AccountsService,\r\n HelperService,\r\n RolesService,\r\n PermissionGuardService,\r\n InsuranceService,\r\n BeneficiaryService,\r\n BPAYDetailsService,\r\n RollInService,\r\n TransactionService,\r\n TakeMeWithYouService,\r\n InvestmentService,\r\n MemberCorrespondenceService,\r\n UnderlyingInvestmentService,\r\n WebUserService,\r\n CostOfCoverService,\r\n MemberNoteTypeService,\r\n HistoricalDataService,\r\n SwitchInvestmentsService,\r\n InsuranceQuestionnaireService,\r\n MemberPensionService,\r\n UnitPriceService,\r\n DocumentsService,\r\n PersonalContributionService,\r\n NotificationService,\r\n CommonService,\r\n AccessYourSuperService,\r\n ChatService,\r\n NoticeOfIntentTaxDeductionService,\r\n StartAPensionService,\r\n [\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: HttpCustomInterceptor,\r\n multi: true,\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: MsalInterceptor,\r\n multi: true,\r\n },\r\n ],\r\n {\r\n provide: MSAL_INSTANCE,\r\n useFactory: MSALInstanceFactory,\r\n },\r\n provideAppInitializer(\r\n async () => await initializeApp(inject(MsalService), inject(Store))\r\n ),\r\n {\r\n provide: MSAL_GUARD_CONFIG,\r\n useFactory: MSALGuardConfigFactory,\r\n },\r\n {\r\n provide: MSAL_INTERCEPTOR_CONFIG,\r\n useFactory: MSALInterceptorConfigFactory,\r\n },\r\n MsalService,\r\n MsalGuard,\r\n MsalBroadcastService,\r\n { provide: ErrorHandler, useFactory: errorHandlerFactory },\r\n { provide: RECAPTCHA_V3_SITE_KEY, useValue: environment.recaptchaApi },\r\n ],\r\n});\r\n","var __decorate = this && this.__decorate || function (decorators, target, key, desc) {\n var c = arguments.length,\n r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,\n d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = this && this.__metadata || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nimport { ErrorHandler, Injectable } from '@angular/core';\nimport Bugsnag, { Client } from '@bugsnag/js';\n// zones are optional, so we need to detect if they are being used\n// see https://angular.io/guide/zone#noopzone\nconst isNgZoneEnabled = typeof Zone !== 'undefined' && !!Zone.current;\nlet BugsnagErrorHandler = class BugsnagErrorHandler extends ErrorHandler {\n constructor(client) {\n super();\n if (client) {\n this.bugsnagClient = client;\n } else {\n this.bugsnagClient = Bugsnag._client;\n }\n }\n handleError(error) {\n const handledState = {\n severity: 'error',\n severityReason: {\n type: 'unhandledException'\n },\n unhandled: true\n };\n const event = this.bugsnagClient.Event.create(error, true, handledState, 'angular error handler', 1);\n if (error.ngDebugContext) {\n event.addMetadata('angular', {\n component: error.ngDebugContext.component,\n context: error.ngDebugContext.context\n });\n }\n this.bugsnagClient._notify(event);\n ErrorHandler.prototype.handleError.call(this, error);\n }\n};\nBugsnagErrorHandler = __decorate([Injectable(), __metadata(\"design:paramtypes\", [Client])], BugsnagErrorHandler);\nexport { BugsnagErrorHandler };\nconst ɵ0 = client => {\n const originalNotify = client._notify;\n client._notify = function () {\n const originalArguments = arguments;\n if (isNgZoneEnabled) {\n // run notify in the root zone to avoid triggering change detection\n Zone.root.run(() => {\n originalNotify(originalArguments);\n });\n } else {\n // if zones are not enabled, change detection will not run anyway\n originalNotify(originalArguments);\n }\n };\n return new BugsnagErrorHandler(client);\n};\nconst plugin = {\n load: ɵ0,\n name: 'Angular'\n};\nexport default plugin;\nexport { ɵ0 };\n","import * as i0 from '@angular/core';\nimport { Injectable, EventEmitter, PLATFORM_ID, Optional, Inject, NgModule } from '@angular/core';\nimport { isPlatformServer } from '@angular/common';\nimport { Subscription, fromEvent, merge } from 'rxjs';\nimport { filter, throttleTime } from 'rxjs/operators';\n\n/*\n * A class for managing an interrupt from an interrupt source.\n */\nclass Interrupt {\n constructor(source, options) {\n this.source = source;\n if (source.initialize) {\n source.initialize(options);\n }\n }\n /*\n * Subscribes to the interrupt using the specified function.\n * @param fn - The subscription function.\n */\n subscribe(fn) {\n this.sub = this.source.onInterrupt.subscribe(fn);\n }\n /*\n * Unsubscribes the interrupt.\n */\n unsubscribe() {\n this.sub.unsubscribe();\n this.sub = null;\n }\n /*\n * Keeps the subscription but resumes interrupt events.\n */\n resume() {\n this.source.attach();\n }\n /*\n * Keeps the subscription but pauses interrupt events.\n */\n pause() {\n this.source.detach();\n }\n}\n\n/*\n * Represents a base class for types that provide expiry detection for the Idle service.\n */\nclass IdleExpiry {\n constructor() {\n this.idValue = new Date();\n this.idlingValue = false;\n }\n /*\n * Gets or sets a unique ID for the window\n * @param id - The id.\n * @return The current id.\n */\n id(value) {\n if (value !== void 0) {\n if (!value) {\n throw new Error('A value must be specified for the ID.');\n }\n this.idValue = value;\n }\n return this.idValue;\n }\n /*\n * Gets or sets the idling value.\n * @param value - The value to set.\n * @return The idling value.\n */\n idling(value) {\n if (value !== void 0) {\n this.idlingValue = value;\n }\n return this.idlingValue;\n }\n /*\n * Returns the current Date.\n * @return The current Date.\n */\n now() {\n /* istanbul ignore next */\n return new Date();\n }\n /*\n * Returns whether or not it is expired.\n * @return True if expired; otherwise, false.\n */\n isExpired() {\n const expiry = this.last();\n return expiry != null && expiry <= this.now();\n }\n}\n\n/*\n * Represents an alternative storage for browser that doesn't support localstorage. (i.e. Safari in\n * private mode)\n * @implements Storage\n */\nclass AlternativeStorage {\n constructor() {\n this.storageMap = {};\n }\n /*\n * Returns an integer representing the number of data items stored in the storageMap object.\n */\n get length() {\n return Object.keys(this.storageMap).length;\n }\n /*\n * Remove all keys out of the storage.\n */\n clear() {\n this.storageMap = {};\n }\n /*\n * Return the key's value\n *\n * @param key - name of the key to retrieve the value of.\n * @return The key's value\n */\n getItem(key) {\n if (typeof this.storageMap[key] !== 'undefined') {\n return this.storageMap[key];\n }\n return null;\n }\n /*\n * Return the nth key in the storage\n *\n * @param index - the number of the key you want to get the name of.\n * @return The name of the key.\n */\n key(index) {\n return Object.keys(this.storageMap)[index] || null;\n }\n /*\n * Remove a key from the storage.\n *\n * @param key - the name of the key you want to remove.\n */\n removeItem(key) {\n this.storageMap[key] = undefined;\n }\n /*\n * Add a key to the storage, or update a key's value if it already exists.\n *\n * @param key - the name of the key.\n * @param value - the value you want to give to the key.\n */\n setItem(key, value) {\n this.storageMap[key] = value;\n }\n}\n\n/*\n * Represents a localStorage store.\n */\nlet LocalStorage = /*#__PURE__*/(() => {\n class LocalStorage {\n constructor() {\n this.storage = this.getStorage();\n }\n /*\n * Safari, in Private Browsing Mode, looks like it supports localStorage but all calls to setItem\n * throw QuotaExceededError. We're going to detect this and just silently drop any calls to\n * setItem\n * to avoid the entire page breaking, without having to do a check at each usage of Storage.\n */\n getStorage() {\n try {\n const storage = localStorage;\n storage.setItem('ng2IdleStorage', '');\n storage.removeItem('ng2IdleStorage');\n return storage;\n } catch (err) {\n return new AlternativeStorage();\n }\n }\n /*\n * Gets an item in the storage.\n *\n * @param value - The value to get.\n * @return The current value.\n */\n getItem(key) {\n return this.storage.getItem('ng2Idle.' + key);\n }\n /*\n * Removes an item in the storage.\n *\n * @param value - The value to remove.\n */\n removeItem(key) {\n this.storage.removeItem('ng2Idle.' + key);\n }\n /*\n * Sets an item in the storage.\n *\n * @param key - The key to set the value.\n * @param value - The value to set to the key.\n */\n setItem(key, data) {\n this.storage.setItem('ng2Idle.' + key, data);\n }\n /*\n * Represents the storage, commonly use for testing purposes.\n *\n * @param key - The key to set the value.\n * @param value - The value to set to the key.\n */\n _wrapped() {\n return this.storage;\n }\n }\n LocalStorage.ɵfac = function LocalStorage_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || LocalStorage)();\n };\n LocalStorage.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: LocalStorage,\n factory: LocalStorage.ɵfac\n });\n return LocalStorage;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/*\n * Represents a localStorage store of expiry values.\n * @extends IdleExpiry\n */\nlet LocalStorageExpiry = /*#__PURE__*/(() => {\n class LocalStorageExpiry extends IdleExpiry {\n constructor(localStorage) {\n super();\n this.localStorage = localStorage;\n this.idleName = 'main';\n }\n /*\n * Gets or sets the last expiry date in localStorage.\n * If localStorage doesn't work correctly (i.e. Safari in private mode), we store the expiry value in memory.\n * @param value - The expiry value to set; omit to only return the value.\n * @return The current expiry value.\n */\n last(value) {\n if (value !== void 0) {\n this.setExpiry(value);\n }\n return this.getExpiry();\n }\n idling(value) {\n if (value !== void 0) {\n this.setIdling(value);\n }\n return this.getIdling();\n }\n /*\n * Gets the idle name.\n * @return The name of the idle.\n */\n getIdleName() {\n return this.idleName;\n }\n /*\n * Sets the idle name.\n * @param The name of the idle.\n */\n setIdleName(key) {\n if (key) {\n this.idleName = key;\n }\n }\n getExpiry() {\n const expiry = this.localStorage.getItem(this.idleName + '.expiry');\n if (expiry) {\n return new Date(parseInt(expiry, 10));\n } else {\n return null;\n }\n }\n setExpiry(value) {\n if (value) {\n this.localStorage.setItem(this.idleName + '.expiry', value.getTime().toString());\n } else {\n this.localStorage.removeItem(this.idleName + '.expiry');\n }\n }\n getIdling() {\n const idling = this.localStorage.getItem(this.idleName + '.idling');\n if (idling) {\n return idling === 'true';\n } else {\n return false;\n }\n }\n setIdling(value) {\n if (value) {\n this.localStorage.setItem(this.idleName + '.idling', value.toString());\n } else {\n this.localStorage.setItem(this.idleName + '.idling', 'false');\n }\n }\n }\n LocalStorageExpiry.ɵfac = function LocalStorageExpiry_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || LocalStorageExpiry)(i0.ɵɵinject(LocalStorage));\n };\n LocalStorageExpiry.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: LocalStorageExpiry,\n factory: LocalStorageExpiry.ɵfac\n });\n return LocalStorageExpiry;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nclass KeepaliveSvc {}\n\n/*\n * Indicates the desired auto resume behavior.\n */\nvar AutoResume = /*#__PURE__*/function (AutoResume) {\n /*\n * Auto resume functionality will be disabled.\n */\n AutoResume[AutoResume[\"disabled\"] = 0] = \"disabled\";\n /*\n * Can resume automatically even if they are idle.\n */\n AutoResume[AutoResume[\"idle\"] = 1] = \"idle\";\n /*\n * Can only resume automatically if they are not yet idle.\n */\n AutoResume[AutoResume[\"notIdle\"] = 2] = \"notIdle\";\n return AutoResume;\n}(AutoResume || {});\n/**\n * A service for detecting and responding to user idleness.\n */\nlet Idle = /*#__PURE__*/(() => {\n class Idle {\n constructor(expiry, zone, keepaliveSvc,\n // eslint-disable-next-line @typescript-eslint/ban-types\n platformId) {\n this.expiry = expiry;\n this.zone = zone;\n this.platformId = platformId;\n this.idle = 20 * 60; // in seconds\n this.timeoutVal = 30; // in seconds\n this.autoResume = AutoResume.idle;\n this.interrupts = new Array();\n this.running = false;\n this.keepaliveEnabled = false;\n this.onIdleStart = new EventEmitter();\n this.onIdleEnd = new EventEmitter();\n this.onTimeoutWarning = new EventEmitter();\n this.onTimeout = new EventEmitter();\n this.onInterrupt = new EventEmitter();\n if (keepaliveSvc) {\n this.keepaliveSvc = keepaliveSvc;\n this.keepaliveEnabled = true;\n }\n this.setIdling(false);\n }\n /*\n * Sets the idle name for localStorage.\n * Important to set if multiple instances of Idle with LocalStorageExpiry\n * @param The name of the idle.\n */\n setIdleName(key) {\n if (this.expiry instanceof LocalStorageExpiry) {\n this.expiry.setIdleName(key);\n } else {\n throw new Error('Cannot set expiry key name because no LocalStorageExpiry has been provided.');\n }\n }\n /*\n * Returns whether or not keepalive integration is enabled.\n * @return True if integration is enabled; otherwise, false.\n */\n getKeepaliveEnabled() {\n return this.keepaliveEnabled;\n }\n /*\n * Sets and returns whether or not keepalive integration is enabled.\n * @param True if the integration is enabled; otherwise, false.\n * @return The current value.\n */\n setKeepaliveEnabled(value) {\n if (!this.keepaliveSvc) {\n throw new Error('Cannot enable keepalive integration because no KeepaliveSvc has been provided.');\n }\n return this.keepaliveEnabled = value;\n }\n /*\n * Returns the current timeout value.\n * @return The timeout value in seconds.\n */\n getTimeout() {\n return this.timeoutVal;\n }\n /*\n * Sets the timeout value.\n * @param seconds - The timeout value in seconds. 0 or false to disable timeout feature.\n * @return The current value. If disabled, the value will be 0.\n */\n setTimeout(seconds) {\n if (seconds === false) {\n this.timeoutVal = 0;\n } else if (typeof seconds === 'number' && seconds >= 0) {\n this.timeoutVal = seconds;\n } else {\n throw new Error(\"'seconds' can only be 'false' or a positive number.\");\n }\n return this.timeoutVal;\n }\n /*\n * Returns the current idle value.\n * @return The idle value in seconds.\n */\n getIdle() {\n return this.idle;\n }\n /*\n * Sets the idle value.\n * @param seconds - The idle value in seconds.\n * @return The idle value in seconds.\n */\n setIdle(seconds) {\n if (seconds <= 0) {\n throw new Error(\"'seconds' must be greater zero\");\n }\n return this.idle = seconds;\n }\n /*\n * Returns the current autoresume value.\n * @return The current value.\n */\n getAutoResume() {\n return this.autoResume;\n }\n setAutoResume(value) {\n return this.autoResume = value;\n }\n /*\n * Sets interrupts from the specified sources.\n * @param sources - Interrupt sources.\n * @return The resulting interrupts.\n */\n setInterrupts(sources) {\n this.clearInterrupts();\n const self = this;\n for (const source of sources) {\n const options = {\n platformId: this.platformId\n };\n const sub = new Interrupt(source, options);\n sub.subscribe(args => {\n self.interrupt(args.force, args.innerArgs);\n });\n this.interrupts.push(sub);\n }\n return this.interrupts;\n }\n /*\n * Returns the current interrupts.\n * @return The current interrupts.\n */\n getInterrupts() {\n return this.interrupts;\n }\n /*\n * Pauses, unsubscribes, and clears the current interrupt subscriptions.\n */\n clearInterrupts() {\n for (const sub of this.interrupts) {\n sub.pause();\n sub.unsubscribe();\n }\n this.interrupts.length = 0;\n }\n /*\n * Returns whether or not the service is running i.e. watching for idleness.\n * @return True if service is watching; otherwise, false.\n */\n isRunning() {\n return this.running;\n }\n /*\n * Returns whether or not the user is considered idle.\n * @return True if the user is in the idle state; otherwise, false.\n */\n isIdling() {\n return this.idling;\n }\n /*\n * Starts watching for inactivity.\n */\n watch(skipExpiry) {\n this.safeClearInterval('idleHandle');\n this.safeClearInterval('timeoutHandle');\n const timeout = !this.timeoutVal ? 0 : this.timeoutVal;\n if (!skipExpiry) {\n const value = new Date(this.expiry.now().getTime() + (this.idle + timeout) * 1000);\n this.expiry.last(value);\n }\n if (this.idling) {\n this.toggleState();\n }\n if (!this.running) {\n this.startKeepalive();\n this.toggleInterrupts(true);\n }\n this.running = true;\n const watchFn = () => {\n this.zone.run(() => {\n const diff = this.getExpiryDiff(timeout);\n if (diff > 0) {\n this.safeClearInterval('idleHandle');\n this.setIdleIntervalOutsideOfZone(watchFn, diff);\n } else {\n this.toggleState();\n }\n });\n };\n this.setIdleIntervalOutsideOfZone(watchFn, this.idle * 1000);\n }\n /*\n * Allows protractor tests to call waitForAngular without hanging\n */\n setIdleIntervalOutsideOfZone(watchFn, frequency) {\n this.zone.runOutsideAngular(() => {\n this.idleHandle = setInterval(watchFn, frequency);\n });\n }\n /*\n * Stops watching for inactivity.\n */\n stop() {\n this.stopKeepalive();\n this.toggleInterrupts(false);\n this.safeClearInterval('idleHandle');\n this.safeClearInterval('timeoutHandle');\n this.setIdling(false);\n this.running = false;\n this.expiry.last(null);\n }\n /*\n * Forces a timeout event and state.\n */\n timeout() {\n this.stopKeepalive();\n this.toggleInterrupts(false);\n this.safeClearInterval('idleHandle');\n this.safeClearInterval('timeoutHandle');\n this.setIdling(true);\n this.running = false;\n this.countdown = 0;\n this.onTimeout.emit(null);\n }\n /*\n * Signals that user activity has occurred.\n * @param force - Forces watch to be called, unless they are timed out.\n * @param eventArgs - Optional source event arguments.\n */\n interrupt(force, eventArgs) {\n if (!this.running) {\n return;\n }\n if (this.timeoutVal && this.expiry.isExpired()) {\n this.timeout();\n return;\n }\n this.onInterrupt.emit(eventArgs);\n if (force === true || this.autoResume === AutoResume.idle || this.autoResume === AutoResume.notIdle && !this.expiry.idling()) {\n this.watch(force);\n }\n }\n setIdling(value) {\n this.idling = value;\n this.expiry.idling(value);\n }\n toggleState() {\n this.setIdling(!this.idling);\n if (this.idling) {\n this.onIdleStart.emit(null);\n this.stopKeepalive();\n if (this.timeoutVal > 0) {\n this.countdown = this.timeoutVal;\n this.doCountdown();\n this.setTimoutIntervalOutsideZone(() => {\n this.doCountdownInZone();\n }, 1000);\n }\n } else {\n this.toggleInterrupts(true);\n this.onIdleEnd.emit(null);\n this.startKeepalive();\n }\n this.safeClearInterval('idleHandle');\n }\n setTimoutIntervalOutsideZone(intervalFn, frequency) {\n this.zone.runOutsideAngular(() => {\n this.timeoutHandle = setInterval(() => {\n intervalFn();\n }, frequency);\n });\n }\n toggleInterrupts(resume) {\n for (const interrupt of this.interrupts) {\n if (resume) {\n interrupt.resume();\n } else {\n interrupt.pause();\n }\n }\n }\n getExpiryDiff(timeout) {\n const now = this.expiry.now();\n const last = this.expiry.last() || now;\n return last.getTime() - now.getTime() - timeout * 1000;\n }\n doCountdownInZone() {\n this.zone.run(() => {\n this.doCountdown();\n });\n }\n doCountdown() {\n const diff = this.getExpiryDiff(this.timeoutVal);\n if (diff > 0) {\n this.safeClearInterval('timeoutHandle');\n this.interrupt(true);\n return;\n }\n if (!this.idling) {\n return;\n }\n if (this.countdown <= 0) {\n this.timeout();\n return;\n }\n this.onTimeoutWarning.emit(this.countdown);\n this.countdown--;\n }\n safeClearInterval(handleName) {\n const handle = this[handleName];\n if (handle !== null && typeof handle !== 'undefined') {\n clearInterval(this[handleName]);\n this[handleName] = null;\n }\n }\n startKeepalive() {\n if (!this.keepaliveSvc || !this.keepaliveEnabled) {\n return;\n }\n if (this.running) {\n this.keepaliveSvc.ping();\n }\n this.keepaliveSvc.start();\n }\n stopKeepalive() {\n if (!this.keepaliveSvc || !this.keepaliveEnabled) {\n return;\n }\n this.keepaliveSvc.stop();\n }\n /*\n * Called by Angular when destroying the instance.\n */\n ngOnDestroy() {\n this.stop();\n this.clearInterrupts();\n }\n }\n Idle.ɵfac = function Idle_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || Idle)(i0.ɵɵinject(IdleExpiry), i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(KeepaliveSvc, 8), i0.ɵɵinject(PLATFORM_ID, 8));\n };\n Idle.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: Idle,\n factory: Idle.ɵfac\n });\n return Idle;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/*\n * A class for expressing arguments to interrupt events.\n */\nclass InterruptArgs {\n constructor(source, innerArgs, force = false) {\n this.source = source;\n this.innerArgs = innerArgs;\n this.force = force;\n }\n}\n\n/*\n * A base for classes that act as a source for interrupts.\n */\nclass InterruptSource {\n constructor(attachFn, detachFn) {\n this.attachFn = attachFn;\n this.detachFn = detachFn;\n this.isAttached = false;\n this.onInterrupt = new EventEmitter();\n }\n /*\n * Attaches to the specified events on the specified source.\n */\n attach() {\n // If the current zone is the 'angular' zone (a.k.a. NgZone) then re-enter this method in its parent zone\n // The parent zone is usually the '' zone but it can also be 'long-stack-trace-zone' in debug mode\n // In tests, the current zone is typically a 'ProxyZone' created by async/fakeAsync (from @angular/core/testing)\n if (Zone.current.get('isAngularZone') === true) {\n Zone.current.parent.run(() => this.attach());\n return;\n }\n if (!this.isAttached && this.attachFn) {\n this.attachFn(this);\n }\n this.isAttached = true;\n }\n /*\n * Detaches from the specified events on the specified source.\n */\n detach() {\n if (this.isAttached && this.detachFn) {\n this.detachFn(this);\n }\n this.isAttached = false;\n }\n}\nconst defaultThrottleDelay = 500;\n/*\n * An interrupt source on an EventTarget object, such as a Window or HTMLElement.\n */\nclass EventTargetInterruptSource extends InterruptSource {\n constructor(target, events, opts) {\n super(null, null);\n this.target = target;\n this.events = events;\n this.opts = opts;\n this.eventSubscription = new Subscription();\n if (typeof this.opts === 'number') {\n this.opts = {\n throttleDelay: this.opts,\n passive: false\n };\n }\n this.opts = this.opts || {\n passive: false,\n throttleDelay: defaultThrottleDelay\n };\n if (this.opts.throttleDelay === undefined || this.opts.throttleDelay === null) {\n this.opts.throttleDelay = defaultThrottleDelay;\n }\n this.throttleDelay = this.opts.throttleDelay;\n this.passive = !!this.opts.passive;\n }\n initialize(options) {\n if (options?.platformId && isPlatformServer(options.platformId)) {\n return;\n }\n const eventTarget = typeof this.target === 'function' ? this.target() : this.target;\n const opts = this.passive ? {\n passive: true\n } : null;\n const fromEvents = this.events.split(' ').map(eventName => fromEvent(eventTarget, eventName, opts));\n this.eventSrc = merge(...fromEvents);\n this.eventSrc = this.eventSrc.pipe(filter(innerArgs => !this.filterEvent(innerArgs)));\n if (this.throttleDelay > 0) {\n this.eventSrc = this.eventSrc.pipe(throttleTime(this.throttleDelay));\n }\n const handler = innerArgs => this.onInterrupt.emit(new InterruptArgs(this, innerArgs));\n this.attachFn = () => this.eventSubscription = this.eventSrc.subscribe(handler);\n this.detachFn = () => this.eventSubscription.unsubscribe();\n }\n /*\n * Checks to see if the event should be filtered. Always returns false unless overriden.\n * @param event - The original event object.\n * @return True if the event should be filtered (don't cause an interrupt); otherwise, false.\n */\n filterEvent(event) {\n return false;\n }\n /**\n * Returns the current options being used.\n * @return The current option values.\n */\n get options() {\n return {\n passive: this.passive,\n throttleDelay: this.throttleDelay\n };\n }\n}\n\n/*\n * An interrupt source that uses events on the document element (html tag).\n */\nclass DocumentInterruptSource extends EventTargetInterruptSource {\n constructor(events, options) {\n super(() => document.documentElement, events, options);\n }\n /*\n * Checks to see if the event should be filtered.\n * @param event - The original event object.\n * @return True if the event should be filtered (don't cause an interrupt); otherwise, false.\n */\n filterEvent(event) {\n // some browser bad input hacks\n if (event.type === 'mousemove' && (\n // fix for Chrome destop notifications\n event.originalEvent && event.originalEvent.movementX === 0 && event.originalEvent.movementY === 0 ||\n // fix for webkit fake mousemove\n event.movementX !== void 0 && !event.movementX || !event.movementY)) {\n return true;\n }\n return false;\n }\n}\n\n/*\n * An interrupt source on the Window object.\n */\nclass WindowInterruptSource extends EventTargetInterruptSource {\n constructor(events, options) {\n super(() => window, events, options);\n }\n}\n\n/*\n * An interrupt source on the storage event of Window.\n */\nclass StorageInterruptSource extends WindowInterruptSource {\n constructor(options = 500) {\n super('storage', options);\n }\n /*\n * Checks to see if the event should be filtered.\n * @param event - The original event object.\n * @return True if the event should be filtered (don't cause an interrupt); otherwise, false.\n */\n filterEvent(event) {\n if (event.key && event.key.indexOf('ng2Idle.') >= 0 && event.key.indexOf('.expiry') >= 0) {\n return false;\n }\n return true;\n }\n}\n\n/*\n * Represents a simple in-memory store of expiry values.\n * @extends IdleExpiry\n */\nclass SimpleExpiry extends IdleExpiry {\n constructor() {\n super();\n this.lastValue = null;\n }\n /*\n * Gets or sets the last expiry date.\n * @param value - The expiry value to set; omit to only return the value.\n * @return The current expiry value.\n */\n last(value) {\n if (value !== void 0) {\n this.lastValue = value;\n }\n return this.lastValue;\n }\n}\nlet NgIdleModule = /*#__PURE__*/(() => {\n class NgIdleModule {\n static forRoot() {\n return {\n ngModule: NgIdleModule,\n providers: [LocalStorageExpiry, {\n provide: IdleExpiry,\n useExisting: LocalStorageExpiry\n }, Idle]\n };\n }\n }\n NgIdleModule.ɵfac = function NgIdleModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || NgIdleModule)();\n };\n NgIdleModule.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: NgIdleModule\n });\n NgIdleModule.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n providers: [LocalStorage]\n });\n return NgIdleModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction createDefaultInterruptSources(options) {\n return [new DocumentInterruptSource('mousemove keydown DOMMouseScroll mousewheel mousedown touchstart touchmove scroll', options), new StorageInterruptSource(options)];\n}\nconst DEFAULT_INTERRUPTSOURCES = createDefaultInterruptSources();\n\n/*\n * Public API Surface of core\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AutoResume, DEFAULT_INTERRUPTSOURCES, DocumentInterruptSource, EventTargetInterruptSource, Idle, IdleExpiry, InterruptArgs, InterruptSource, KeepaliveSvc, LocalStorage, LocalStorageExpiry, NgIdleModule, SimpleExpiry, StorageInterruptSource, WindowInterruptSource, createDefaultInterruptSources };\n","import * as i0 from '@angular/core';\nimport { InjectionToken, inject, NgZone, Injectable, Inject, makeEnvironmentProviders, NgModule } from '@angular/core';\nimport * as i2 from '@ngrx/store';\nimport { ActionsSubject, UPDATE, INIT, INITIAL_STATE, StateObservable, ReducerManagerDispatcher } from '@ngrx/store';\nimport { EMPTY, Observable, of, merge, queueScheduler, ReplaySubject } from 'rxjs';\nimport { share, filter, map, concatMap, timeout, debounceTime, catchError, take, takeUntil, switchMap, skip, observeOn, withLatestFrom, scan } from 'rxjs/operators';\nimport { toSignal } from '@angular/core/rxjs-interop';\nconst PERFORM_ACTION = 'PERFORM_ACTION';\nconst REFRESH = 'REFRESH';\nconst RESET = 'RESET';\nconst ROLLBACK = 'ROLLBACK';\nconst COMMIT = 'COMMIT';\nconst SWEEP = 'SWEEP';\nconst TOGGLE_ACTION = 'TOGGLE_ACTION';\nconst SET_ACTIONS_ACTIVE = 'SET_ACTIONS_ACTIVE';\nconst JUMP_TO_STATE = 'JUMP_TO_STATE';\nconst JUMP_TO_ACTION = 'JUMP_TO_ACTION';\nconst IMPORT_STATE = 'IMPORT_STATE';\nconst LOCK_CHANGES = 'LOCK_CHANGES';\nconst PAUSE_RECORDING = 'PAUSE_RECORDING';\nclass PerformAction {\n constructor(action, timestamp) {\n this.action = action;\n this.timestamp = timestamp;\n this.type = PERFORM_ACTION;\n if (typeof action.type === 'undefined') {\n throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n }\n }\n}\nclass Refresh {\n constructor() {\n this.type = REFRESH;\n }\n}\nclass Reset {\n constructor(timestamp) {\n this.timestamp = timestamp;\n this.type = RESET;\n }\n}\nclass Rollback {\n constructor(timestamp) {\n this.timestamp = timestamp;\n this.type = ROLLBACK;\n }\n}\nclass Commit {\n constructor(timestamp) {\n this.timestamp = timestamp;\n this.type = COMMIT;\n }\n}\nclass Sweep {\n constructor() {\n this.type = SWEEP;\n }\n}\nclass ToggleAction {\n constructor(id) {\n this.id = id;\n this.type = TOGGLE_ACTION;\n }\n}\nclass SetActionsActive {\n constructor(start, end, active = true) {\n this.start = start;\n this.end = end;\n this.active = active;\n this.type = SET_ACTIONS_ACTIVE;\n }\n}\nclass JumpToState {\n constructor(index) {\n this.index = index;\n this.type = JUMP_TO_STATE;\n }\n}\nclass JumpToAction {\n constructor(actionId) {\n this.actionId = actionId;\n this.type = JUMP_TO_ACTION;\n }\n}\nclass ImportState {\n constructor(nextLiftedState) {\n this.nextLiftedState = nextLiftedState;\n this.type = IMPORT_STATE;\n }\n}\nclass LockChanges {\n constructor(status) {\n this.status = status;\n this.type = LOCK_CHANGES;\n }\n}\nclass PauseRecording {\n constructor(status) {\n this.status = status;\n this.type = PAUSE_RECORDING;\n }\n}\n\n/**\n * Chrome extension documentation\n * @see https://github.com/reduxjs/redux-devtools/blob/main/extension/docs/API/Arguments.md\n * Firefox extension documentation\n * @see https://github.com/zalmoxisus/redux-devtools-extension/blob/master/docs/API/Arguments.md\n */\nclass StoreDevtoolsConfig {\n constructor() {\n /**\n * Maximum allowed actions to be stored in the history tree (default: `false`)\n */\n this.maxAge = false;\n }\n}\nconst STORE_DEVTOOLS_CONFIG = new InjectionToken('@ngrx/store-devtools Options');\n/**\n * Used to provide a `StoreDevtoolsConfig` for the store-devtools.\n */\nconst INITIAL_OPTIONS = new InjectionToken('@ngrx/store-devtools Initial Config');\nfunction noMonitor() {\n return null;\n}\nconst DEFAULT_NAME = 'NgRx Store DevTools';\nfunction createConfig(optionsInput) {\n const DEFAULT_OPTIONS = {\n maxAge: false,\n monitor: noMonitor,\n actionSanitizer: undefined,\n stateSanitizer: undefined,\n name: DEFAULT_NAME,\n serialize: false,\n logOnly: false,\n autoPause: false,\n trace: false,\n traceLimit: 75,\n // Add all features explicitly. This prevent buggy behavior for\n // options like \"lock\" which might otherwise not show up.\n features: {\n pause: true,\n // Start/pause recording of dispatched actions\n lock: true,\n // Lock/unlock dispatching actions and side effects\n persist: true,\n // Persist states on page reloading\n export: true,\n // Export history of actions in a file\n import: 'custom',\n // Import history of actions from a file\n jump: true,\n // Jump back and forth (time travelling)\n skip: true,\n // Skip (cancel) actions\n reorder: true,\n // Drag and drop actions in the history list\n dispatch: true,\n // Dispatch custom actions or action creators\n test: true // Generate tests for the selected actions\n },\n connectInZone: false\n };\n const options = typeof optionsInput === 'function' ? optionsInput() : optionsInput;\n const logOnly = options.logOnly ? {\n pause: true,\n export: true,\n test: true\n } : false;\n const features = options.features || logOnly || DEFAULT_OPTIONS.features;\n if (features.import === true) {\n features.import = 'custom';\n }\n const config = Object.assign({}, DEFAULT_OPTIONS, {\n features\n }, options);\n if (config.maxAge && config.maxAge < 2) {\n throw new Error(`Devtools 'maxAge' cannot be less than 2, got ${config.maxAge}`);\n }\n return config;\n}\nfunction difference(first, second) {\n return first.filter(item => second.indexOf(item) < 0);\n}\n/**\n * Provides an app's view into the state of the lifted store.\n */\nfunction unliftState(liftedState) {\n const {\n computedStates,\n currentStateIndex\n } = liftedState;\n // At start up NgRx dispatches init actions,\n // When these init actions are being filtered out by the predicate or safe/block list options\n // we don't have a complete computed states yet.\n // At this point it could happen that we're out of bounds, when this happens we fall back to the last known state\n if (currentStateIndex >= computedStates.length) {\n const {\n state\n } = computedStates[computedStates.length - 1];\n return state;\n }\n const {\n state\n } = computedStates[currentStateIndex];\n return state;\n}\nfunction unliftAction(liftedState) {\n return liftedState.actionsById[liftedState.nextActionId - 1];\n}\n/**\n * Lifts an app's action into an action on the lifted store.\n */\nfunction liftAction(action) {\n return new PerformAction(action, +Date.now());\n}\n/**\n * Sanitizes given actions with given function.\n */\nfunction sanitizeActions(actionSanitizer, actions) {\n return Object.keys(actions).reduce((sanitizedActions, actionIdx) => {\n const idx = Number(actionIdx);\n sanitizedActions[idx] = sanitizeAction(actionSanitizer, actions[idx], idx);\n return sanitizedActions;\n }, {});\n}\n/**\n * Sanitizes given action with given function.\n */\nfunction sanitizeAction(actionSanitizer, action, actionIdx) {\n return {\n ...action,\n action: actionSanitizer(action.action, actionIdx)\n };\n}\n/**\n * Sanitizes given states with given function.\n */\nfunction sanitizeStates(stateSanitizer, states) {\n return states.map((computedState, idx) => ({\n state: sanitizeState(stateSanitizer, computedState.state, idx),\n error: computedState.error\n }));\n}\n/**\n * Sanitizes given state with given function.\n */\nfunction sanitizeState(stateSanitizer, state, stateIdx) {\n return stateSanitizer(state, stateIdx);\n}\n/**\n * Read the config and tell if actions should be filtered\n */\nfunction shouldFilterActions(config) {\n return config.predicate || config.actionsSafelist || config.actionsBlocklist;\n}\n/**\n * Return a full filtered lifted state\n */\nfunction filterLiftedState(liftedState, predicate, safelist, blocklist) {\n const filteredStagedActionIds = [];\n const filteredActionsById = {};\n const filteredComputedStates = [];\n liftedState.stagedActionIds.forEach((id, idx) => {\n const liftedAction = liftedState.actionsById[id];\n if (!liftedAction) return;\n if (idx && isActionFiltered(liftedState.computedStates[idx], liftedAction, predicate, safelist, blocklist)) {\n return;\n }\n filteredActionsById[id] = liftedAction;\n filteredStagedActionIds.push(id);\n filteredComputedStates.push(liftedState.computedStates[idx]);\n });\n return {\n ...liftedState,\n stagedActionIds: filteredStagedActionIds,\n actionsById: filteredActionsById,\n computedStates: filteredComputedStates\n };\n}\n/**\n * Return true is the action should be ignored\n */\nfunction isActionFiltered(state, action, predicate, safelist, blockedlist) {\n const predicateMatch = predicate && !predicate(state, action.action);\n const safelistMatch = safelist && !action.action.type.match(safelist.map(s => escapeRegExp(s)).join('|'));\n const blocklistMatch = blockedlist && action.action.type.match(blockedlist.map(s => escapeRegExp(s)).join('|'));\n return predicateMatch || safelistMatch || blocklistMatch;\n}\n/**\n * Return string with escaped RegExp special characters\n * https://stackoverflow.com/a/6969486/1337347\n */\nfunction escapeRegExp(s) {\n return s.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n}\nfunction injectZoneConfig(connectInZone) {\n const ngZone = connectInZone ? inject(NgZone) : null;\n return {\n ngZone,\n connectInZone\n };\n}\nlet DevtoolsDispatcher = /*#__PURE__*/(() => {\n class DevtoolsDispatcher extends ActionsSubject {\n /** @nocollapse */static {\n this.ɵfac = /* @__PURE__ */(() => {\n let ɵDevtoolsDispatcher_BaseFactory;\n return function DevtoolsDispatcher_Factory(__ngFactoryType__) {\n return (ɵDevtoolsDispatcher_BaseFactory || (ɵDevtoolsDispatcher_BaseFactory = i0.ɵɵgetInheritedFactory(DevtoolsDispatcher)))(__ngFactoryType__ || DevtoolsDispatcher);\n };\n })();\n }\n /** @nocollapse */\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: DevtoolsDispatcher,\n factory: DevtoolsDispatcher.ɵfac\n });\n }\n }\n return DevtoolsDispatcher;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst ExtensionActionTypes = {\n START: 'START',\n DISPATCH: 'DISPATCH',\n STOP: 'STOP',\n ACTION: 'ACTION'\n};\nconst REDUX_DEVTOOLS_EXTENSION = new InjectionToken('@ngrx/store-devtools Redux Devtools Extension');\nlet DevtoolsExtension = /*#__PURE__*/(() => {\n class DevtoolsExtension {\n constructor(devtoolsExtension, config, dispatcher) {\n this.config = config;\n this.dispatcher = dispatcher;\n this.zoneConfig = injectZoneConfig(this.config.connectInZone);\n this.devtoolsExtension = devtoolsExtension;\n this.createActionStreams();\n }\n notify(action, state) {\n if (!this.devtoolsExtension) {\n return;\n }\n // Check to see if the action requires a full update of the liftedState.\n // If it is a simple action generated by the user's app and the recording\n // is not locked/paused, only send the action and the current state (fast).\n //\n // A full liftedState update (slow: serializes the entire liftedState) is\n // only required when:\n // a) redux-devtools-extension fires the @@Init action (ignored by\n // @ngrx/store-devtools)\n // b) an action is generated by an @ngrx module (e.g. @ngrx/effects/init\n // or @ngrx/store/update-reducers)\n // c) the state has been recomputed due to time-traveling\n // d) any action that is not a PerformAction to err on the side of\n // caution.\n if (action.type === PERFORM_ACTION) {\n if (state.isLocked || state.isPaused) {\n return;\n }\n const currentState = unliftState(state);\n if (shouldFilterActions(this.config) && isActionFiltered(currentState, action, this.config.predicate, this.config.actionsSafelist, this.config.actionsBlocklist)) {\n return;\n }\n const sanitizedState = this.config.stateSanitizer ? sanitizeState(this.config.stateSanitizer, currentState, state.currentStateIndex) : currentState;\n const sanitizedAction = this.config.actionSanitizer ? sanitizeAction(this.config.actionSanitizer, action, state.nextActionId) : action;\n this.sendToReduxDevtools(() => this.extensionConnection.send(sanitizedAction, sanitizedState));\n } else {\n // Requires full state update\n const sanitizedLiftedState = {\n ...state,\n stagedActionIds: state.stagedActionIds,\n actionsById: this.config.actionSanitizer ? sanitizeActions(this.config.actionSanitizer, state.actionsById) : state.actionsById,\n computedStates: this.config.stateSanitizer ? sanitizeStates(this.config.stateSanitizer, state.computedStates) : state.computedStates\n };\n this.sendToReduxDevtools(() => this.devtoolsExtension.send(null, sanitizedLiftedState, this.getExtensionConfig(this.config)));\n }\n }\n createChangesObservable() {\n if (!this.devtoolsExtension) {\n return EMPTY;\n }\n return new Observable(subscriber => {\n const connection = this.zoneConfig.connectInZone ?\n // To reduce change detection cycles, we need to run the `connect` method\n // outside of the Angular zone. The `connect` method adds a `message`\n // event listener to communicate with an extension using `window.postMessage`\n // and handle message events.\n this.zoneConfig.ngZone.runOutsideAngular(() => this.devtoolsExtension.connect(this.getExtensionConfig(this.config))) : this.devtoolsExtension.connect(this.getExtensionConfig(this.config));\n this.extensionConnection = connection;\n connection.init();\n connection.subscribe(change => subscriber.next(change));\n return connection.unsubscribe;\n });\n }\n createActionStreams() {\n // Listens to all changes\n const changes$ = this.createChangesObservable().pipe(share());\n // Listen for the start action\n const start$ = changes$.pipe(filter(change => change.type === ExtensionActionTypes.START));\n // Listen for the stop action\n const stop$ = changes$.pipe(filter(change => change.type === ExtensionActionTypes.STOP));\n // Listen for lifted actions\n const liftedActions$ = changes$.pipe(filter(change => change.type === ExtensionActionTypes.DISPATCH), map(change => this.unwrapAction(change.payload)), concatMap(action => {\n if (action.type === IMPORT_STATE) {\n // State imports may happen in two situations:\n // 1. Explicitly by user\n // 2. User activated the \"persist state accross reloads\" option\n // and now the state is imported during reload.\n // Because of option 2, we need to give possible\n // lazy loaded reducers time to instantiate.\n // As soon as there is no UPDATE action within 1 second,\n // it is assumed that all reducers are loaded.\n return this.dispatcher.pipe(filter(action => action.type === UPDATE), timeout(1000), debounceTime(1000), map(() => action), catchError(() => of(action)), take(1));\n } else {\n return of(action);\n }\n }));\n // Listen for unlifted actions\n const actions$ = changes$.pipe(filter(change => change.type === ExtensionActionTypes.ACTION), map(change => this.unwrapAction(change.payload)));\n const actionsUntilStop$ = actions$.pipe(takeUntil(stop$));\n const liftedUntilStop$ = liftedActions$.pipe(takeUntil(stop$));\n this.start$ = start$.pipe(takeUntil(stop$));\n // Only take the action sources between the start/stop events\n this.actions$ = this.start$.pipe(switchMap(() => actionsUntilStop$));\n this.liftedActions$ = this.start$.pipe(switchMap(() => liftedUntilStop$));\n }\n unwrapAction(action) {\n // indirect eval according to https://esbuild.github.io/content-types/#direct-eval\n return typeof action === 'string' ? (0, eval)(`(${action})`) : action;\n }\n getExtensionConfig(config) {\n const extensionOptions = {\n name: config.name,\n features: config.features,\n serialize: config.serialize,\n autoPause: config.autoPause ?? false,\n trace: config.trace ?? false,\n traceLimit: config.traceLimit ?? 75\n // The action/state sanitizers are not added to the config\n // because sanitation is done in this class already.\n // It is done before sending it to the devtools extension for consistency:\n // - If we call extensionConnection.send(...),\n // the extension would call the sanitizers.\n // - If we call devtoolsExtension.send(...) (aka full state update),\n // the extension would NOT call the sanitizers, so we have to do it ourselves.\n };\n if (config.maxAge !== false /* support === 0 */) {\n extensionOptions.maxAge = config.maxAge;\n }\n return extensionOptions;\n }\n sendToReduxDevtools(send) {\n try {\n send();\n } catch (err) {\n console.warn('@ngrx/store-devtools: something went wrong inside the redux devtools', err);\n }\n }\n /** @nocollapse */\n static {\n this.ɵfac = function DevtoolsExtension_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || DevtoolsExtension)(i0.ɵɵinject(REDUX_DEVTOOLS_EXTENSION), i0.ɵɵinject(STORE_DEVTOOLS_CONFIG), i0.ɵɵinject(DevtoolsDispatcher));\n };\n }\n /** @nocollapse */\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: DevtoolsExtension,\n factory: DevtoolsExtension.ɵfac\n });\n }\n }\n return DevtoolsExtension;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst INIT_ACTION = {\n type: INIT\n};\nconst RECOMPUTE = '@ngrx/store-devtools/recompute';\nconst RECOMPUTE_ACTION = {\n type: RECOMPUTE\n};\n/**\n * Computes the next entry in the log by applying an action.\n */\nfunction computeNextEntry(reducer, action, state, error, errorHandler) {\n if (error) {\n return {\n state,\n error: 'Interrupted by an error up the chain'\n };\n }\n let nextState = state;\n let nextError;\n try {\n nextState = reducer(state, action);\n } catch (err) {\n nextError = err.toString();\n errorHandler.handleError(err);\n }\n return {\n state: nextState,\n error: nextError\n };\n}\n/**\n * Runs the reducer on invalidated actions to get a fresh computation log.\n */\nfunction recomputeStates(computedStates, minInvalidatedStateIndex, reducer, committedState, actionsById, stagedActionIds, skippedActionIds, errorHandler, isPaused) {\n // Optimization: exit early and return the same reference\n // if we know nothing could have changed.\n if (minInvalidatedStateIndex >= computedStates.length && computedStates.length === stagedActionIds.length) {\n return computedStates;\n }\n const nextComputedStates = computedStates.slice(0, minInvalidatedStateIndex);\n // If the recording is paused, recompute all states up until the pause state,\n // else recompute all states.\n const lastIncludedActionId = stagedActionIds.length - (isPaused ? 1 : 0);\n for (let i = minInvalidatedStateIndex; i < lastIncludedActionId; i++) {\n const actionId = stagedActionIds[i];\n const action = actionsById[actionId].action;\n const previousEntry = nextComputedStates[i - 1];\n const previousState = previousEntry ? previousEntry.state : committedState;\n const previousError = previousEntry ? previousEntry.error : undefined;\n const shouldSkip = skippedActionIds.indexOf(actionId) > -1;\n const entry = shouldSkip ? previousEntry : computeNextEntry(reducer, action, previousState, previousError, errorHandler);\n nextComputedStates.push(entry);\n }\n // If the recording is paused, the last state will not be recomputed,\n // because it's essentially not part of the state history.\n if (isPaused) {\n nextComputedStates.push(computedStates[computedStates.length - 1]);\n }\n return nextComputedStates;\n}\nfunction liftInitialState(initialCommittedState, monitorReducer) {\n return {\n monitorState: monitorReducer(undefined, {}),\n nextActionId: 1,\n actionsById: {\n 0: liftAction(INIT_ACTION)\n },\n stagedActionIds: [0],\n skippedActionIds: [],\n committedState: initialCommittedState,\n currentStateIndex: 0,\n computedStates: [],\n isLocked: false,\n isPaused: false\n };\n}\n/**\n * Creates a history state reducer from an app's reducer.\n */\nfunction liftReducerWith(initialCommittedState, initialLiftedState, errorHandler, monitorReducer, options = {}) {\n /**\n * Manages how the history actions modify the history state.\n */\n return reducer => (liftedState, liftedAction) => {\n let {\n monitorState,\n actionsById,\n nextActionId,\n stagedActionIds,\n skippedActionIds,\n committedState,\n currentStateIndex,\n computedStates,\n isLocked,\n isPaused\n } = liftedState || initialLiftedState;\n if (!liftedState) {\n // Prevent mutating initialLiftedState\n actionsById = Object.create(actionsById);\n }\n function commitExcessActions(n) {\n // Auto-commits n-number of excess actions.\n let excess = n;\n let idsToDelete = stagedActionIds.slice(1, excess + 1);\n for (let i = 0; i < idsToDelete.length; i++) {\n if (computedStates[i + 1].error) {\n // Stop if error is found. Commit actions up to error.\n excess = i;\n idsToDelete = stagedActionIds.slice(1, excess + 1);\n break;\n } else {\n delete actionsById[idsToDelete[i]];\n }\n }\n skippedActionIds = skippedActionIds.filter(id => idsToDelete.indexOf(id) === -1);\n stagedActionIds = [0, ...stagedActionIds.slice(excess + 1)];\n committedState = computedStates[excess].state;\n computedStates = computedStates.slice(excess);\n currentStateIndex = currentStateIndex > excess ? currentStateIndex - excess : 0;\n }\n function commitChanges() {\n // Consider the last committed state the new starting point.\n // Squash any staged actions into a single committed state.\n actionsById = {\n 0: liftAction(INIT_ACTION)\n };\n nextActionId = 1;\n stagedActionIds = [0];\n skippedActionIds = [];\n committedState = computedStates[currentStateIndex].state;\n currentStateIndex = 0;\n computedStates = [];\n }\n // By default, aggressively recompute every state whatever happens.\n // This has O(n) performance, so we'll override this to a sensible\n // value whenever we feel like we don't have to recompute the states.\n let minInvalidatedStateIndex = 0;\n switch (liftedAction.type) {\n case LOCK_CHANGES:\n {\n isLocked = liftedAction.status;\n minInvalidatedStateIndex = Infinity;\n break;\n }\n case PAUSE_RECORDING:\n {\n isPaused = liftedAction.status;\n if (isPaused) {\n // Add a pause action to signal the devtools-user the recording is paused.\n // The corresponding state will be overwritten on each update to always contain\n // the latest state (see Actions.PERFORM_ACTION).\n stagedActionIds = [...stagedActionIds, nextActionId];\n actionsById[nextActionId] = new PerformAction({\n type: '@ngrx/devtools/pause'\n }, +Date.now());\n nextActionId++;\n minInvalidatedStateIndex = stagedActionIds.length - 1;\n computedStates = computedStates.concat(computedStates[computedStates.length - 1]);\n if (currentStateIndex === stagedActionIds.length - 2) {\n currentStateIndex++;\n }\n minInvalidatedStateIndex = Infinity;\n } else {\n commitChanges();\n }\n break;\n }\n case RESET:\n {\n // Get back to the state the store was created with.\n actionsById = {\n 0: liftAction(INIT_ACTION)\n };\n nextActionId = 1;\n stagedActionIds = [0];\n skippedActionIds = [];\n committedState = initialCommittedState;\n currentStateIndex = 0;\n computedStates = [];\n break;\n }\n case COMMIT:\n {\n commitChanges();\n break;\n }\n case ROLLBACK:\n {\n // Forget about any staged actions.\n // Start again from the last committed state.\n actionsById = {\n 0: liftAction(INIT_ACTION)\n };\n nextActionId = 1;\n stagedActionIds = [0];\n skippedActionIds = [];\n currentStateIndex = 0;\n computedStates = [];\n break;\n }\n case TOGGLE_ACTION:\n {\n // Toggle whether an action with given ID is skipped.\n // Being skipped means it is a no-op during the computation.\n const {\n id: actionId\n } = liftedAction;\n const index = skippedActionIds.indexOf(actionId);\n if (index === -1) {\n skippedActionIds = [actionId, ...skippedActionIds];\n } else {\n skippedActionIds = skippedActionIds.filter(id => id !== actionId);\n }\n // Optimization: we know history before this action hasn't changed\n minInvalidatedStateIndex = stagedActionIds.indexOf(actionId);\n break;\n }\n case SET_ACTIONS_ACTIVE:\n {\n // Toggle whether an action with given ID is skipped.\n // Being skipped means it is a no-op during the computation.\n const {\n start,\n end,\n active\n } = liftedAction;\n const actionIds = [];\n for (let i = start; i < end; i++) actionIds.push(i);\n if (active) {\n skippedActionIds = difference(skippedActionIds, actionIds);\n } else {\n skippedActionIds = [...skippedActionIds, ...actionIds];\n }\n // Optimization: we know history before this action hasn't changed\n minInvalidatedStateIndex = stagedActionIds.indexOf(start);\n break;\n }\n case JUMP_TO_STATE:\n {\n // Without recomputing anything, move the pointer that tell us\n // which state is considered the current one. Useful for sliders.\n currentStateIndex = liftedAction.index;\n // Optimization: we know the history has not changed.\n minInvalidatedStateIndex = Infinity;\n break;\n }\n case JUMP_TO_ACTION:\n {\n // Jumps to a corresponding state to a specific action.\n // Useful when filtering actions.\n const index = stagedActionIds.indexOf(liftedAction.actionId);\n if (index !== -1) currentStateIndex = index;\n minInvalidatedStateIndex = Infinity;\n break;\n }\n case SWEEP:\n {\n // Forget any actions that are currently being skipped.\n stagedActionIds = difference(stagedActionIds, skippedActionIds);\n skippedActionIds = [];\n currentStateIndex = Math.min(currentStateIndex, stagedActionIds.length - 1);\n break;\n }\n case PERFORM_ACTION:\n {\n // Ignore action and return state as is if recording is locked\n if (isLocked) {\n return liftedState || initialLiftedState;\n }\n if (isPaused || liftedState && isActionFiltered(liftedState.computedStates[currentStateIndex], liftedAction, options.predicate, options.actionsSafelist, options.actionsBlocklist)) {\n // If recording is paused or if the action should be ignored, overwrite the last state\n // (corresponds to the pause action) and keep everything else as is.\n // This way, the app gets the new current state while the devtools\n // do not record another action.\n const lastState = computedStates[computedStates.length - 1];\n computedStates = [...computedStates.slice(0, -1), computeNextEntry(reducer, liftedAction.action, lastState.state, lastState.error, errorHandler)];\n minInvalidatedStateIndex = Infinity;\n break;\n }\n // Auto-commit as new actions come in.\n if (options.maxAge && stagedActionIds.length === options.maxAge) {\n commitExcessActions(1);\n }\n if (currentStateIndex === stagedActionIds.length - 1) {\n currentStateIndex++;\n }\n const actionId = nextActionId++;\n // Mutation! This is the hottest path, and we optimize on purpose.\n // It is safe because we set a new key in a cache dictionary.\n actionsById[actionId] = liftedAction;\n stagedActionIds = [...stagedActionIds, actionId];\n // Optimization: we know that only the new action needs computing.\n minInvalidatedStateIndex = stagedActionIds.length - 1;\n break;\n }\n case IMPORT_STATE:\n {\n // Completely replace everything.\n ({\n monitorState,\n actionsById,\n nextActionId,\n stagedActionIds,\n skippedActionIds,\n committedState,\n currentStateIndex,\n computedStates,\n isLocked,\n isPaused\n } = liftedAction.nextLiftedState);\n break;\n }\n case INIT:\n {\n // Always recompute states on hot reload and init.\n minInvalidatedStateIndex = 0;\n if (options.maxAge && stagedActionIds.length > options.maxAge) {\n // States must be recomputed before committing excess.\n computedStates = recomputeStates(computedStates, minInvalidatedStateIndex, reducer, committedState, actionsById, stagedActionIds, skippedActionIds, errorHandler, isPaused);\n commitExcessActions(stagedActionIds.length - options.maxAge);\n // Avoid double computation.\n minInvalidatedStateIndex = Infinity;\n }\n break;\n }\n case UPDATE:\n {\n const stateHasErrors = computedStates.filter(state => state.error).length > 0;\n if (stateHasErrors) {\n // Recompute all states\n minInvalidatedStateIndex = 0;\n if (options.maxAge && stagedActionIds.length > options.maxAge) {\n // States must be recomputed before committing excess.\n computedStates = recomputeStates(computedStates, minInvalidatedStateIndex, reducer, committedState, actionsById, stagedActionIds, skippedActionIds, errorHandler, isPaused);\n commitExcessActions(stagedActionIds.length - options.maxAge);\n // Avoid double computation.\n minInvalidatedStateIndex = Infinity;\n }\n } else {\n // If not paused/locked, add a new action to signal devtools-user\n // that there was a reducer update.\n if (!isPaused && !isLocked) {\n if (currentStateIndex === stagedActionIds.length - 1) {\n currentStateIndex++;\n }\n // Add a new action to only recompute state\n const actionId = nextActionId++;\n actionsById[actionId] = new PerformAction(liftedAction, +Date.now());\n stagedActionIds = [...stagedActionIds, actionId];\n minInvalidatedStateIndex = stagedActionIds.length - 1;\n computedStates = recomputeStates(computedStates, minInvalidatedStateIndex, reducer, committedState, actionsById, stagedActionIds, skippedActionIds, errorHandler, isPaused);\n }\n // Recompute state history with latest reducer and update action\n computedStates = computedStates.map(cmp => ({\n ...cmp,\n state: reducer(cmp.state, RECOMPUTE_ACTION)\n }));\n currentStateIndex = stagedActionIds.length - 1;\n if (options.maxAge && stagedActionIds.length > options.maxAge) {\n commitExcessActions(stagedActionIds.length - options.maxAge);\n }\n // Avoid double computation.\n minInvalidatedStateIndex = Infinity;\n }\n break;\n }\n default:\n {\n // If the action is not recognized, it's a monitor action.\n // Optimization: a monitor action can't change history.\n minInvalidatedStateIndex = Infinity;\n break;\n }\n }\n computedStates = recomputeStates(computedStates, minInvalidatedStateIndex, reducer, committedState, actionsById, stagedActionIds, skippedActionIds, errorHandler, isPaused);\n monitorState = monitorReducer(monitorState, liftedAction);\n return {\n monitorState,\n actionsById,\n nextActionId,\n stagedActionIds,\n skippedActionIds,\n committedState,\n currentStateIndex,\n computedStates,\n isLocked,\n isPaused\n };\n };\n}\nlet StoreDevtools = /*#__PURE__*/(() => {\n class StoreDevtools {\n constructor(dispatcher, actions$, reducers$, extension, scannedActions, errorHandler, initialState, config) {\n const liftedInitialState = liftInitialState(initialState, config.monitor);\n const liftReducer = liftReducerWith(initialState, liftedInitialState, errorHandler, config.monitor, config);\n const liftedAction$ = merge(merge(actions$.asObservable().pipe(skip(1)), extension.actions$).pipe(map(liftAction)), dispatcher, extension.liftedActions$).pipe(observeOn(queueScheduler));\n const liftedReducer$ = reducers$.pipe(map(liftReducer));\n const zoneConfig = injectZoneConfig(config.connectInZone);\n const liftedStateSubject = new ReplaySubject(1);\n this.liftedStateSubscription = liftedAction$.pipe(withLatestFrom(liftedReducer$),\n // The extension would post messages back outside of the Angular zone\n // because we call `connect()` wrapped with `runOutsideAngular`. We run change\n // detection only once at the end after all the required asynchronous tasks have\n // been processed (for instance, `setInterval` scheduled by the `timeout` operator).\n // We have to re-enter the Angular zone before the `scan` since it runs the reducer\n // which must be run within the Angular zone.\n emitInZone(zoneConfig), scan(({\n state: liftedState\n }, [action, reducer]) => {\n let reducedLiftedState = reducer(liftedState, action);\n // On full state update\n // If we have actions filters, we must filter completely our lifted state to be sync with the extension\n if (action.type !== PERFORM_ACTION && shouldFilterActions(config)) {\n reducedLiftedState = filterLiftedState(reducedLiftedState, config.predicate, config.actionsSafelist, config.actionsBlocklist);\n }\n // Extension should be sent the sanitized lifted state\n extension.notify(action, reducedLiftedState);\n return {\n state: reducedLiftedState,\n action\n };\n }, {\n state: liftedInitialState,\n action: null\n })).subscribe(({\n state,\n action\n }) => {\n liftedStateSubject.next(state);\n if (action.type === PERFORM_ACTION) {\n const unliftedAction = action.action;\n scannedActions.next(unliftedAction);\n }\n });\n this.extensionStartSubscription = extension.start$.pipe(emitInZone(zoneConfig)).subscribe(() => {\n this.refresh();\n });\n const liftedState$ = liftedStateSubject.asObservable();\n const state$ = liftedState$.pipe(map(unliftState));\n Object.defineProperty(state$, 'state', {\n value: toSignal(state$, {\n manualCleanup: true,\n requireSync: true\n })\n });\n this.dispatcher = dispatcher;\n this.liftedState = liftedState$;\n this.state = state$;\n }\n ngOnDestroy() {\n // Even though the store devtools plugin is recommended to be\n // used only in development mode, it can still cause a memory leak\n // in microfrontend applications that are being created and destroyed\n // multiple times during development. This results in excessive memory\n // consumption, as it prevents entire apps from being garbage collected.\n this.liftedStateSubscription.unsubscribe();\n this.extensionStartSubscription.unsubscribe();\n }\n dispatch(action) {\n this.dispatcher.next(action);\n }\n next(action) {\n this.dispatcher.next(action);\n }\n error(error) {}\n complete() {}\n performAction(action) {\n this.dispatch(new PerformAction(action, +Date.now()));\n }\n refresh() {\n this.dispatch(new Refresh());\n }\n reset() {\n this.dispatch(new Reset(+Date.now()));\n }\n rollback() {\n this.dispatch(new Rollback(+Date.now()));\n }\n commit() {\n this.dispatch(new Commit(+Date.now()));\n }\n sweep() {\n this.dispatch(new Sweep());\n }\n toggleAction(id) {\n this.dispatch(new ToggleAction(id));\n }\n jumpToAction(actionId) {\n this.dispatch(new JumpToAction(actionId));\n }\n jumpToState(index) {\n this.dispatch(new JumpToState(index));\n }\n importState(nextLiftedState) {\n this.dispatch(new ImportState(nextLiftedState));\n }\n lockChanges(status) {\n this.dispatch(new LockChanges(status));\n }\n pauseRecording(status) {\n this.dispatch(new PauseRecording(status));\n }\n /** @nocollapse */\n static {\n this.ɵfac = function StoreDevtools_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || StoreDevtools)(i0.ɵɵinject(DevtoolsDispatcher), i0.ɵɵinject(i2.ActionsSubject), i0.ɵɵinject(i2.ReducerObservable), i0.ɵɵinject(DevtoolsExtension), i0.ɵɵinject(i2.ScannedActionsSubject), i0.ɵɵinject(i0.ErrorHandler), i0.ɵɵinject(INITIAL_STATE), i0.ɵɵinject(STORE_DEVTOOLS_CONFIG));\n };\n }\n /** @nocollapse */\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: StoreDevtools,\n factory: StoreDevtools.ɵfac\n });\n }\n }\n return StoreDevtools;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * If the devtools extension is connected out of the Angular zone,\n * this operator will emit all events within the zone.\n */\nfunction emitInZone({\n ngZone,\n connectInZone\n}) {\n return source => connectInZone ? new Observable(subscriber => source.subscribe({\n next: value => ngZone.run(() => subscriber.next(value)),\n error: error => ngZone.run(() => subscriber.error(error)),\n complete: () => ngZone.run(() => subscriber.complete())\n })) : source;\n}\nconst IS_EXTENSION_OR_MONITOR_PRESENT = new InjectionToken('@ngrx/store-devtools Is Devtools Extension or Monitor Present');\nfunction createIsExtensionOrMonitorPresent(extension, config) {\n return Boolean(extension) || config.monitor !== noMonitor;\n}\nfunction createReduxDevtoolsExtension() {\n const extensionKey = '__REDUX_DEVTOOLS_EXTENSION__';\n if (typeof window === 'object' && typeof window[extensionKey] !== 'undefined') {\n return window[extensionKey];\n } else {\n return null;\n }\n}\nfunction createStateObservable(devtools) {\n return devtools.state;\n}\n/**\n * Provides developer tools and instrumentation for `Store`.\n *\n * @usageNotes\n *\n * ```ts\n * bootstrapApplication(AppComponent, {\n * providers: [\n * provideStoreDevtools({\n * maxAge: 25,\n * logOnly: !isDevMode(),\n * }),\n * ],\n * });\n * ```\n */\nfunction provideStoreDevtools(options = {}) {\n return makeEnvironmentProviders([DevtoolsExtension, DevtoolsDispatcher, StoreDevtools, {\n provide: INITIAL_OPTIONS,\n useValue: options\n }, {\n provide: IS_EXTENSION_OR_MONITOR_PRESENT,\n deps: [REDUX_DEVTOOLS_EXTENSION, STORE_DEVTOOLS_CONFIG],\n useFactory: createIsExtensionOrMonitorPresent\n }, {\n provide: REDUX_DEVTOOLS_EXTENSION,\n useFactory: createReduxDevtoolsExtension\n }, {\n provide: STORE_DEVTOOLS_CONFIG,\n deps: [INITIAL_OPTIONS],\n useFactory: createConfig\n }, {\n provide: StateObservable,\n deps: [StoreDevtools],\n useFactory: createStateObservable\n }, {\n provide: ReducerManagerDispatcher,\n useExisting: DevtoolsDispatcher\n }]);\n}\nlet StoreDevtoolsModule = /*#__PURE__*/(() => {\n class StoreDevtoolsModule {\n static instrument(options = {}) {\n return {\n ngModule: StoreDevtoolsModule,\n providers: [provideStoreDevtools(options)]\n };\n }\n /** @nocollapse */\n static {\n this.ɵfac = function StoreDevtoolsModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || StoreDevtoolsModule)();\n };\n }\n /** @nocollapse */\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: StoreDevtoolsModule\n });\n }\n /** @nocollapse */\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n }\n }\n return StoreDevtoolsModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * DO NOT EDIT\n *\n * This file is automatically generated at build\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { INITIAL_OPTIONS, RECOMPUTE, REDUX_DEVTOOLS_EXTENSION, StoreDevtools, StoreDevtoolsConfig, StoreDevtoolsModule, provideStoreDevtools };\n","import * as i0 from '@angular/core';\nimport { Injectable, Inject } from '@angular/core';\nimport * as i1 from '@angular/common/http';\nlet TranslateHttpLoader = /*#__PURE__*/(() => {\n class TranslateHttpLoader {\n http;\n prefix;\n suffix;\n constructor(http, prefix = \"/assets/i18n/\", suffix = \".json\") {\n this.http = http;\n this.prefix = prefix;\n this.suffix = suffix;\n }\n /**\n * Gets the translations from the server\n */\n getTranslation(lang) {\n return this.http.get(`${this.prefix}${lang}${this.suffix}`);\n }\n static ɵfac = function TranslateHttpLoader_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || TranslateHttpLoader)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(String), i0.ɵɵinject(String));\n };\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: TranslateHttpLoader,\n factory: TranslateHttpLoader.ɵfac\n });\n }\n return TranslateHttpLoader;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { TranslateHttpLoader };\n","import * as i0 from '@angular/core';\nimport { InjectionToken, PLATFORM_ID, Injectable, Inject, Optional, EventEmitter, Component, Input, HostBinding, Output, NgModule, forwardRef, Directive, HostListener } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { of, BehaviorSubject, Subject } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';\n\n/** @deprecated Use `LOADER_OPTIONS` instead. See `RecaptchaLoaderOptions.onBeforeLoad` */\nconst RECAPTCHA_LANGUAGE = new InjectionToken(\"recaptcha-language\");\n/** @deprecated Use `LOADER_OPTIONS` instead. See `RecaptchaLoaderOptions.onBeforeLoad` */\nconst RECAPTCHA_BASE_URL = new InjectionToken(\"recaptcha-base-url\");\n/** @deprecated Use `LOADER_OPTIONS` instead. See `RecaptchaLoaderOptions.onBeforeLoad` */\nconst RECAPTCHA_NONCE = new InjectionToken(\"recaptcha-nonce-tag\");\nconst RECAPTCHA_SETTINGS = new InjectionToken(\"recaptcha-settings\");\nconst RECAPTCHA_V3_SITE_KEY = new InjectionToken(\"recaptcha-v3-site-key\");\n/**\n * See the documentation for `RecaptchaLoaderOptions`.\n */\nconst RECAPTCHA_LOADER_OPTIONS = new InjectionToken(\"recaptcha-loader-options\");\nfunction loadScript(renderMode, onBeforeLoad, onLoaded, {\n url,\n lang,\n nonce\n} = {}) {\n window.ng2recaptchaloaded = () => {\n onLoaded(grecaptcha);\n };\n const script = document.createElement(\"script\");\n script.innerHTML = \"\";\n const {\n url: baseUrl,\n nonce: onBeforeLoadNonce\n } = onBeforeLoad(new URL(url || \"https://www.google.com/recaptcha/api.js\"));\n baseUrl.searchParams.set(\"render\", renderMode === \"explicit\" ? renderMode : renderMode.key);\n baseUrl.searchParams.set(\"onload\", \"ng2recaptchaloaded\");\n baseUrl.searchParams.set(\"trustedtypes\", \"true\");\n if (lang) {\n baseUrl.searchParams.set(\"hl\", lang);\n }\n script.src = baseUrl.href;\n const nonceValue = onBeforeLoadNonce || nonce;\n if (nonceValue) {\n script.setAttribute(\"nonce\", nonceValue);\n }\n script.async = true;\n script.defer = true;\n document.head.appendChild(script);\n}\nfunction newLoadScript({\n v3SiteKey,\n onBeforeLoad,\n onLoaded\n}) {\n const renderMode = v3SiteKey ? {\n key: v3SiteKey\n } : \"explicit\";\n loader.loadScript(renderMode, onBeforeLoad, onLoaded);\n}\nconst loader = {\n loadScript,\n newLoadScript\n};\nfunction toNonNullObservable(subject) {\n return subject.asObservable().pipe(filter(value => value !== null));\n}\nlet RecaptchaLoaderService = /*#__PURE__*/(() => {\n class RecaptchaLoaderService {\n /**\n * @internal\n * @nocollapse\n */\n static {\n this.ready = null;\n }\n constructor(\n // eslint-disable-next-line @typescript-eslint/ban-types\n platformId,\n // eslint-disable-next-line deprecation/deprecation\n language,\n // eslint-disable-next-line deprecation/deprecation\n baseUrl,\n // eslint-disable-next-line deprecation/deprecation\n nonce, v3SiteKey, options) {\n this.platformId = platformId;\n this.language = language;\n this.baseUrl = baseUrl;\n this.nonce = nonce;\n this.v3SiteKey = v3SiteKey;\n this.options = options;\n const subject = this.init();\n this.ready = subject ? toNonNullObservable(subject) : of();\n }\n /** @internal */\n init() {\n if (RecaptchaLoaderService.ready) {\n return RecaptchaLoaderService.ready;\n }\n if (!isPlatformBrowser(this.platformId)) {\n return undefined;\n }\n const subject = new BehaviorSubject(null);\n RecaptchaLoaderService.ready = subject;\n loader.newLoadScript({\n v3SiteKey: this.v3SiteKey,\n onBeforeLoad: url => {\n if (this.options?.onBeforeLoad) {\n return this.options.onBeforeLoad(url);\n }\n const newUrl = new URL(this.baseUrl ?? url);\n if (this.language) {\n newUrl.searchParams.set(\"hl\", this.language);\n }\n return {\n url: newUrl,\n nonce: this.nonce\n };\n },\n onLoaded: recaptcha => {\n let value = recaptcha;\n if (this.options?.onLoaded) {\n value = this.options.onLoaded(recaptcha);\n }\n subject.next(value);\n }\n });\n return subject;\n }\n static {\n this.ɵfac = function RecaptchaLoaderService_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || RecaptchaLoaderService)(i0.ɵɵinject(PLATFORM_ID), i0.ɵɵinject(RECAPTCHA_LANGUAGE, 8), i0.ɵɵinject(RECAPTCHA_BASE_URL, 8), i0.ɵɵinject(RECAPTCHA_NONCE, 8), i0.ɵɵinject(RECAPTCHA_V3_SITE_KEY, 8), i0.ɵɵinject(RECAPTCHA_LOADER_OPTIONS, 8));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: RecaptchaLoaderService,\n factory: RecaptchaLoaderService.ɵfac\n });\n }\n }\n return RecaptchaLoaderService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet nextId = 0;\nlet RecaptchaComponent = /*#__PURE__*/(() => {\n class RecaptchaComponent {\n constructor(elementRef, loader, zone, settings) {\n this.elementRef = elementRef;\n this.loader = loader;\n this.zone = zone;\n this.id = `ngrecaptcha-${nextId++}`;\n this.errorMode = \"default\";\n this.resolved = new EventEmitter();\n /**\n * @deprecated `(error) output will be removed in the next major version. Use (errored) instead\n */\n // eslint-disable-next-line @angular-eslint/no-output-native\n this.error = new EventEmitter();\n this.errored = new EventEmitter();\n if (settings) {\n this.siteKey = settings.siteKey;\n this.theme = settings.theme;\n this.type = settings.type;\n this.size = settings.size;\n this.badge = settings.badge;\n }\n }\n ngAfterViewInit() {\n this.subscription = this.loader.ready.subscribe(grecaptcha => {\n if (grecaptcha != null && grecaptcha.render instanceof Function) {\n this.grecaptcha = grecaptcha;\n this.renderRecaptcha();\n }\n });\n }\n ngOnDestroy() {\n // reset the captcha to ensure it does not leave anything behind\n // after the component is no longer needed\n this.grecaptchaReset();\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n /**\n * Executes the invisible recaptcha.\n * Does nothing if component's size is not set to \"invisible\".\n */\n execute() {\n if (this.size !== \"invisible\") {\n return;\n }\n if (this.widget != null) {\n void this.grecaptcha.execute(this.widget);\n } else {\n // delay execution of recaptcha until it actually renders\n this.executeRequested = true;\n }\n }\n reset() {\n if (this.widget != null) {\n if (this.grecaptcha.getResponse(this.widget)) {\n // Only emit an event in case if something would actually change.\n // That way we do not trigger \"touching\" of the control if someone does a \"reset\"\n // on a non-resolved captcha.\n this.resolved.emit(null);\n }\n this.grecaptchaReset();\n }\n }\n /**\n * ⚠️ Warning! Use this property at your own risk!\n *\n * While this member is `public`, it is not a part of the component's public API.\n * The semantic versioning guarantees _will not be honored_! Thus, you might find that this property behavior changes in incompatible ways in minor or even patch releases.\n * You are **strongly advised** against using this property.\n * Instead, use more idiomatic ways to get reCAPTCHA value, such as `resolved` EventEmitter, or form-bound methods (ngModel, formControl, and the likes).å\n */\n get __unsafe_widgetValue() {\n return this.widget != null ? this.grecaptcha.getResponse(this.widget) : null;\n }\n /** @internal */\n expired() {\n this.resolved.emit(null);\n }\n /** @internal */\n onError(args) {\n // eslint-disable-next-line deprecation/deprecation\n this.error.emit(args);\n this.errored.emit(args);\n }\n /** @internal */\n captchaResponseCallback(response) {\n this.resolved.emit(response);\n }\n /** @internal */\n grecaptchaReset() {\n if (this.widget != null) {\n this.zone.runOutsideAngular(() => this.grecaptcha.reset(this.widget));\n }\n }\n /** @internal */\n renderRecaptcha() {\n // This `any` can be removed after @types/grecaptcha get updated\n const renderOptions = {\n badge: this.badge,\n callback: response => {\n this.zone.run(() => this.captchaResponseCallback(response));\n },\n \"expired-callback\": () => {\n this.zone.run(() => this.expired());\n },\n sitekey: this.siteKey,\n size: this.size,\n tabindex: this.tabIndex,\n theme: this.theme,\n type: this.type\n };\n if (this.errorMode === \"handled\") {\n renderOptions[\"error-callback\"] = (...args) => {\n this.zone.run(() => this.onError(args));\n };\n }\n this.widget = this.grecaptcha.render(this.elementRef.nativeElement, renderOptions);\n if (this.executeRequested === true) {\n this.executeRequested = false;\n this.execute();\n }\n }\n static {\n this.ɵfac = function RecaptchaComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || RecaptchaComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(RecaptchaLoaderService), i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(RECAPTCHA_SETTINGS, 8));\n };\n }\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: RecaptchaComponent,\n selectors: [[\"re-captcha\"]],\n hostVars: 1,\n hostBindings: function RecaptchaComponent_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵattribute(\"id\", ctx.id);\n }\n },\n inputs: {\n id: \"id\",\n siteKey: \"siteKey\",\n theme: \"theme\",\n type: \"type\",\n size: \"size\",\n tabIndex: \"tabIndex\",\n badge: \"badge\",\n errorMode: \"errorMode\"\n },\n outputs: {\n resolved: \"resolved\",\n error: \"error\",\n errored: \"errored\"\n },\n exportAs: [\"reCaptcha\"],\n standalone: false,\n decls: 0,\n vars: 0,\n template: function RecaptchaComponent_Template(rf, ctx) {},\n encapsulation: 2\n });\n }\n }\n return RecaptchaComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet RecaptchaCommonModule = /*#__PURE__*/(() => {\n class RecaptchaCommonModule {\n static {\n this.ɵfac = function RecaptchaCommonModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || RecaptchaCommonModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: RecaptchaCommonModule\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n }\n }\n return RecaptchaCommonModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet RecaptchaModule = /*#__PURE__*/(() => {\n class RecaptchaModule {\n static {\n this.ɵfac = function RecaptchaModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || RecaptchaModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: RecaptchaModule\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n providers: [RecaptchaLoaderService],\n imports: [RecaptchaCommonModule]\n });\n }\n }\n return RecaptchaModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * The main service for working with reCAPTCHA v3 APIs.\n *\n * Use the `execute` method for executing a single action, and\n * `onExecute` observable for listening to all actions at once.\n */\nlet ReCaptchaV3Service = /*#__PURE__*/(() => {\n class ReCaptchaV3Service {\n constructor(zone, recaptchaLoader, siteKey) {\n this.recaptchaLoader = recaptchaLoader;\n this.zone = zone;\n this.siteKey = siteKey;\n this.init();\n }\n get onExecute() {\n if (!this.onExecuteSubject) {\n this.onExecuteSubject = new Subject();\n this.onExecuteObservable = this.onExecuteSubject.asObservable();\n }\n return this.onExecuteObservable;\n }\n get onExecuteError() {\n if (!this.onExecuteErrorSubject) {\n this.onExecuteErrorSubject = new Subject();\n this.onExecuteErrorObservable = this.onExecuteErrorSubject.asObservable();\n }\n return this.onExecuteErrorObservable;\n }\n /**\n * Executes the provided `action` with reCAPTCHA v3 API.\n * Use the emitted token value for verification purposes on the backend.\n *\n * For more information about reCAPTCHA v3 actions and tokens refer to the official documentation at\n * https://developers.google.com/recaptcha/docs/v3.\n *\n * @param {string} action the action to execute\n * @returns {Observable} an `Observable` that will emit the reCAPTCHA v3 string `token` value whenever ready.\n * The returned `Observable` completes immediately after emitting a value.\n */\n execute(action) {\n const subject = new Subject();\n if (!this.grecaptcha) {\n if (!this.actionBacklog) {\n this.actionBacklog = [];\n }\n this.actionBacklog.push([action, subject]);\n } else {\n this.executeActionWithSubject(action, subject);\n }\n return subject.asObservable();\n }\n /** @internal */\n executeActionWithSubject(action, subject) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const onError = error => {\n this.zone.run(() => {\n subject.error(error);\n if (this.onExecuteErrorSubject) {\n // We don't know any better at this point, unfortunately, so have to resort to `any`\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n this.onExecuteErrorSubject.next({\n action,\n error\n });\n }\n });\n };\n this.zone.runOutsideAngular(() => {\n try {\n this.grecaptcha.execute(this.siteKey, {\n action\n }).then(token => {\n this.zone.run(() => {\n subject.next(token);\n subject.complete();\n if (this.onExecuteSubject) {\n this.onExecuteSubject.next({\n action,\n token\n });\n }\n });\n }, onError);\n } catch (e) {\n onError(e);\n }\n });\n }\n /** @internal */\n init() {\n this.recaptchaLoader.ready.subscribe(value => {\n this.grecaptcha = value;\n if (this.actionBacklog && this.actionBacklog.length > 0) {\n this.actionBacklog.forEach(([action, subject]) => this.executeActionWithSubject(action, subject));\n this.actionBacklog = undefined;\n }\n });\n }\n static {\n this.ɵfac = function ReCaptchaV3Service_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || ReCaptchaV3Service)(i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(RecaptchaLoaderService), i0.ɵɵinject(RECAPTCHA_V3_SITE_KEY));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: ReCaptchaV3Service,\n factory: ReCaptchaV3Service.ɵfac\n });\n }\n }\n return ReCaptchaV3Service;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet RecaptchaV3Module = /*#__PURE__*/(() => {\n class RecaptchaV3Module {\n static {\n this.ɵfac = function RecaptchaV3Module_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || RecaptchaV3Module)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: RecaptchaV3Module\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n providers: [ReCaptchaV3Service, RecaptchaLoaderService]\n });\n }\n }\n return RecaptchaV3Module;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet RecaptchaValueAccessorDirective = /*#__PURE__*/(() => {\n class RecaptchaValueAccessorDirective {\n constructor(host) {\n this.host = host;\n this.requiresControllerReset = false;\n }\n writeValue(value) {\n if (!value) {\n this.host.reset();\n } else {\n // In this case, it is most likely that a form controller has requested to write a specific value into the component.\n // This isn't really a supported case - reCAPTCHA values are single-use, and, in a sense, readonly.\n // What this means is that the form controller has recaptcha control state of X, while reCAPTCHA itself can't \"restore\"\n // to that state. In order to make form controller aware of this discrepancy, and to fix the said misalignment,\n // we'll be telling the controller to \"reset\" the value back to null.\n if (this.host.__unsafe_widgetValue !== value && Boolean(this.host.__unsafe_widgetValue) === false) {\n this.requiresControllerReset = true;\n }\n }\n }\n registerOnChange(fn) {\n this.onChange = fn;\n if (this.requiresControllerReset) {\n this.requiresControllerReset = false;\n this.onChange(null);\n }\n }\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n onResolve($event) {\n if (this.onChange) {\n this.onChange($event);\n }\n if (this.onTouched) {\n this.onTouched();\n }\n }\n static {\n this.ɵfac = function RecaptchaValueAccessorDirective_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || RecaptchaValueAccessorDirective)(i0.ɵɵdirectiveInject(RecaptchaComponent));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: RecaptchaValueAccessorDirective,\n selectors: [[\"re-captcha\", \"formControlName\", \"\"], [\"re-captcha\", \"formControl\", \"\"], [\"re-captcha\", \"ngModel\", \"\"]],\n hostBindings: function RecaptchaValueAccessorDirective_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"resolved\", function RecaptchaValueAccessorDirective_resolved_HostBindingHandler($event) {\n return ctx.onResolve($event);\n });\n }\n },\n standalone: false,\n features: [i0.ɵɵProvidersFeature([{\n multi: true,\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RecaptchaValueAccessorDirective)\n }])]\n });\n }\n }\n return RecaptchaValueAccessorDirective;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet RecaptchaFormsModule = /*#__PURE__*/(() => {\n class RecaptchaFormsModule {\n static {\n this.ɵfac = function RecaptchaFormsModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || RecaptchaFormsModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: RecaptchaFormsModule\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [FormsModule, RecaptchaCommonModule]\n });\n }\n }\n return RecaptchaFormsModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { RECAPTCHA_BASE_URL, RECAPTCHA_LANGUAGE, RECAPTCHA_LOADER_OPTIONS, RECAPTCHA_NONCE, RECAPTCHA_SETTINGS, RECAPTCHA_V3_SITE_KEY, ReCaptchaV3Service, RecaptchaComponent, RecaptchaFormsModule, RecaptchaLoaderService, RecaptchaModule, RecaptchaV3Module, RecaptchaValueAccessorDirective };\n","import { featureKey } from './../../store/shared.reducers';\r\nimport { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { IUnitPriceViewState } from './state';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const unitPricesView = createSelector(memberPortalState, (state) => state.unitPriceViewState);\r\n\r\nexport const unitPricesView_Model = createSelector(\r\n unitPricesView,\r\n (state: IUnitPriceViewState) => state.model\r\n);\r\n","import * as i0 from '@angular/core';\nimport { input, output, signal, viewChild, inject, NgZone, PLATFORM_ID, Component, ChangeDetectionStrategy, NgModule } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { asapScheduler } from 'rxjs';\nconst _c0 = [\"chart\"];\nlet ChartComponent = /*#__PURE__*/(() => {\n class ChartComponent {\n constructor() {\n this.chart = input();\n this.annotations = input();\n this.colors = input();\n this.dataLabels = input();\n this.series = input();\n this.stroke = input();\n this.labels = input();\n this.legend = input();\n this.markers = input();\n this.noData = input();\n this.fill = input();\n this.tooltip = input();\n this.plotOptions = input();\n this.responsive = input();\n this.xaxis = input();\n this.yaxis = input();\n this.forecastDataPoints = input();\n this.grid = input();\n this.states = input();\n this.title = input();\n this.subtitle = input();\n this.theme = input();\n this.autoUpdateSeries = input(true);\n this.chartReady = output();\n // If consumers need to capture the `chartInstance` for use, consumers\n // can access the component instance through `viewChild` and use `computed`\n // or `effect` on `component.chartInstance()` to monitor its changes and\n // recompute effects or computations whenever `chartInstance` is updated.\n this.chartInstance = signal(null);\n this.chartElement = viewChild.required(\"chart\");\n this.ngZone = inject(NgZone);\n this.isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n }\n ngOnChanges(changes) {\n if (!this.isBrowser) return;\n this.ngZone.runOutsideAngular(() => {\n asapScheduler.schedule(() => this.hydrate(changes));\n });\n }\n ngOnDestroy() {\n this.destroy();\n }\n hydrate(changes) {\n const shouldUpdateSeries = this.autoUpdateSeries() && Object.keys(changes).filter(c => c !== \"series\").length === 0;\n if (shouldUpdateSeries) {\n this.updateSeries(this.series(), true);\n return;\n }\n this.createElement();\n }\n async createElement() {\n const {\n default: ApexCharts\n } = await import('apexcharts');\n window.ApexCharts ||= ApexCharts;\n const options = {};\n const properties = [\"annotations\", \"chart\", \"colors\", \"dataLabels\", \"series\", \"stroke\", \"labels\", \"legend\", \"fill\", \"tooltip\", \"plotOptions\", \"responsive\", \"markers\", \"noData\", \"xaxis\", \"yaxis\", \"forecastDataPoints\", \"grid\", \"states\", \"title\", \"subtitle\", \"theme\"];\n properties.forEach(property => {\n const value = this[property]();\n if (value) {\n options[property] = value;\n }\n });\n this.destroy();\n const chartInstance = this.ngZone.runOutsideAngular(() => new ApexCharts(this.chartElement().nativeElement, options));\n this.chartInstance.set(chartInstance);\n this.render();\n this.chartReady.emit({\n chartObj: chartInstance\n });\n }\n render() {\n return this.ngZone.runOutsideAngular(() => this.chartInstance()?.render());\n }\n updateOptions(options, redrawPaths, animate, updateSyncedCharts) {\n return this.ngZone.runOutsideAngular(() => this.chartInstance()?.updateOptions(options, redrawPaths, animate, updateSyncedCharts));\n }\n updateSeries(newSeries, animate) {\n return this.ngZone.runOutsideAngular(() => this.chartInstance()?.updateSeries(newSeries, animate));\n }\n appendSeries(newSeries, animate) {\n this.ngZone.runOutsideAngular(() => this.chartInstance()?.appendSeries(newSeries, animate));\n }\n appendData(newData) {\n this.ngZone.runOutsideAngular(() => this.chartInstance()?.appendData(newData));\n }\n highlightSeries(seriesName) {\n return this.ngZone.runOutsideAngular(() => this.chartInstance()?.highlightSeries(seriesName));\n }\n toggleSeries(seriesName) {\n return this.ngZone.runOutsideAngular(() => this.chartInstance()?.toggleSeries(seriesName));\n }\n showSeries(seriesName) {\n this.ngZone.runOutsideAngular(() => this.chartInstance()?.showSeries(seriesName));\n }\n hideSeries(seriesName) {\n this.ngZone.runOutsideAngular(() => this.chartInstance()?.hideSeries(seriesName));\n }\n resetSeries() {\n this.ngZone.runOutsideAngular(() => this.chartInstance()?.resetSeries());\n }\n zoomX(min, max) {\n this.ngZone.runOutsideAngular(() => this.chartInstance()?.zoomX(min, max));\n }\n toggleDataPointSelection(seriesIndex, dataPointIndex) {\n this.ngZone.runOutsideAngular(() => this.chartInstance()?.toggleDataPointSelection(seriesIndex, dataPointIndex));\n }\n destroy() {\n this.chartInstance()?.destroy();\n this.chartInstance.set(null);\n }\n setLocale(localeName) {\n this.ngZone.runOutsideAngular(() => this.chartInstance()?.setLocale(localeName));\n }\n paper() {\n this.ngZone.runOutsideAngular(() => this.chartInstance()?.paper());\n }\n addXaxisAnnotation(options, pushToMemory, context) {\n this.ngZone.runOutsideAngular(() => this.chartInstance()?.addXaxisAnnotation(options, pushToMemory, context));\n }\n addYaxisAnnotation(options, pushToMemory, context) {\n this.ngZone.runOutsideAngular(() => this.chartInstance()?.addYaxisAnnotation(options, pushToMemory, context));\n }\n addPointAnnotation(options, pushToMemory, context) {\n this.ngZone.runOutsideAngular(() => this.chartInstance()?.addPointAnnotation(options, pushToMemory, context));\n }\n removeAnnotation(id, options) {\n this.ngZone.runOutsideAngular(() => this.chartInstance()?.removeAnnotation(id, options));\n }\n clearAnnotations(options) {\n this.ngZone.runOutsideAngular(() => this.chartInstance()?.clearAnnotations(options));\n }\n dataURI(options) {\n return this.chartInstance()?.dataURI(options);\n }\n /** @nocollapse */\n static {\n this.ɵfac = function ChartComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || ChartComponent)();\n };\n }\n /** @nocollapse */\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: ChartComponent,\n selectors: [[\"apx-chart\"]],\n viewQuery: function ChartComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuerySignal(ctx.chartElement, _c0, 5);\n }\n if (rf & 2) {\n i0.ɵɵqueryAdvance();\n }\n },\n inputs: {\n chart: [1, \"chart\"],\n annotations: [1, \"annotations\"],\n colors: [1, \"colors\"],\n dataLabels: [1, \"dataLabels\"],\n series: [1, \"series\"],\n stroke: [1, \"stroke\"],\n labels: [1, \"labels\"],\n legend: [1, \"legend\"],\n markers: [1, \"markers\"],\n noData: [1, \"noData\"],\n fill: [1, \"fill\"],\n tooltip: [1, \"tooltip\"],\n plotOptions: [1, \"plotOptions\"],\n responsive: [1, \"responsive\"],\n xaxis: [1, \"xaxis\"],\n yaxis: [1, \"yaxis\"],\n forecastDataPoints: [1, \"forecastDataPoints\"],\n grid: [1, \"grid\"],\n states: [1, \"states\"],\n title: [1, \"title\"],\n subtitle: [1, \"subtitle\"],\n theme: [1, \"theme\"],\n autoUpdateSeries: [1, \"autoUpdateSeries\"]\n },\n outputs: {\n chartReady: \"chartReady\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n decls: 2,\n vars: 0,\n consts: [[\"chart\", \"\"]],\n template: function ChartComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"div\", null, 0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n });\n }\n }\n return ChartComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst declarations = [ChartComponent];\nlet NgApexchartsModule = /*#__PURE__*/(() => {\n class NgApexchartsModule {\n /** @nocollapse */static {\n this.ɵfac = function NgApexchartsModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || NgApexchartsModule)();\n };\n }\n /** @nocollapse */\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: NgApexchartsModule\n });\n }\n /** @nocollapse */\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n }\n }\n return NgApexchartsModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/*\n * Public API Surface of ng-apexcharts\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { ChartComponent, NgApexchartsModule };\n","import { unitPricesView_Model } from './selectors';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { RequestAction } from './actions';\r\nimport { ComponentBase } from '../../../../views/component-base';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { memberAccountDropdown_SelectedAccount } from '../member-account-dropdown/selectors';\r\nimport {\r\n ChartComponent,\r\n ApexAxisChartSeries,\r\n ApexChart,\r\n ApexXAxis,\r\n ApexDataLabels,\r\n ApexTitleSubtitle,\r\n ApexStroke,\r\n ApexGrid,\r\n ApexTooltip,\r\n ApexYAxis,\r\n NgApexchartsModule,\r\n} from 'ng-apexcharts';\r\nimport { Helper } from '@ifaa-components/ui-components';\r\nimport { DatePipe, CurrencyPipe, NgFor, AsyncPipe } from '@angular/common';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\n\r\nexport type ChartOptions = {\r\n series: ApexAxisChartSeries;\r\n chart: ApexChart;\r\n xaxis: ApexXAxis;\r\n yaxis: ApexYAxis;\r\n dataLabels: ApexDataLabels;\r\n grid: ApexGrid;\r\n stroke: ApexStroke;\r\n title: ApexTitleSubtitle;\r\n tooltip: ApexTooltip;\r\n};\r\n\r\n@Component({\r\n selector: 'app-unit-prices-view',\r\n templateUrl: './unit-prices-view.component.html',\r\n styleUrls: ['./unit-prices-view.component.scss'],\r\n imports: [\r\n TranslatePipe,\r\n ChartComponent,\r\n NgApexchartsModule,\r\n DatePipe,\r\n CurrencyPipe,\r\n NgFor,\r\n AsyncPipe,\r\n ],\r\n})\r\nexport class UnitPricesViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n helper = new Helper();\r\n model$ = this.store.pipe(select(unitPricesView_Model));\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n @ViewChild('chart2') chart: ChartComponent;\r\n\r\n public chartOptions: Partial;\r\n\r\n constructor(public store: Store) {\r\n super();\r\n this.chartOptions = {\r\n tooltip: {\r\n enabled: true,\r\n },\r\n series: [\r\n {\r\n name: 'Unit price',\r\n data: [],\r\n },\r\n ],\r\n\r\n chart: {\r\n height: 350,\r\n type: 'area',\r\n zoom: {\r\n enabled: false,\r\n },\r\n },\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n stroke: {\r\n curve: 'straight',\r\n },\r\n title: {\r\n text: '',\r\n align: 'left',\r\n },\r\n grid: {\r\n row: {\r\n colors: ['#f3f3f3', 'transparent'], // takes an array which will be repeated on columns\r\n opacity: 0.1,\r\n },\r\n },\r\n yaxis: {\r\n labels: {\r\n formatter: function (value) {\r\n return '$' + value;\r\n },\r\n },\r\n },\r\n xaxis: {\r\n type: 'datetime',\r\n },\r\n };\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.sub = this.selectedAccount$.subscribe((x) => {\r\n if (x) {\r\n this.dispatch(this.store, RequestAction({ accountId: x.accountId }));\r\n }\r\n });\r\n\r\n this.sub = this.model$.subscribe((x) => {\r\n if (x && this.chart) {\r\n this.chart.updateSeries([\r\n {\r\n data: x.data,\r\n },\r\n ]);\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n\r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
DateUnit Price
{{data.x | date:'dd/MM/yyyy'}}{{data.y | currency}}
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { ComponentBase } from '../../views/component-base';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { AppToolbarOptionsComponent } from '@ifaa-components/ui-components';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { UnitPricesViewComponent } from 'src/app/modules/shared/components/unit-prices-view/unit-prices-view.component';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { TextTransformPipe } from 'src/app/modules/shared/pipes/textTransform';\r\n\r\n@Component({\r\n selector: 'app-unit-prices',\r\n templateUrl: './unit-prices.component.html',\r\n styleUrls: ['./unit-prices.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n UnitPricesViewComponent,\r\n AppComponentWrapperComponent,\r\n AppToolbarOptionsComponent,\r\n TextTransformPipe,\r\n AnimateCssDirective,\r\n ],\r\n})\r\nexport class UnitPricesComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n constructor(public store: Store) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
{{'Unit Prices' | textTransform}}
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { ComponentBase } from '../../views/component-base';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { AppToolbarOptionsComponent } from '@ifaa-components/ui-components';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\n\r\n@Component({\r\n selector: 'app-transactions',\r\n templateUrl: './transactions.component.html',\r\n styleUrls: ['./transactions.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [AppToolbarOptionsComponent, AnimateCssDirective],\r\n})\r\nexport class TransactionsComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n constructor(public store: Store) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
Account Transactions
\r\n
\r\n
\r\n\r\n
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n Henrique Testing
\r\n
\r\n
\r\n","import { Router, RouterOutlet } from '@angular/router';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Store } from '@ngrx/store';\r\nimport { Component } from '@angular/core';\r\nimport { ComponentBase } from '../../../../views/component-base';\r\nimport { UIComponentState } from '@ifaa-components/ui-components/lib/store/app.states';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { Meta } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'login-master',\r\n templateUrl: './not-loggedin.master.html',\r\n styleUrls: ['./not-loggedin.master.scss'],\r\n imports: [RouterOutlet],\r\n})\r\nexport class NotLoggedInMasterComponent extends ComponentBase {\r\n constructor(\r\n public store: Store,\r\n private titleService: Title,\r\n public dialog: MatDialog,\r\n private meta: Meta,\r\n private router: Router\r\n ) {\r\n super();\r\n this.titleService.setTitle('Verve Super – Member Portal');\r\n this.meta.addTag({\r\n name: 'description',\r\n content:\r\n 'Verve Super Member Portal. Log in to access your super account details, super balance and change your details.',\r\n });\r\n this.meta.addTag({\r\n name: 'keywords',\r\n content: 'Verve Super, Verve Super Member Portal, Verve Super Login',\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { createEffect } from '@ngrx/effects';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class MainLayoutEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n //private service: MembersService\r\n ) {\r\n }\r\n\r\n // searchRequest$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ActionsList.MainSearchRequestAction),\r\n // switchMap((action: any) => this.service.get(action.search, action.page).pipe(\r\n // map((data: any) => {\r\n // return ActionsList.MainSearchResponseAction({ payload: data.members });\r\n // }),\r\n // catchError(err => {\r\n // return EMPTY;\r\n // })\r\n // )),\r\n // ));\r\n\r\n}\r\n","import * as i0 from '@angular/core';\nimport { EventEmitter, Component, Output, Input, NgModule } from '@angular/core';\nimport * as i1 from '@angular/common';\nimport { DOCUMENT, CommonModule } from '@angular/common';\nimport { timer } from 'rxjs';\nfunction CircleProgressComponent__svg_svg_0__svg_linearGradient_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"linearGradient\");\n i0.ɵɵelement(1, \"stop\", 5)(2, \"stop\", 6);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵattribute(\"id\", ctx_r1.svg.outerLinearGradient.id);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"stop-color\", ctx_r1.svg.outerLinearGradient.colorStop1)(\"stop-opacity\", 1);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"stop-color\", ctx_r1.svg.outerLinearGradient.colorStop2)(\"stop-opacity\", 1);\n }\n}\nfunction CircleProgressComponent__svg_svg_0__svg_radialGradient_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"radialGradient\");\n i0.ɵɵelement(1, \"stop\", 5)(2, \"stop\", 6);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵattribute(\"id\", ctx_r1.svg.radialGradient.id);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"stop-color\", ctx_r1.svg.radialGradient.colorStop1)(\"stop-opacity\", 1);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"stop-color\", ctx_r1.svg.radialGradient.colorStop2)(\"stop-opacity\", 1);\n }\n}\nfunction CircleProgressComponent__svg_svg_0__svg_ng_container_4__svg_circle_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelement(0, \"circle\");\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵattribute(\"cx\", ctx_r1.svg.backgroundCircle.cx)(\"cy\", ctx_r1.svg.backgroundCircle.cy)(\"r\", ctx_r1.svg.backgroundCircle.r)(\"fill\", ctx_r1.svg.backgroundCircle.fill)(\"fill-opacity\", ctx_r1.svg.backgroundCircle.fillOpacity)(\"stroke\", ctx_r1.svg.backgroundCircle.stroke)(\"stroke-width\", ctx_r1.svg.backgroundCircle.strokeWidth);\n }\n}\nfunction CircleProgressComponent__svg_svg_0__svg_ng_container_4__svg_circle_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelement(0, \"circle\");\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵattributeInterpolate2(\"fill\", \"url(\", ctx_r1.window.location.href, \"#\", ctx_r1.svg.radialGradient.id, \")\");\n i0.ɵɵattribute(\"cx\", ctx_r1.svg.backgroundCircle.cx)(\"cy\", ctx_r1.svg.backgroundCircle.cy)(\"r\", ctx_r1.svg.backgroundCircle.r)(\"fill-opacity\", ctx_r1.svg.backgroundCircle.fillOpacity)(\"stroke\", ctx_r1.svg.backgroundCircle.stroke)(\"stroke-width\", ctx_r1.svg.backgroundCircle.strokeWidth);\n }\n}\nfunction CircleProgressComponent__svg_svg_0__svg_ng_container_4_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, CircleProgressComponent__svg_svg_0__svg_ng_container_4__svg_circle_1_Template, 1, 7, \"circle\", 2)(2, CircleProgressComponent__svg_svg_0__svg_ng_container_4__svg_circle_2_Template, 1, 9, \"circle\", 2);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx_r1.options.backgroundGradient);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.options.backgroundGradient);\n }\n}\nfunction CircleProgressComponent__svg_svg_0__svg_circle_5_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelement(0, \"circle\");\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵattribute(\"cx\", ctx_r1.svg.circle.cx)(\"cy\", ctx_r1.svg.circle.cy)(\"r\", ctx_r1.svg.circle.r)(\"fill\", ctx_r1.svg.circle.fill)(\"stroke\", ctx_r1.svg.circle.stroke)(\"stroke-width\", ctx_r1.svg.circle.strokeWidth);\n }\n}\nfunction CircleProgressComponent__svg_svg_0__svg_ng_container_6__svg_path_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelement(0, \"path\");\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵattribute(\"d\", ctx_r1.svg.path.d)(\"stroke\", ctx_r1.svg.path.stroke)(\"stroke-width\", ctx_r1.svg.path.strokeWidth)(\"stroke-linecap\", ctx_r1.svg.path.strokeLinecap)(\"fill\", ctx_r1.svg.path.fill);\n }\n}\nfunction CircleProgressComponent__svg_svg_0__svg_ng_container_6__svg_path_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelement(0, \"path\");\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵattributeInterpolate2(\"stroke\", \"url(\", ctx_r1.window.location.href, \"#\", ctx_r1.svg.outerLinearGradient.id, \")\");\n i0.ɵɵattribute(\"d\", ctx_r1.svg.path.d)(\"stroke-width\", ctx_r1.svg.path.strokeWidth)(\"stroke-linecap\", ctx_r1.svg.path.strokeLinecap)(\"fill\", ctx_r1.svg.path.fill);\n }\n}\nfunction CircleProgressComponent__svg_svg_0__svg_ng_container_6_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, CircleProgressComponent__svg_svg_0__svg_ng_container_6__svg_path_1_Template, 1, 5, \"path\", 2)(2, CircleProgressComponent__svg_svg_0__svg_ng_container_6__svg_path_2_Template, 1, 7, \"path\", 2);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx_r1.options.outerStrokeGradient);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.options.outerStrokeGradient);\n }\n}\nfunction CircleProgressComponent__svg_svg_0__svg_text_7__svg_ng_container_1__svg_tspan_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"tspan\");\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const tspan_r3 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(4);\n i0.ɵɵattribute(\"x\", ctx_r1.svg.title.x)(\"y\", ctx_r1.svg.title.y)(\"dy\", tspan_r3.dy)(\"font-size\", ctx_r1.svg.title.fontSize)(\"font-weight\", ctx_r1.svg.title.fontWeight)(\"fill\", ctx_r1.svg.title.color);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate(tspan_r3.span);\n }\n}\nfunction CircleProgressComponent__svg_svg_0__svg_text_7__svg_ng_container_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, CircleProgressComponent__svg_svg_0__svg_text_7__svg_ng_container_1__svg_tspan_1_Template, 2, 7, \"tspan\", 8);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.svg.title.tspans);\n }\n}\nfunction CircleProgressComponent__svg_svg_0__svg_text_7__svg_tspan_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"tspan\");\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵattribute(\"font-size\", ctx_r1.svg.units.fontSize)(\"font-weight\", ctx_r1.svg.units.fontWeight)(\"fill\", ctx_r1.svg.units.color);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate(ctx_r1.svg.units.text);\n }\n}\nfunction CircleProgressComponent__svg_svg_0__svg_text_7__svg_ng_container_3__svg_tspan_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"tspan\");\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const tspan_r4 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(4);\n i0.ɵɵattribute(\"x\", ctx_r1.svg.subtitle.x)(\"y\", ctx_r1.svg.subtitle.y)(\"dy\", tspan_r4.dy)(\"font-size\", ctx_r1.svg.subtitle.fontSize)(\"font-weight\", ctx_r1.svg.subtitle.fontWeight)(\"fill\", ctx_r1.svg.subtitle.color);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate(tspan_r4.span);\n }\n}\nfunction CircleProgressComponent__svg_svg_0__svg_text_7__svg_ng_container_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, CircleProgressComponent__svg_svg_0__svg_text_7__svg_ng_container_3__svg_tspan_1_Template, 2, 7, \"tspan\", 8);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.svg.subtitle.tspans);\n }\n}\nfunction CircleProgressComponent__svg_svg_0__svg_text_7_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"text\", 7);\n i0.ɵɵtemplate(1, CircleProgressComponent__svg_svg_0__svg_text_7__svg_ng_container_1_Template, 2, 1, \"ng-container\", 2)(2, CircleProgressComponent__svg_svg_0__svg_text_7__svg_tspan_2_Template, 2, 4, \"tspan\", 2)(3, CircleProgressComponent__svg_svg_0__svg_text_7__svg_ng_container_3_Template, 2, 1, \"ng-container\", 2);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵattribute(\"x\", ctx_r1.svg.circle.cx)(\"y\", ctx_r1.svg.circle.cy)(\"text-anchor\", ctx_r1.svg.title.textAnchor);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.options.showTitle);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.options.showUnits);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.options.showSubtitle);\n }\n}\nfunction CircleProgressComponent__svg_svg_0__svg_image_8_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelement(0, \"image\", 9);\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵattribute(\"height\", ctx_r1.svg.image.height)(\"width\", ctx_r1.svg.image.width)(\"href\", ctx_r1.svg.image.src, null, \"xlink\")(\"x\", ctx_r1.svg.image.x)(\"y\", ctx_r1.svg.image.y);\n }\n}\nfunction CircleProgressComponent__svg_svg_0_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"svg\", 1);\n i0.ɵɵlistener(\"click\", function CircleProgressComponent__svg_svg_0_Template_svg_click_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.emitClickEvent($event));\n });\n i0.ɵɵelementStart(1, \"defs\");\n i0.ɵɵtemplate(2, CircleProgressComponent__svg_svg_0__svg_linearGradient_2_Template, 3, 5, \"linearGradient\", 2)(3, CircleProgressComponent__svg_svg_0__svg_radialGradient_3_Template, 3, 5, \"radialGradient\", 2);\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(4, CircleProgressComponent__svg_svg_0__svg_ng_container_4_Template, 3, 2, \"ng-container\", 2)(5, CircleProgressComponent__svg_svg_0__svg_circle_5_Template, 1, 6, \"circle\", 2)(6, CircleProgressComponent__svg_svg_0__svg_ng_container_6_Template, 3, 2, \"ng-container\", 2)(7, CircleProgressComponent__svg_svg_0__svg_text_7_Template, 4, 6, \"text\", 3)(8, CircleProgressComponent__svg_svg_0__svg_image_8_Template, 1, 5, \"image\", 4);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵattribute(\"viewBox\", ctx_r1.svg.viewBox)(\"height\", ctx_r1.svg.height)(\"width\", ctx_r1.svg.width)(\"class\", ctx_r1.options.class);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngIf\", ctx_r1.options.outerStrokeGradient);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.options.backgroundGradient);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.options.showBackground);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.options.showInnerStroke);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", +ctx_r1.options.percent !== 0 || ctx_r1.options.showZeroOuterStroke);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx_r1.options.showImage && (ctx_r1.options.showTitle || ctx_r1.options.showUnits || ctx_r1.options.showSubtitle));\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.options.showImage);\n }\n}\nclass CircleProgressOptions {\n constructor() {\n this.class = '';\n this.backgroundGradient = false;\n this.backgroundColor = 'transparent';\n this.backgroundGradientStopColor = 'transparent';\n this.backgroundOpacity = 1;\n this.backgroundStroke = 'transparent';\n this.backgroundStrokeWidth = 0;\n this.backgroundPadding = 5;\n this.percent = 0;\n this.radius = 90;\n this.space = 4;\n this.toFixed = 0;\n this.maxPercent = 1000;\n this.renderOnClick = true;\n this.units = '%';\n this.unitsFontSize = '10';\n this.unitsFontWeight = 'normal';\n this.unitsColor = '#444444';\n this.outerStrokeGradient = false;\n this.outerStrokeWidth = 8;\n this.outerStrokeColor = '#78C000';\n this.outerStrokeGradientStopColor = 'transparent';\n this.outerStrokeLinecap = 'round';\n this.innerStrokeColor = '#C7E596';\n this.innerStrokeWidth = 4;\n this.titleFormat = undefined;\n this.title = 'auto';\n this.titleColor = '#444444';\n this.titleFontSize = '20';\n this.titleFontWeight = 'normal';\n this.subtitleFormat = undefined;\n this.subtitle = 'progress';\n this.subtitleColor = '#A9A9A9';\n this.subtitleFontSize = '10';\n this.subtitleFontWeight = 'normal';\n this.imageSrc = undefined;\n this.imageHeight = 0;\n this.imageWidth = 0;\n this.animation = true;\n this.animateTitle = true;\n this.animateSubtitle = false;\n this.animationDuration = 500;\n this.showTitle = true;\n this.showSubtitle = true;\n this.showUnits = true;\n this.showImage = false;\n this.showBackground = true;\n this.showInnerStroke = true;\n this.clockwise = true;\n this.responsive = false;\n this.startFromZero = true;\n this.showZeroOuterStroke = true;\n this.lazy = false;\n }\n}\nlet CircleProgressComponent = /*#__PURE__*/(() => {\n class CircleProgressComponent {\n constructor(defaultOptions, ngZone, elRef, injector) {\n this.ngZone = ngZone;\n this.elRef = elRef;\n this.onClick = new EventEmitter();\n // of component\n this.svgElement = null;\n // whether is in viewport\n this.isInViewport = false;\n // event for notifying viewport change caused by scrolling or resizing\n this.onViewportChanged = new EventEmitter();\n this._viewportChangedSubscriber = null;\n this.options = new CircleProgressOptions();\n this.defaultOptions = new CircleProgressOptions();\n this._lastPercent = 0;\n this._gradientUUID = null;\n this.render = () => {\n this.applyOptions();\n if (this.options.lazy) {\n // Draw svg if it doesn't exist\n this.svgElement === null && this.draw(this._lastPercent);\n // Draw it only when it's in the viewport\n if (this.isInViewport) {\n // Draw it at the latest position when I am in.\n if (this.options.animation && this.options.animationDuration > 0) {\n this.animate(this._lastPercent, this.options.percent);\n } else {\n this.draw(this.options.percent);\n }\n this._lastPercent = this.options.percent;\n }\n } else {\n if (this.options.animation && this.options.animationDuration > 0) {\n this.animate(this._lastPercent, this.options.percent);\n } else {\n this.draw(this.options.percent);\n }\n this._lastPercent = this.options.percent;\n }\n };\n this.polarToCartesian = (centerX, centerY, radius, angleInDegrees) => {\n let angleInRadius = angleInDegrees * Math.PI / 180;\n let x = centerX + Math.sin(angleInRadius) * radius;\n let y = centerY - Math.cos(angleInRadius) * radius;\n return {\n x: x,\n y: y\n };\n };\n this.draw = percent => {\n // make percent reasonable\n percent = percent === undefined ? this.options.percent : Math.abs(percent);\n // circle percent shouldn't be greater than 100%.\n let circlePercent = percent > 100 ? 100 : percent;\n // determine box size\n let boxSize = this.options.radius * 2 + this.options.outerStrokeWidth * 2;\n if (this.options.showBackground) {\n boxSize += this.options.backgroundStrokeWidth * 2 + this.max(0, this.options.backgroundPadding * 2);\n }\n // the centre of the circle\n let centre = {\n x: boxSize / 2,\n y: boxSize / 2\n };\n // the start point of the arc\n let startPoint = {\n x: centre.x,\n y: centre.y - this.options.radius\n };\n // get the end point of the arc\n let endPoint = this.polarToCartesian(centre.x, centre.y, this.options.radius, 360 * (this.options.clockwise ? circlePercent : 100 - circlePercent) / 100); // ####################\n // We'll get an end point with the same [x, y] as the start point when percent is 100%, so move x a little bit.\n if (circlePercent === 100) {\n endPoint.x = endPoint.x + (this.options.clockwise ? -0.01 : +0.01);\n }\n // largeArcFlag and sweepFlag\n let largeArcFlag, sweepFlag;\n if (circlePercent > 50) {\n [largeArcFlag, sweepFlag] = this.options.clockwise ? [1, 1] : [1, 0];\n } else {\n [largeArcFlag, sweepFlag] = this.options.clockwise ? [0, 1] : [0, 0];\n }\n // percent may not equal the actual percent\n let titlePercent = this.options.animateTitle ? percent : this.options.percent;\n let titleTextPercent = titlePercent > this.options.maxPercent ? `${this.options.maxPercent.toFixed(this.options.toFixed)}+` : titlePercent.toFixed(this.options.toFixed);\n let subtitlePercent = this.options.animateSubtitle ? percent : this.options.percent;\n // get title object\n let title = {\n x: centre.x,\n y: centre.y,\n textAnchor: 'middle',\n color: this.options.titleColor,\n fontSize: this.options.titleFontSize,\n fontWeight: this.options.titleFontWeight,\n texts: [],\n tspans: []\n };\n // from v0.9.9, both title and titleFormat(...) may be an array of string.\n if (this.options.titleFormat !== undefined && this.options.titleFormat.constructor.name === 'Function') {\n let formatted = this.options.titleFormat(titlePercent);\n if (formatted instanceof Array) {\n title.texts = [...formatted];\n } else {\n title.texts.push(formatted.toString());\n }\n } else {\n if (this.options.title === 'auto') {\n title.texts.push(titleTextPercent);\n } else {\n if (this.options.title instanceof Array) {\n title.texts = [...this.options.title];\n } else {\n title.texts.push(this.options.title.toString());\n }\n }\n }\n // get subtitle object\n let subtitle = {\n x: centre.x,\n y: centre.y,\n textAnchor: 'middle',\n color: this.options.subtitleColor,\n fontSize: this.options.subtitleFontSize,\n fontWeight: this.options.subtitleFontWeight,\n texts: [],\n tspans: []\n };\n // from v0.9.9, both subtitle and subtitleFormat(...) may be an array of string.\n if (this.options.subtitleFormat !== undefined && this.options.subtitleFormat.constructor.name === 'Function') {\n let formatted = this.options.subtitleFormat(subtitlePercent);\n if (formatted instanceof Array) {\n subtitle.texts = [...formatted];\n } else {\n subtitle.texts.push(formatted.toString());\n }\n } else {\n if (this.options.subtitle instanceof Array) {\n subtitle.texts = [...this.options.subtitle];\n } else {\n subtitle.texts.push(this.options.subtitle.toString());\n }\n }\n // get units object\n let units = {\n text: `${this.options.units}`,\n fontSize: this.options.unitsFontSize,\n fontWeight: this.options.unitsFontWeight,\n color: this.options.unitsColor\n };\n // get total count of text lines to be shown\n let rowCount = 0,\n rowNum = 1;\n this.options.showTitle && (rowCount += title.texts.length);\n this.options.showSubtitle && (rowCount += subtitle.texts.length);\n // calc dy for each tspan for title\n if (this.options.showTitle) {\n for (let span of title.texts) {\n title.tspans.push({\n span: span,\n dy: this.getRelativeY(rowNum, rowCount)\n });\n rowNum++;\n }\n }\n // calc dy for each tspan for subtitle\n if (this.options.showSubtitle) {\n for (let span of subtitle.texts) {\n subtitle.tspans.push({\n span: span,\n dy: this.getRelativeY(rowNum, rowCount)\n });\n rowNum++;\n }\n }\n // create ID for gradient element\n if (null === this._gradientUUID) {\n this._gradientUUID = this.uuid();\n }\n // Bring it all together\n this.svg = {\n viewBox: `0 0 ${boxSize} ${boxSize}`,\n // Set both width and height to '100%' if it's responsive\n width: this.options.responsive ? '100%' : boxSize,\n height: this.options.responsive ? '100%' : boxSize,\n backgroundCircle: {\n cx: centre.x,\n cy: centre.y,\n r: this.options.radius + this.options.outerStrokeWidth / 2 + this.options.backgroundPadding,\n fill: this.options.backgroundColor,\n fillOpacity: this.options.backgroundOpacity,\n stroke: this.options.backgroundStroke,\n strokeWidth: this.options.backgroundStrokeWidth\n },\n path: {\n // A rx ry x-axis-rotation large-arc-flag sweep-flag x y (https://developer.mozilla.org/en/docs/Web/SVG/Tutorial/Paths#Arcs)\n d: `M ${startPoint.x} ${startPoint.y}\n A ${this.options.radius} ${this.options.radius} 0 ${largeArcFlag} ${sweepFlag} ${endPoint.x} ${endPoint.y}`,\n stroke: this.options.outerStrokeColor,\n strokeWidth: this.options.outerStrokeWidth,\n strokeLinecap: this.options.outerStrokeLinecap,\n fill: 'none'\n },\n circle: {\n cx: centre.x,\n cy: centre.y,\n r: this.options.radius - this.options.space - this.options.outerStrokeWidth / 2 - this.options.innerStrokeWidth / 2,\n fill: 'none',\n stroke: this.options.innerStrokeColor,\n strokeWidth: this.options.innerStrokeWidth\n },\n title: title,\n units: units,\n subtitle: subtitle,\n image: {\n x: centre.x - this.options.imageWidth / 2,\n y: centre.y - this.options.imageHeight / 2,\n src: this.options.imageSrc,\n width: this.options.imageWidth,\n height: this.options.imageHeight\n },\n outerLinearGradient: {\n id: 'outer-linear-' + this._gradientUUID,\n colorStop1: this.options.outerStrokeColor,\n colorStop2: this.options.outerStrokeGradientStopColor === 'transparent' ? '#FFF' : this.options.outerStrokeGradientStopColor\n },\n radialGradient: {\n id: 'radial-' + this._gradientUUID,\n colorStop1: this.options.backgroundColor,\n colorStop2: this.options.backgroundGradientStopColor === 'transparent' ? '#FFF' : this.options.backgroundGradientStopColor\n }\n };\n };\n this.getAnimationParameters = (previousPercent, currentPercent) => {\n const MIN_INTERVAL = 10;\n let times, step, interval;\n let fromPercent = this.options.startFromZero ? 0 : previousPercent < 0 ? 0 : previousPercent;\n let toPercent = currentPercent < 0 ? 0 : this.min(currentPercent, this.options.maxPercent);\n let delta = Math.abs(Math.round(toPercent - fromPercent));\n if (delta >= 100) {\n // we will finish animation in 100 times\n times = 100;\n if (!this.options.animateTitle && !this.options.animateSubtitle) {\n step = 1;\n } else {\n // show title or subtitle animation even if the arc is full, we also need to finish it in 100 times.\n step = Math.round(delta / times);\n }\n } else {\n // we will finish in as many times as the number of percent.\n times = delta;\n step = 1;\n }\n // Get the interval of timer\n interval = Math.round(this.options.animationDuration / times);\n // Readjust all values if the interval of timer is extremely small.\n if (interval < MIN_INTERVAL) {\n interval = MIN_INTERVAL;\n times = this.options.animationDuration / interval;\n if (!this.options.animateTitle && !this.options.animateSubtitle && delta > 100) {\n step = Math.round(100 / times);\n } else {\n step = Math.round(delta / times);\n }\n }\n // step must be greater than 0.\n if (step < 1) {\n step = 1;\n }\n return {\n times: times,\n step: step,\n interval: interval\n };\n };\n this.animate = (previousPercent, currentPercent) => {\n if (this._timerSubscription && !this._timerSubscription.closed) {\n this._timerSubscription.unsubscribe();\n }\n let fromPercent = this.options.startFromZero ? 0 : previousPercent;\n let toPercent = currentPercent;\n let {\n step: step,\n interval: interval\n } = this.getAnimationParameters(fromPercent, toPercent);\n let count = fromPercent;\n if (fromPercent < toPercent) {\n this._timerSubscription = timer(0, interval).subscribe(() => {\n count += step;\n if (count <= toPercent) {\n if (!this.options.animateTitle && !this.options.animateSubtitle && count >= 100) {\n this.draw(toPercent);\n this._timerSubscription.unsubscribe();\n } else {\n this.draw(count);\n }\n } else {\n this.draw(toPercent);\n this._timerSubscription.unsubscribe();\n }\n });\n } else {\n this._timerSubscription = timer(0, interval).subscribe(() => {\n count -= step;\n if (count >= toPercent) {\n if (!this.options.animateTitle && !this.options.animateSubtitle && toPercent >= 100) {\n this.draw(toPercent);\n this._timerSubscription.unsubscribe();\n } else {\n this.draw(count);\n }\n } else {\n this.draw(toPercent);\n this._timerSubscription.unsubscribe();\n }\n });\n }\n };\n this.applyOptions = () => {\n // the options of may change already\n for (let name of Object.keys(this.options)) {\n if (this.hasOwnProperty(name) && this[name] !== undefined) {\n this.options[name] = this[name];\n } else if (this.templateOptions && this.templateOptions[name] !== undefined) {\n this.options[name] = this.templateOptions[name];\n }\n }\n // make sure key options valid\n this.options.radius = Math.abs(+this.options.radius);\n this.options.space = +this.options.space;\n this.options.percent = +this.options.percent > 0 ? +this.options.percent : 0;\n this.options.maxPercent = Math.abs(+this.options.maxPercent);\n this.options.animationDuration = Math.abs(this.options.animationDuration);\n this.options.outerStrokeWidth = Math.abs(+this.options.outerStrokeWidth);\n this.options.innerStrokeWidth = Math.abs(+this.options.innerStrokeWidth);\n this.options.backgroundPadding = +this.options.backgroundPadding;\n };\n this.getRelativeY = (rowNum, rowCount) => {\n // why '-0.18em'? It's a magic number when property 'alignment-baseline' equals 'baseline'. :)\n let initialOffset = -0.18,\n offset = 1;\n return (initialOffset + offset * (rowNum - rowCount / 2)).toFixed(2) + 'em';\n };\n this.min = (a, b) => {\n return a < b ? a : b;\n };\n this.max = (a, b) => {\n return a > b ? a : b;\n };\n this.uuid = () => {\n // https://www.w3resource.com/javascript-exercises/javascript-math-exercise-23.php\n var dt = new Date().getTime();\n var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n var r = (dt + Math.random() * 16) % 16 | 0;\n dt = Math.floor(dt / 16);\n return (c == 'x' ? r : r & 0x3 | 0x8).toString(16);\n });\n return uuid;\n };\n this.checkViewport = () => {\n this.findSvgElement();\n let previousValue = this.isInViewport;\n this.isInViewport = this.isElementInViewport(this.svgElement);\n if (previousValue !== this.isInViewport && this.onViewportChanged.observers.length > 0) {\n this.ngZone.run(() => {\n this.onViewportChanged.emit({\n oldValue: previousValue,\n newValue: this.isInViewport\n });\n });\n }\n };\n this.onScroll = event => {\n this.checkViewport();\n };\n this.loadEventsForLazyMode = () => {\n if (this.options.lazy) {\n this.ngZone.runOutsideAngular(() => {\n this.document.addEventListener('scroll', this.onScroll, true);\n this.window.addEventListener('resize', this.onScroll, true);\n });\n if (this._viewportChangedSubscriber === null) {\n this._viewportChangedSubscriber = this.onViewportChanged.subscribe(({\n oldValue,\n newValue\n }) => {\n newValue ? this.render() : null;\n });\n }\n // svgElement must be created in DOM before being checked.\n // Is there a better way to check the existence of svgElemnt?\n let _timer = timer(0, 50).subscribe(() => {\n this.svgElement === null ? this.checkViewport() : _timer.unsubscribe();\n });\n }\n };\n this.unloadEventsForLazyMode = () => {\n // Remove event listeners\n this.document.removeEventListener('scroll', this.onScroll, true);\n this.window.removeEventListener('resize', this.onScroll, true);\n // Unsubscribe onViewportChanged\n if (this._viewportChangedSubscriber !== null) {\n this._viewportChangedSubscriber.unsubscribe();\n this._viewportChangedSubscriber = null;\n }\n };\n this.document = injector.get(DOCUMENT);\n this.window = this.document.defaultView;\n Object.assign(this.options, defaultOptions);\n Object.assign(this.defaultOptions, defaultOptions);\n }\n emitClickEvent(event) {\n if (this.options.renderOnClick) {\n this.animate(0, this.options.percent);\n }\n if (this.onClick.observers.length > 0) {\n this.onClick.emit(event);\n }\n }\n isDrawing() {\n return this._timerSubscription && !this._timerSubscription.closed;\n }\n findSvgElement() {\n if (this.svgElement === null) {\n let tags = this.elRef.nativeElement.getElementsByTagName('svg');\n if (tags.length > 0) {\n this.svgElement = tags[0];\n }\n }\n }\n isElementInViewport(el) {\n // Return false if el has not been created in page.\n if (el === null || el === undefined) return false;\n // Check if the element is out of view due to a container scrolling\n let rect = el.getBoundingClientRect(),\n parent = el.parentNode,\n parentRect;\n do {\n parentRect = parent.getBoundingClientRect();\n if (rect.top >= parentRect.bottom) return false;\n if (rect.bottom <= parentRect.top) return false;\n if (rect.left >= parentRect.right) return false;\n if (rect.right <= parentRect.left) return false;\n parent = parent.parentNode;\n } while (parent != this.document.body);\n // Check its within the document viewport\n if (rect.top >= (this.window.innerHeight || this.document.documentElement.clientHeight)) return false;\n if (rect.bottom <= 0) return false;\n if (rect.left >= (this.window.innerWidth || this.document.documentElement.clientWidth)) return false;\n if (rect.right <= 0) return false;\n return true;\n }\n ngOnInit() {\n this.loadEventsForLazyMode();\n }\n ngOnDestroy() {\n this.unloadEventsForLazyMode();\n }\n ngOnChanges(changes) {\n this.render();\n if ('lazy' in changes) {\n changes.lazy.currentValue ? this.loadEventsForLazyMode() : this.unloadEventsForLazyMode();\n }\n }\n }\n CircleProgressComponent.ɵfac = function CircleProgressComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || CircleProgressComponent)(i0.ɵɵdirectiveInject(CircleProgressOptions), i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Injector));\n };\n CircleProgressComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: CircleProgressComponent,\n selectors: [[\"circle-progress\"]],\n inputs: {\n name: \"name\",\n class: \"class\",\n backgroundGradient: \"backgroundGradient\",\n backgroundColor: \"backgroundColor\",\n backgroundGradientStopColor: \"backgroundGradientStopColor\",\n backgroundOpacity: \"backgroundOpacity\",\n backgroundStroke: \"backgroundStroke\",\n backgroundStrokeWidth: \"backgroundStrokeWidth\",\n backgroundPadding: \"backgroundPadding\",\n radius: \"radius\",\n space: \"space\",\n percent: \"percent\",\n toFixed: \"toFixed\",\n maxPercent: \"maxPercent\",\n renderOnClick: \"renderOnClick\",\n units: \"units\",\n unitsFontSize: \"unitsFontSize\",\n unitsFontWeight: \"unitsFontWeight\",\n unitsColor: \"unitsColor\",\n outerStrokeGradient: \"outerStrokeGradient\",\n outerStrokeWidth: \"outerStrokeWidth\",\n outerStrokeColor: \"outerStrokeColor\",\n outerStrokeGradientStopColor: \"outerStrokeGradientStopColor\",\n outerStrokeLinecap: \"outerStrokeLinecap\",\n innerStrokeColor: \"innerStrokeColor\",\n innerStrokeWidth: \"innerStrokeWidth\",\n titleFormat: \"titleFormat\",\n title: \"title\",\n titleColor: \"titleColor\",\n titleFontSize: \"titleFontSize\",\n titleFontWeight: \"titleFontWeight\",\n subtitleFormat: \"subtitleFormat\",\n subtitle: \"subtitle\",\n subtitleColor: \"subtitleColor\",\n subtitleFontSize: \"subtitleFontSize\",\n subtitleFontWeight: \"subtitleFontWeight\",\n imageSrc: \"imageSrc\",\n imageHeight: \"imageHeight\",\n imageWidth: \"imageWidth\",\n animation: \"animation\",\n animateTitle: \"animateTitle\",\n animateSubtitle: \"animateSubtitle\",\n animationDuration: \"animationDuration\",\n showTitle: \"showTitle\",\n showSubtitle: \"showSubtitle\",\n showUnits: \"showUnits\",\n showImage: \"showImage\",\n showBackground: \"showBackground\",\n showInnerStroke: \"showInnerStroke\",\n clockwise: \"clockwise\",\n responsive: \"responsive\",\n startFromZero: \"startFromZero\",\n showZeroOuterStroke: \"showZeroOuterStroke\",\n lazy: \"lazy\",\n templateOptions: [0, \"options\", \"templateOptions\"]\n },\n outputs: {\n onClick: \"onClick\"\n },\n standalone: false,\n features: [i0.ɵɵNgOnChangesFeature],\n decls: 1,\n vars: 1,\n consts: [[\"xmlns\", \"http://www.w3.org/2000/svg\", \"preserveAspectRatio\", \"xMidYMid meet\", 3, \"click\", 4, \"ngIf\"], [\"xmlns\", \"http://www.w3.org/2000/svg\", \"preserveAspectRatio\", \"xMidYMid meet\", 3, \"click\"], [4, \"ngIf\"], [\"alignment-baseline\", \"baseline\", 4, \"ngIf\"], [\"preserveAspectRatio\", \"none\", 4, \"ngIf\"], [\"offset\", \"5%\"], [\"offset\", \"95%\"], [\"alignment-baseline\", \"baseline\"], [4, \"ngFor\", \"ngForOf\"], [\"preserveAspectRatio\", \"none\"]],\n template: function CircleProgressComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, CircleProgressComponent__svg_svg_0_Template, 9, 11, \"svg\", 0);\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"ngIf\", ctx.svg);\n }\n },\n dependencies: [i1.NgForOf, i1.NgIf],\n encapsulation: 2\n });\n return CircleProgressComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet NgCircleProgressModule = /*#__PURE__*/(() => {\n class NgCircleProgressModule {\n static forRoot(options = {}) {\n return {\n ngModule: NgCircleProgressModule,\n providers: [{\n provide: CircleProgressOptions,\n useValue: options\n }]\n };\n }\n }\n NgCircleProgressModule.ɵfac = function NgCircleProgressModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || NgCircleProgressModule)();\n };\n NgCircleProgressModule.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: NgCircleProgressModule\n });\n NgCircleProgressModule.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [CommonModule]\n });\n return NgCircleProgressModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/*\n * Public API Surface of ng-circle-progress\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { CircleProgressComponent, CircleProgressOptions, NgCircleProgressModule };\n","import * as i0 from '@angular/core';\nimport { Directive, inject, ElementRef, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ContentChildren, NgModule } from '@angular/core';\nimport { MatCommonModule } from '@angular/material/core';\nimport { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nconst _c0 = [\"*\", [[\"mat-toolbar-row\"]]];\nconst _c1 = [\"*\", \"mat-toolbar-row\"];\nlet MatToolbarRow = /*#__PURE__*/(() => {\n class MatToolbarRow {\n static ɵfac = function MatToolbarRow_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || MatToolbarRow)();\n };\n static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: MatToolbarRow,\n selectors: [[\"mat-toolbar-row\"]],\n hostAttrs: [1, \"mat-toolbar-row\"],\n exportAs: [\"matToolbarRow\"]\n });\n }\n return MatToolbarRow;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet MatToolbar = /*#__PURE__*/(() => {\n class MatToolbar {\n _elementRef = inject(ElementRef);\n _platform = inject(Platform);\n _document = inject(DOCUMENT);\n // TODO: should be typed as `ThemePalette` but internal apps pass in arbitrary strings.\n /**\n * Theme color of the toolbar. This API is supported in M2 themes only, it has\n * no effect in M3 themes. For color customization in M3, see https://material.angular.io/components/toolbar/styling.\n *\n * For information on applying color variants in M3, see\n * https://material.angular.io/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants\n */\n color;\n /** Reference to all toolbar row elements that have been projected. */\n _toolbarRows;\n constructor() {}\n ngAfterViewInit() {\n if (this._platform.isBrowser) {\n this._checkToolbarMixedModes();\n this._toolbarRows.changes.subscribe(() => this._checkToolbarMixedModes());\n }\n }\n /**\n * Throws an exception when developers are attempting to combine the different toolbar row modes.\n */\n _checkToolbarMixedModes() {\n if (this._toolbarRows.length && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n // Check if there are any other DOM nodes that can display content but aren't inside of\n // a element.\n const isCombinedUsage = Array.from(this._elementRef.nativeElement.childNodes).filter(node => !(node.classList && node.classList.contains('mat-toolbar-row'))).filter(node => node.nodeType !== (this._document ? this._document.COMMENT_NODE : 8)).some(node => !!(node.textContent && node.textContent.trim()));\n if (isCombinedUsage) {\n throwToolbarMixedModesError();\n }\n }\n }\n static ɵfac = function MatToolbar_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || MatToolbar)();\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: MatToolbar,\n selectors: [[\"mat-toolbar\"]],\n contentQueries: function MatToolbar_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, MatToolbarRow, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._toolbarRows = _t);\n }\n },\n hostAttrs: [1, \"mat-toolbar\"],\n hostVars: 6,\n hostBindings: function MatToolbar_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵclassMap(ctx.color ? \"mat-\" + ctx.color : \"\");\n i0.ɵɵclassProp(\"mat-toolbar-multiple-rows\", ctx._toolbarRows.length > 0)(\"mat-toolbar-single-row\", ctx._toolbarRows.length === 0);\n }\n },\n inputs: {\n color: \"color\"\n },\n exportAs: [\"matToolbar\"],\n ngContentSelectors: _c1,\n decls: 2,\n vars: 0,\n template: function MatToolbar_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef(_c0);\n i0.ɵɵprojection(0);\n i0.ɵɵprojection(1, 1);\n }\n },\n styles: [\".mat-toolbar{background:var(--mat-toolbar-container-background-color, var(--mat-sys-surface));color:var(--mat-toolbar-container-text-color, var(--mat-sys-on-surface))}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font-family:var(--mat-toolbar-title-text-font, var(--mat-sys-title-large-font));font-size:var(--mat-toolbar-title-text-size, var(--mat-sys-title-large-size));line-height:var(--mat-toolbar-title-text-line-height, var(--mat-sys-title-large-line-height));font-weight:var(--mat-toolbar-title-text-weight, var(--mat-sys-title-large-weight));letter-spacing:var(--mat-toolbar-title-text-tracking, var(--mat-sys-title-large-tracking));margin:0}@media(forced-colors: active){.mat-toolbar{outline:solid 1px}}.mat-toolbar .mat-form-field-underline,.mat-toolbar .mat-form-field-ripple,.mat-toolbar .mat-focused .mat-form-field-ripple{background-color:currentColor}.mat-toolbar .mat-form-field-label,.mat-toolbar .mat-focused .mat-form-field-label,.mat-toolbar .mat-select-value,.mat-toolbar .mat-select-arrow,.mat-toolbar .mat-form-field.mat-focused .mat-select-arrow{color:inherit}.mat-toolbar .mat-input-element{caret-color:currentColor}.mat-toolbar .mat-mdc-button-base.mat-mdc-button-base.mat-unthemed{--mdc-text-button-label-text-color:var(--mat-toolbar-container-text-color, var(--mat-sys-on-surface));--mdc-outlined-button-label-text-color:var(--mat-toolbar-container-text-color, var(--mat-sys-on-surface))}.mat-toolbar-row,.mat-toolbar-single-row{display:flex;box-sizing:border-box;padding:0 16px;width:100%;flex-direction:row;align-items:center;white-space:nowrap;height:var(--mat-toolbar-standard-height, 64px)}@media(max-width: 599px){.mat-toolbar-row,.mat-toolbar-single-row{height:var(--mat-toolbar-mobile-height, 56px)}}.mat-toolbar-multiple-rows{display:flex;box-sizing:border-box;flex-direction:column;width:100%;min-height:var(--mat-toolbar-standard-height, 64px)}@media(max-width: 599px){.mat-toolbar-multiple-rows{min-height:var(--mat-toolbar-mobile-height, 56px)}}\"],\n encapsulation: 2,\n changeDetection: 0\n });\n }\n return MatToolbar;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Throws an exception when attempting to combine the different toolbar row modes.\n * @docs-private\n */\nfunction throwToolbarMixedModesError() {\n throw Error('MatToolbar: Attempting to combine different toolbar modes. ' + 'Either specify multiple `` elements explicitly or just place content ' + 'inside of a `` for a single row.');\n}\nlet MatToolbarModule = /*#__PURE__*/(() => {\n class MatToolbarModule {\n static ɵfac = function MatToolbarModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || MatToolbarModule)();\n };\n static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: MatToolbarModule\n });\n static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [MatCommonModule, MatCommonModule]\n });\n }\n return MatToolbarModule;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { MatToolbar, MatToolbarModule, MatToolbarRow, throwToolbarMixedModesError };\n","import * as i0 from '@angular/core';\nimport { Component, ViewEncapsulation, ChangeDetectionStrategy, inject, NgZone, ElementRef, Renderer2, ANIMATION_MODULE_TYPE, booleanAttribute, Directive, Input, NgModule } from '@angular/core';\nimport { MatCommonModule } from '@angular/material/core';\nimport { AriaDescriber, _IdGenerator, InteractivityChecker, A11yModule } from '@angular/cdk/a11y';\nimport { DOCUMENT } from '@angular/common';\nimport { _CdkPrivateStyleLoader, _VisuallyHiddenLoader } from '@angular/cdk/private';\nconst BADGE_CONTENT_CLASS = 'mat-badge-content';\n/**\n * Component used to load the structural styles of the badge.\n * @docs-private\n */\nlet _MatBadgeStyleLoader = /*#__PURE__*/(() => {\n class _MatBadgeStyleLoader {\n static ɵfac = function _MatBadgeStyleLoader_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || _MatBadgeStyleLoader)();\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: _MatBadgeStyleLoader,\n selectors: [[\"ng-component\"]],\n decls: 0,\n vars: 0,\n template: function _MatBadgeStyleLoader_Template(rf, ctx) {},\n styles: [\".mat-badge{position:relative}.mat-badge.mat-badge{overflow:visible}.mat-badge-content{position:absolute;text-align:center;display:inline-block;transition:transform 200ms ease-in-out;transform:scale(0.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;pointer-events:none;background-color:var(--mat-badge-background-color, var(--mat-sys-error));color:var(--mat-badge-text-color, var(--mat-sys-on-error));font-family:var(--mat-badge-text-font, var(--mat-sys-label-small-font));font-weight:var(--mat-badge-text-weight, var(--mat-sys-label-small-weight));border-radius:var(--mat-badge-container-shape, var(--mat-sys-corner-full))}.mat-badge-above .mat-badge-content{bottom:100%}.mat-badge-below .mat-badge-content{top:100%}.mat-badge-before .mat-badge-content{right:100%}[dir=rtl] .mat-badge-before .mat-badge-content{right:auto;left:100%}.mat-badge-after .mat-badge-content{left:100%}[dir=rtl] .mat-badge-after .mat-badge-content{left:auto;right:100%}@media(forced-colors: active){.mat-badge-content{outline:solid 1px;border-radius:0}}.mat-badge-disabled .mat-badge-content{background-color:var(--mat-badge-disabled-state-background-color, color-mix(in srgb, var(--mat-sys-error) 38%, transparent));color:var(--mat-badge-disabled-state-text-color, var(--mat-sys-on-error))}.mat-badge-hidden .mat-badge-content{display:none}.ng-animate-disabled .mat-badge-content,.mat-badge-content._mat-animation-noopable{transition:none}.mat-badge-content.mat-badge-active{transform:none}.mat-badge-small .mat-badge-content{width:var(--mat-badge-legacy-small-size-container-size, unset);height:var(--mat-badge-legacy-small-size-container-size, unset);min-width:var(--mat-badge-small-size-container-size, 6px);min-height:var(--mat-badge-small-size-container-size, 6px);line-height:var(--mat-badge-small-size-line-height, 6px);padding:var(--mat-badge-small-size-container-padding, 0);font-size:var(--mat-badge-small-size-text-size, 0);margin:var(--mat-badge-small-size-container-offset, -6px 0)}.mat-badge-small.mat-badge-overlap .mat-badge-content{margin:var(--mat-badge-small-size-container-overlap-offset, -6px)}.mat-badge-medium .mat-badge-content{width:var(--mat-badge-legacy-container-size, unset);height:var(--mat-badge-legacy-container-size, unset);min-width:var(--mat-badge-container-size, 16px);min-height:var(--mat-badge-container-size, 16px);line-height:var(--mat-badge-line-height, 16px);padding:var(--mat-badge-container-padding, 0 4px);font-size:var(--mat-badge-text-size, var(--mat-sys-label-small-size));margin:var(--mat-badge-container-offset, -12px 0)}.mat-badge-medium.mat-badge-overlap .mat-badge-content{margin:var(--mat-badge-container-overlap-offset, -12px)}.mat-badge-large .mat-badge-content{width:var(--mat-badge-legacy-large-size-container-size, unset);height:var(--mat-badge-legacy-large-size-container-size, unset);min-width:var(--mat-badge-large-size-container-size, 16px);min-height:var(--mat-badge-large-size-container-size, 16px);line-height:var(--mat-badge-large-size-line-height, 16px);padding:var(--mat-badge-large-size-container-padding, 0 4px);font-size:var(--mat-badge-large-size-text-size, var(--mat-sys-label-small-size));margin:var(--mat-badge-large-size-container-offset, -12px 0)}.mat-badge-large.mat-badge-overlap .mat-badge-content{margin:var(--mat-badge-large-size-container-overlap-offset, -12px)}\"],\n encapsulation: 2,\n changeDetection: 0\n });\n }\n return _MatBadgeStyleLoader;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/** Directive to display a text badge. */\nlet MatBadge = /*#__PURE__*/(() => {\n class MatBadge {\n _ngZone = inject(NgZone);\n _elementRef = inject(ElementRef);\n _ariaDescriber = inject(AriaDescriber);\n _renderer = inject(Renderer2);\n _animationMode = inject(ANIMATION_MODULE_TYPE, {\n optional: true\n });\n _idGenerator = inject(_IdGenerator);\n /**\n * Theme color of the badge. This API is supported in M2 themes only, it\n * has no effect in M3 themes. For color customization in M3, see https://material.angular.io/components/badge/styling.\n *\n * For information on applying color variants in M3, see\n * https://material.angular.io/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants\n */\n get color() {\n return this._color;\n }\n set color(value) {\n this._setColor(value);\n this._color = value;\n }\n _color = 'primary';\n /** Whether the badge should overlap its contents or not */\n overlap = true;\n /** Whether the badge is disabled. */\n disabled;\n /**\n * Position the badge should reside.\n * Accepts any combination of 'above'|'below' and 'before'|'after'\n */\n position = 'above after';\n /** The content for the badge */\n get content() {\n return this._content;\n }\n set content(newContent) {\n this._updateRenderedContent(newContent);\n }\n _content;\n /** Message used to describe the decorated element via aria-describedby */\n get description() {\n return this._description;\n }\n set description(newDescription) {\n this._updateDescription(newDescription);\n }\n _description;\n /** Size of the badge. Can be 'small', 'medium', or 'large'. */\n size = 'medium';\n /** Whether the badge is hidden. */\n hidden;\n /** Visible badge element. */\n _badgeElement;\n /** Inline badge description. Used when the badge is applied to non-interactive host elements. */\n _inlineBadgeDescription;\n /** Whether the OnInit lifecycle hook has run yet */\n _isInitialized = false;\n /** InteractivityChecker to determine if the badge host is focusable. */\n _interactivityChecker = inject(InteractivityChecker);\n _document = inject(DOCUMENT);\n constructor() {\n const styleLoader = inject(_CdkPrivateStyleLoader);\n styleLoader.load(_MatBadgeStyleLoader);\n styleLoader.load(_VisuallyHiddenLoader);\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n const nativeElement = this._elementRef.nativeElement;\n if (nativeElement.nodeType !== nativeElement.ELEMENT_NODE) {\n throw Error('matBadge must be attached to an element node.');\n }\n // Heads-up for developers to avoid putting matBadge on \n // as it is aria-hidden by default docs mention this at:\n // https://material.angular.io/components/badge/overview#accessibility\n if (nativeElement.tagName.toLowerCase() === 'mat-icon' && nativeElement.getAttribute('aria-hidden') === 'true') {\n console.warn(`Detected a matBadge on an \"aria-hidden\" \"\". ` + `Consider setting aria-hidden=\"false\" in order to surface the information assistive technology.` + `\\n${nativeElement.outerHTML}`);\n }\n }\n }\n /** Whether the badge is above the host or not */\n isAbove() {\n return this.position.indexOf('below') === -1;\n }\n /** Whether the badge is after the host or not */\n isAfter() {\n return this.position.indexOf('before') === -1;\n }\n /**\n * Gets the element into which the badge's content is being rendered. Undefined if the element\n * hasn't been created (e.g. if the badge doesn't have content).\n */\n getBadgeElement() {\n return this._badgeElement;\n }\n ngOnInit() {\n // We may have server-side rendered badge that we need to clear.\n // We need to do this in ngOnInit because the full content of the component\n // on which the badge is attached won't necessarily be in the DOM until this point.\n this._clearExistingBadges();\n if (this.content && !this._badgeElement) {\n this._badgeElement = this._createBadgeElement();\n this._updateRenderedContent(this.content);\n }\n this._isInitialized = true;\n }\n ngOnDestroy() {\n // ViewEngine only: when creating a badge through the Renderer, Angular remembers its index.\n // We have to destroy it ourselves, otherwise it'll be retained in memory.\n if (this._renderer.destroyNode) {\n this._renderer.destroyNode(this._badgeElement);\n this._inlineBadgeDescription?.remove();\n }\n this._ariaDescriber.removeDescription(this._elementRef.nativeElement, this.description);\n }\n /** Gets whether the badge's host element is interactive. */\n _isHostInteractive() {\n // Ignore visibility since it requires an expensive style caluclation.\n return this._interactivityChecker.isFocusable(this._elementRef.nativeElement, {\n ignoreVisibility: true\n });\n }\n /** Creates the badge element */\n _createBadgeElement() {\n const badgeElement = this._renderer.createElement('span');\n const activeClass = 'mat-badge-active';\n badgeElement.setAttribute('id', this._idGenerator.getId('mat-badge-content-'));\n // The badge is aria-hidden because we don't want it to appear in the page's navigation\n // flow. Instead, we use the badge to describe the decorated element with aria-describedby.\n badgeElement.setAttribute('aria-hidden', 'true');\n badgeElement.classList.add(BADGE_CONTENT_CLASS);\n if (this._animationMode === 'NoopAnimations') {\n badgeElement.classList.add('_mat-animation-noopable');\n }\n this._elementRef.nativeElement.appendChild(badgeElement);\n // animate in after insertion\n if (typeof requestAnimationFrame === 'function' && this._animationMode !== 'NoopAnimations') {\n this._ngZone.runOutsideAngular(() => {\n requestAnimationFrame(() => {\n badgeElement.classList.add(activeClass);\n });\n });\n } else {\n badgeElement.classList.add(activeClass);\n }\n return badgeElement;\n }\n /** Update the text content of the badge element in the DOM, creating the element if necessary. */\n _updateRenderedContent(newContent) {\n const newContentNormalized = `${newContent ?? ''}`.trim();\n // Don't create the badge element if the directive isn't initialized because we want to\n // append the badge element to the *end* of the host element's content for backwards\n // compatibility.\n if (this._isInitialized && newContentNormalized && !this._badgeElement) {\n this._badgeElement = this._createBadgeElement();\n }\n if (this._badgeElement) {\n this._badgeElement.textContent = newContentNormalized;\n }\n this._content = newContentNormalized;\n }\n /** Updates the host element's aria description via AriaDescriber. */\n _updateDescription(newDescription) {\n // Always start by removing the aria-describedby; we will add a new one if necessary.\n this._ariaDescriber.removeDescription(this._elementRef.nativeElement, this.description);\n // NOTE: We only check whether the host is interactive here, which happens during\n // when then badge content changes. It is possible that the host changes\n // interactivity status separate from one of these. However, watching the interactivity\n // status of the host would require a `MutationObserver`, which is likely more code + overhead\n // than it's worth; from usages inside Google, we see that the vats majority of badges either\n // never change interactivity, or also set `matBadgeHidden` based on the same condition.\n if (!newDescription || this._isHostInteractive()) {\n this._removeInlineDescription();\n }\n this._description = newDescription;\n // We don't add `aria-describedby` for non-interactive hosts elements because we\n // instead insert the description inline.\n if (this._isHostInteractive()) {\n this._ariaDescriber.describe(this._elementRef.nativeElement, newDescription);\n } else {\n this._updateInlineDescription();\n }\n }\n _updateInlineDescription() {\n // Create the inline description element if it doesn't exist\n if (!this._inlineBadgeDescription) {\n this._inlineBadgeDescription = this._document.createElement('span');\n this._inlineBadgeDescription.classList.add('cdk-visually-hidden');\n }\n this._inlineBadgeDescription.textContent = this.description;\n this._badgeElement?.appendChild(this._inlineBadgeDescription);\n }\n _removeInlineDescription() {\n this._inlineBadgeDescription?.remove();\n this._inlineBadgeDescription = undefined;\n }\n /** Adds css theme class given the color to the component host */\n _setColor(colorPalette) {\n const classList = this._elementRef.nativeElement.classList;\n classList.remove(`mat-badge-${this._color}`);\n if (colorPalette) {\n classList.add(`mat-badge-${colorPalette}`);\n }\n }\n /** Clears any existing badges that might be left over from server-side rendering. */\n _clearExistingBadges() {\n // Only check direct children of this host element in order to avoid deleting\n // any badges that might exist in descendant elements.\n const badges = this._elementRef.nativeElement.querySelectorAll(`:scope > .${BADGE_CONTENT_CLASS}`);\n for (const badgeElement of Array.from(badges)) {\n if (badgeElement !== this._badgeElement) {\n badgeElement.remove();\n }\n }\n }\n static ɵfac = function MatBadge_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || MatBadge)();\n };\n static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: MatBadge,\n selectors: [[\"\", \"matBadge\", \"\"]],\n hostAttrs: [1, \"mat-badge\"],\n hostVars: 20,\n hostBindings: function MatBadge_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵclassProp(\"mat-badge-overlap\", ctx.overlap)(\"mat-badge-above\", ctx.isAbove())(\"mat-badge-below\", !ctx.isAbove())(\"mat-badge-before\", !ctx.isAfter())(\"mat-badge-after\", ctx.isAfter())(\"mat-badge-small\", ctx.size === \"small\")(\"mat-badge-medium\", ctx.size === \"medium\")(\"mat-badge-large\", ctx.size === \"large\")(\"mat-badge-hidden\", ctx.hidden || !ctx.content)(\"mat-badge-disabled\", ctx.disabled);\n }\n },\n inputs: {\n color: [0, \"matBadgeColor\", \"color\"],\n overlap: [2, \"matBadgeOverlap\", \"overlap\", booleanAttribute],\n disabled: [2, \"matBadgeDisabled\", \"disabled\", booleanAttribute],\n position: [0, \"matBadgePosition\", \"position\"],\n content: [0, \"matBadge\", \"content\"],\n description: [0, \"matBadgeDescription\", \"description\"],\n size: [0, \"matBadgeSize\", \"size\"],\n hidden: [2, \"matBadgeHidden\", \"hidden\", booleanAttribute]\n }\n });\n }\n return MatBadge;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet MatBadgeModule = /*#__PURE__*/(() => {\n class MatBadgeModule {\n static ɵfac = function MatBadgeModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || MatBadgeModule)();\n };\n static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: MatBadgeModule\n });\n static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [A11yModule, MatCommonModule, MatCommonModule]\n });\n }\n return MatBadgeModule;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { MatBadge, MatBadgeModule };\n","import * as i0 from '@angular/core';\nimport { InjectionToken, inject, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, Directive, NgModule } from '@angular/core';\nimport { MatCommonModule } from '@angular/material/core';\n\n/** Injection token that can be used to provide the default options the card module. */\nconst _c0 = [\"*\"];\nconst _c1 = [[[\"mat-card-title\"], [\"mat-card-subtitle\"], [\"\", \"mat-card-title\", \"\"], [\"\", \"mat-card-subtitle\", \"\"], [\"\", \"matCardTitle\", \"\"], [\"\", \"matCardSubtitle\", \"\"]], [[\"\", \"mat-card-image\", \"\"], [\"\", \"matCardImage\", \"\"], [\"\", \"mat-card-sm-image\", \"\"], [\"\", \"matCardImageSmall\", \"\"], [\"\", \"mat-card-md-image\", \"\"], [\"\", \"matCardImageMedium\", \"\"], [\"\", \"mat-card-lg-image\", \"\"], [\"\", \"matCardImageLarge\", \"\"], [\"\", \"mat-card-xl-image\", \"\"], [\"\", \"matCardImageXLarge\", \"\"]], \"*\"];\nconst _c2 = [\"mat-card-title, mat-card-subtitle,\\n [mat-card-title], [mat-card-subtitle],\\n [matCardTitle], [matCardSubtitle]\", \"[mat-card-image], [matCardImage],\\n [mat-card-sm-image], [matCardImageSmall],\\n [mat-card-md-image], [matCardImageMedium],\\n [mat-card-lg-image], [matCardImageLarge],\\n [mat-card-xl-image], [matCardImageXLarge]\", \"*\"];\nconst _c3 = [[[\"\", \"mat-card-avatar\", \"\"], [\"\", \"matCardAvatar\", \"\"]], [[\"mat-card-title\"], [\"mat-card-subtitle\"], [\"\", \"mat-card-title\", \"\"], [\"\", \"mat-card-subtitle\", \"\"], [\"\", \"matCardTitle\", \"\"], [\"\", \"matCardSubtitle\", \"\"]], \"*\"];\nconst _c4 = [\"[mat-card-avatar], [matCardAvatar]\", \"mat-card-title, mat-card-subtitle,\\n [mat-card-title], [mat-card-subtitle],\\n [matCardTitle], [matCardSubtitle]\", \"*\"];\nconst MAT_CARD_CONFIG = /*#__PURE__*/new InjectionToken('MAT_CARD_CONFIG');\n/**\n * Material Design card component. Cards contain content and actions about a single subject.\n * See https://material.io/design/components/cards.html\n *\n * MatCard provides no behaviors, instead serving as a purely visual treatment.\n */\nlet MatCard = /*#__PURE__*/(() => {\n class MatCard {\n appearance;\n constructor() {\n const config = inject(MAT_CARD_CONFIG, {\n optional: true\n });\n this.appearance = config?.appearance || 'raised';\n }\n static ɵfac = function MatCard_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || MatCard)();\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: MatCard,\n selectors: [[\"mat-card\"]],\n hostAttrs: [1, \"mat-mdc-card\", \"mdc-card\"],\n hostVars: 4,\n hostBindings: function MatCard_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵclassProp(\"mat-mdc-card-outlined\", ctx.appearance === \"outlined\")(\"mdc-card--outlined\", ctx.appearance === \"outlined\");\n }\n },\n inputs: {\n appearance: \"appearance\"\n },\n exportAs: [\"matCard\"],\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function MatCard_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n styles: [\".mat-mdc-card{display:flex;flex-direction:column;box-sizing:border-box;position:relative;border-style:solid;border-width:0;background-color:var(--mdc-elevated-card-container-color, var(--mat-sys-surface-container-low));border-color:var(--mdc-elevated-card-container-color, var(--mat-sys-surface-container-low));border-radius:var(--mdc-elevated-card-container-shape, var(--mat-sys-corner-medium));box-shadow:var(--mdc-elevated-card-container-elevation, var(--mat-sys-level1))}.mat-mdc-card::after{position:absolute;top:0;left:0;width:100%;height:100%;border:solid 1px rgba(0,0,0,0);content:\\\"\\\";display:block;pointer-events:none;box-sizing:border-box;border-radius:var(--mdc-elevated-card-container-shape, var(--mat-sys-corner-medium))}.mat-mdc-card-outlined{background-color:var(--mdc-outlined-card-container-color, var(--mat-sys-surface));border-radius:var(--mdc-outlined-card-container-shape, var(--mat-sys-corner-medium));border-width:var(--mdc-outlined-card-outline-width, 1px);border-color:var(--mdc-outlined-card-outline-color, var(--mat-sys-outline-variant));box-shadow:var(--mdc-outlined-card-container-elevation, var(--mat-sys-level0))}.mat-mdc-card-outlined::after{border:none}.mdc-card__media{position:relative;box-sizing:border-box;background-repeat:no-repeat;background-position:center;background-size:cover}.mdc-card__media::before{display:block;content:\\\"\\\"}.mdc-card__media:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.mdc-card__media:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.mat-mdc-card-actions{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;min-height:52px;padding:8px}.mat-mdc-card-title{font-family:var(--mat-card-title-text-font, var(--mat-sys-title-large-font));line-height:var(--mat-card-title-text-line-height, var(--mat-sys-title-large-line-height));font-size:var(--mat-card-title-text-size, var(--mat-sys-title-large-size));letter-spacing:var(--mat-card-title-text-tracking, var(--mat-sys-title-large-tracking));font-weight:var(--mat-card-title-text-weight, var(--mat-sys-title-large-weight))}.mat-mdc-card-subtitle{color:var(--mat-card-subtitle-text-color, var(--mat-sys-on-surface));font-family:var(--mat-card-subtitle-text-font, var(--mat-sys-title-medium-font));line-height:var(--mat-card-subtitle-text-line-height, var(--mat-sys-title-medium-line-height));font-size:var(--mat-card-subtitle-text-size, var(--mat-sys-title-medium-size));letter-spacing:var(--mat-card-subtitle-text-tracking, var(--mat-sys-title-medium-tracking));font-weight:var(--mat-card-subtitle-text-weight, var(--mat-sys-title-medium-weight))}.mat-mdc-card-title,.mat-mdc-card-subtitle{display:block;margin:0}.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-title,.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-subtitle{padding:16px 16px 0}.mat-mdc-card-header{display:flex;padding:16px 16px 0}.mat-mdc-card-content{display:block;padding:0 16px}.mat-mdc-card-content:first-child{padding-top:16px}.mat-mdc-card-content:last-child{padding-bottom:16px}.mat-mdc-card-title-group{display:flex;justify-content:space-between;width:100%}.mat-mdc-card-avatar{height:40px;width:40px;border-radius:50%;flex-shrink:0;margin-bottom:16px;object-fit:cover}.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-subtitle,.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-title{line-height:normal}.mat-mdc-card-sm-image{width:80px;height:80px}.mat-mdc-card-md-image{width:112px;height:112px}.mat-mdc-card-lg-image{width:152px;height:152px}.mat-mdc-card-xl-image{width:240px;height:240px}.mat-mdc-card-subtitle~.mat-mdc-card-title,.mat-mdc-card-title~.mat-mdc-card-subtitle,.mat-mdc-card-header .mat-mdc-card-header-text .mat-mdc-card-title,.mat-mdc-card-header .mat-mdc-card-header-text .mat-mdc-card-subtitle,.mat-mdc-card-title-group .mat-mdc-card-title,.mat-mdc-card-title-group .mat-mdc-card-subtitle{padding-top:0}.mat-mdc-card-content>:last-child:not(.mat-mdc-card-footer){margin-bottom:0}.mat-mdc-card-actions-align-end{justify-content:flex-end}\"],\n encapsulation: 2,\n changeDetection: 0\n });\n }\n return MatCard;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n// TODO(jelbourn): add `MatActionCard`, which is a card that acts like a button (and has a ripple).\n// Supported in MDC with `.mdc-card__primary-action`. Will require additional a11y docs for users.\n/**\n * Title of a card, intended for use within ``. This component is an optional\n * convenience for one variety of card title; any custom title element may be used in its place.\n *\n * MatCardTitle provides no behaviors, instead serving as a purely visual treatment.\n */\nlet MatCardTitle = /*#__PURE__*/(() => {\n class MatCardTitle {\n static ɵfac = function MatCardTitle_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || MatCardTitle)();\n };\n static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: MatCardTitle,\n selectors: [[\"mat-card-title\"], [\"\", \"mat-card-title\", \"\"], [\"\", \"matCardTitle\", \"\"]],\n hostAttrs: [1, \"mat-mdc-card-title\"]\n });\n }\n return MatCardTitle;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Container intended to be used within the `` component. Can contain exactly one\n * ``, one `` and one content image of any size\n * (e.g. ``).\n */\nlet MatCardTitleGroup = /*#__PURE__*/(() => {\n class MatCardTitleGroup {\n static ɵfac = function MatCardTitleGroup_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || MatCardTitleGroup)();\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: MatCardTitleGroup,\n selectors: [[\"mat-card-title-group\"]],\n hostAttrs: [1, \"mat-mdc-card-title-group\"],\n ngContentSelectors: _c2,\n decls: 4,\n vars: 0,\n template: function MatCardTitleGroup_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef(_c1);\n i0.ɵɵelementStart(0, \"div\");\n i0.ɵɵprojection(1);\n i0.ɵɵelementEnd();\n i0.ɵɵprojection(2, 1);\n i0.ɵɵprojection(3, 2);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n });\n }\n return MatCardTitleGroup;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Content of a card, intended for use within ``. This component is an optional\n * convenience for use with other convenience elements, such as ``; any custom\n * content block element may be used in its place.\n *\n * MatCardContent provides no behaviors, instead serving as a purely visual treatment.\n */\nlet MatCardContent = /*#__PURE__*/(() => {\n class MatCardContent {\n static ɵfac = function MatCardContent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || MatCardContent)();\n };\n static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: MatCardContent,\n selectors: [[\"mat-card-content\"]],\n hostAttrs: [1, \"mat-mdc-card-content\"]\n });\n }\n return MatCardContent;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Sub-title of a card, intended for use within `` beneath a ``. This\n * component is an optional convenience for use with other convenience elements, such as\n * ``.\n *\n * MatCardSubtitle provides no behaviors, instead serving as a purely visual treatment.\n */\nlet MatCardSubtitle = /*#__PURE__*/(() => {\n class MatCardSubtitle {\n static ɵfac = function MatCardSubtitle_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || MatCardSubtitle)();\n };\n static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: MatCardSubtitle,\n selectors: [[\"mat-card-subtitle\"], [\"\", \"mat-card-subtitle\", \"\"], [\"\", \"matCardSubtitle\", \"\"]],\n hostAttrs: [1, \"mat-mdc-card-subtitle\"]\n });\n }\n return MatCardSubtitle;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Bottom area of a card that contains action buttons, intended for use within ``.\n * This component is an optional convenience for use with other convenience elements, such as\n * ``; any custom action block element may be used in its place.\n *\n * MatCardActions provides no behaviors, instead serving as a purely visual treatment.\n */\nlet MatCardActions = /*#__PURE__*/(() => {\n class MatCardActions {\n // TODO(jelbourn): deprecate `align` in favor of `actionPosition` or `actionAlignment`\n // as to not conflict with the native `align` attribute.\n /** Position of the actions inside the card. */\n align = 'start';\n static ɵfac = function MatCardActions_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || MatCardActions)();\n };\n static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: MatCardActions,\n selectors: [[\"mat-card-actions\"]],\n hostAttrs: [1, \"mat-mdc-card-actions\", \"mdc-card__actions\"],\n hostVars: 2,\n hostBindings: function MatCardActions_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵclassProp(\"mat-mdc-card-actions-align-end\", ctx.align === \"end\");\n }\n },\n inputs: {\n align: \"align\"\n },\n exportAs: [\"matCardActions\"]\n });\n }\n return MatCardActions;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Header region of a card, intended for use within ``. This header captures\n * a card title, subtitle, and avatar. This component is an optional convenience for use with\n * other convenience elements, such as ``; any custom header block element may be\n * used in its place.\n *\n * MatCardHeader provides no behaviors, instead serving as a purely visual treatment.\n */\nlet MatCardHeader = /*#__PURE__*/(() => {\n class MatCardHeader {\n static ɵfac = function MatCardHeader_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || MatCardHeader)();\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: MatCardHeader,\n selectors: [[\"mat-card-header\"]],\n hostAttrs: [1, \"mat-mdc-card-header\"],\n ngContentSelectors: _c4,\n decls: 4,\n vars: 0,\n consts: [[1, \"mat-mdc-card-header-text\"]],\n template: function MatCardHeader_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef(_c3);\n i0.ɵɵprojection(0);\n i0.ɵɵelementStart(1, \"div\", 0);\n i0.ɵɵprojection(2, 1);\n i0.ɵɵelementEnd();\n i0.ɵɵprojection(3, 2);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n });\n }\n return MatCardHeader;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Footer area a card, intended for use within ``.\n * This component is an optional convenience for use with other convenience elements, such as\n * ``; any custom footer block element may be used in its place.\n *\n * MatCardFooter provides no behaviors, instead serving as a purely visual treatment.\n */\nlet MatCardFooter = /*#__PURE__*/(() => {\n class MatCardFooter {\n static ɵfac = function MatCardFooter_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || MatCardFooter)();\n };\n static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: MatCardFooter,\n selectors: [[\"mat-card-footer\"]],\n hostAttrs: [1, \"mat-mdc-card-footer\"]\n });\n }\n return MatCardFooter;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n// TODO(jelbourn): deprecate the \"image\" selectors to replace with \"media\".\n// TODO(jelbourn): support `.mdc-card__media-content`.\n/**\n * Primary image content for a card, intended for use within ``. Can be applied to\n * any media element, such as `` or ``.\n *\n * This component is an optional convenience for use with other convenience elements, such as\n * ``; any custom media element may be used in its place.\n *\n * MatCardImage provides no behaviors, instead serving as a purely visual treatment.\n */\nlet MatCardImage = /*#__PURE__*/(() => {\n class MatCardImage {\n static ɵfac = function MatCardImage_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || MatCardImage)();\n };\n static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: MatCardImage,\n selectors: [[\"\", \"mat-card-image\", \"\"], [\"\", \"matCardImage\", \"\"]],\n hostAttrs: [1, \"mat-mdc-card-image\", \"mdc-card__media\"]\n });\n }\n return MatCardImage;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/** Same as `MatCardImage`, but small. */\nlet MatCardSmImage = /*#__PURE__*/(() => {\n class MatCardSmImage {\n static ɵfac = function MatCardSmImage_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || MatCardSmImage)();\n };\n static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: MatCardSmImage,\n selectors: [[\"\", \"mat-card-sm-image\", \"\"], [\"\", \"matCardImageSmall\", \"\"]],\n hostAttrs: [1, \"mat-mdc-card-sm-image\", \"mdc-card__media\"]\n });\n }\n return MatCardSmImage;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/** Same as `MatCardImage`, but medium. */\nlet MatCardMdImage = /*#__PURE__*/(() => {\n class MatCardMdImage {\n static ɵfac = function MatCardMdImage_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || MatCardMdImage)();\n };\n static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: MatCardMdImage,\n selectors: [[\"\", \"mat-card-md-image\", \"\"], [\"\", \"matCardImageMedium\", \"\"]],\n hostAttrs: [1, \"mat-mdc-card-md-image\", \"mdc-card__media\"]\n });\n }\n return MatCardMdImage;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/** Same as `MatCardImage`, but large. */\nlet MatCardLgImage = /*#__PURE__*/(() => {\n class MatCardLgImage {\n static ɵfac = function MatCardLgImage_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || MatCardLgImage)();\n };\n static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: MatCardLgImage,\n selectors: [[\"\", \"mat-card-lg-image\", \"\"], [\"\", \"matCardImageLarge\", \"\"]],\n hostAttrs: [1, \"mat-mdc-card-lg-image\", \"mdc-card__media\"]\n });\n }\n return MatCardLgImage;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/** Same as `MatCardImage`, but extra-large. */\nlet MatCardXlImage = /*#__PURE__*/(() => {\n class MatCardXlImage {\n static ɵfac = function MatCardXlImage_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || MatCardXlImage)();\n };\n static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: MatCardXlImage,\n selectors: [[\"\", \"mat-card-xl-image\", \"\"], [\"\", \"matCardImageXLarge\", \"\"]],\n hostAttrs: [1, \"mat-mdc-card-xl-image\", \"mdc-card__media\"]\n });\n }\n return MatCardXlImage;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Avatar image content for a card, intended for use within ``. Can be applied to\n * any media element, such as `` or ``.\n *\n * This component is an optional convenience for use with other convenience elements, such as\n * ``; any custom media element may be used in its place.\n *\n * MatCardAvatar provides no behaviors, instead serving as a purely visual treatment.\n */\nlet MatCardAvatar = /*#__PURE__*/(() => {\n class MatCardAvatar {\n static ɵfac = function MatCardAvatar_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || MatCardAvatar)();\n };\n static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: MatCardAvatar,\n selectors: [[\"\", \"mat-card-avatar\", \"\"], [\"\", \"matCardAvatar\", \"\"]],\n hostAttrs: [1, \"mat-mdc-card-avatar\"]\n });\n }\n return MatCardAvatar;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst CARD_DIRECTIVES = [MatCard, MatCardActions, MatCardAvatar, MatCardContent, MatCardFooter, MatCardHeader, MatCardImage, MatCardLgImage, MatCardMdImage, MatCardSmImage, MatCardSubtitle, MatCardTitle, MatCardTitleGroup, MatCardXlImage];\nlet MatCardModule = /*#__PURE__*/(() => {\n class MatCardModule {\n static ɵfac = function MatCardModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || MatCardModule)();\n };\n static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: MatCardModule\n });\n static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [MatCommonModule, MatCommonModule]\n });\n }\n return MatCardModule;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { MAT_CARD_CONFIG, MatCard, MatCardActions, MatCardAvatar, MatCardContent, MatCardFooter, MatCardHeader, MatCardImage, MatCardLgImage, MatCardMdImage, MatCardModule, MatCardSmImage, MatCardSubtitle, MatCardTitle, MatCardTitleGroup, MatCardXlImage };\n","import { FocusMonitor, _IdGenerator, FocusKeyManager } from '@angular/cdk/a11y';\nimport { ENTER, SPACE, BACKSPACE, DELETE, TAB, hasModifierKey, UP_ARROW, DOWN_ARROW } from '@angular/cdk/keycodes';\nimport { _CdkPrivateStyleLoader, _VisuallyHiddenLoader } from '@angular/cdk/private';\nimport { DOCUMENT } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { InjectionToken, inject, ElementRef, booleanAttribute, numberAttribute, Directive, Input, ChangeDetectorRef, NgZone, EventEmitter, Injector, ANIMATION_MODULE_TYPE, Component, ViewEncapsulation, ChangeDetectionStrategy, ContentChildren, Output, ContentChild, ViewChild, afterNextRender, QueryList, forwardRef, NgModule } from '@angular/core';\nimport { _StructuralStylesLoader, MAT_RIPPLE_GLOBAL_OPTIONS, MatRippleLoader, ErrorStateMatcher, _ErrorStateTracker, MatCommonModule, MatRippleModule } from '@angular/material/core';\nimport { Subject, merge } from 'rxjs';\nimport { takeUntil, startWith, switchMap } from 'rxjs/operators';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { NG_VALUE_ACCESSOR, NgControl, Validators, NgForm, FormGroupDirective } from '@angular/forms';\nimport { MatFormFieldControl, MAT_FORM_FIELD } from '@angular/material/form-field';\n\n/** Injection token to be used to override the default options for the chips module. */\nconst _c0 = [\"*\", [[\"mat-chip-avatar\"], [\"\", \"matChipAvatar\", \"\"]], [[\"mat-chip-trailing-icon\"], [\"\", \"matChipRemove\", \"\"], [\"\", \"matChipTrailingIcon\", \"\"]]];\nconst _c1 = [\"*\", \"mat-chip-avatar, [matChipAvatar]\", \"mat-chip-trailing-icon,[matChipRemove],[matChipTrailingIcon]\"];\nfunction MatChip_Conditional_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\", 3);\n i0.ɵɵprojection(1, 1);\n i0.ɵɵelementEnd();\n }\n}\nfunction MatChip_Conditional_7_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\", 6);\n i0.ɵɵprojection(1, 2);\n i0.ɵɵelementEnd();\n }\n}\nfunction MatChipOption_Conditional_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\", 3);\n i0.ɵɵprojection(1, 1);\n i0.ɵɵelementStart(2, \"span\", 8);\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(3, \"svg\", 9);\n i0.ɵɵelement(4, \"path\", 10);\n i0.ɵɵelementEnd()()();\n }\n}\nfunction MatChipOption_Conditional_7_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\", 6);\n i0.ɵɵprojection(1, 2);\n i0.ɵɵelementEnd();\n }\n}\nconst _c2 = \".mdc-evolution-chip,.mdc-evolution-chip__cell,.mdc-evolution-chip__action{display:inline-flex;align-items:center}.mdc-evolution-chip{position:relative;max-width:100%}.mdc-evolution-chip__cell,.mdc-evolution-chip__action{height:100%}.mdc-evolution-chip__cell--primary{flex-basis:100%;overflow-x:hidden}.mdc-evolution-chip__cell--trailing{flex:1 0 auto}.mdc-evolution-chip__action{align-items:center;background:none;border:none;box-sizing:content-box;cursor:pointer;display:inline-flex;justify-content:center;outline:none;padding:0;text-decoration:none;color:inherit}.mdc-evolution-chip__action--presentational{cursor:auto}.mdc-evolution-chip--disabled,.mdc-evolution-chip__action:disabled{pointer-events:none}.mdc-evolution-chip__action--primary{font:inherit;letter-spacing:inherit;white-space:inherit;overflow-x:hidden}.mat-mdc-standard-chip .mdc-evolution-chip__action--primary::before{border-width:var(--mdc-chip-outline-width, 1px);border-radius:var(--mdc-chip-container-shape-radius, 8px);box-sizing:border-box;content:\\\"\\\";height:100%;left:0;position:absolute;pointer-events:none;top:0;width:100%;z-index:1;border-style:solid}.mat-mdc-standard-chip .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:12px}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__action--primary::before{border-color:var(--mdc-chip-outline-color, var(--mat-sys-outline))}.mdc-evolution-chip__action--primary:not(.mdc-evolution-chip__action--presentational):not(.mdc-ripple-upgraded):focus::before{border-color:var(--mdc-chip-focus-outline-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__action--primary::before{border-color:var(--mdc-chip-disabled-outline-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-mdc-standard-chip.mdc-evolution-chip--selected .mdc-evolution-chip__action--primary::before{border-width:var(--mdc-chip-flat-selected-outline-width, 0)}.mat-mdc-basic-chip .mdc-evolution-chip__action--primary{font:inherit}.mat-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mdc-evolution-chip__action--trailing{position:relative;overflow:visible}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__action--trailing{color:var(--mdc-chip-with-trailing-icon-trailing-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__action--trailing{color:var(--mdc-chip-with-trailing-icon-disabled-trailing-icon-color, var(--mat-sys-on-surface))}.mat-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--trailing{padding-left:8px;padding-right:8px}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--trailing{padding-left:8px;padding-right:8px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--trailing{padding-left:8px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--trailing{padding-left:8px;padding-right:8px}.mdc-evolution-chip__text-label{-webkit-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mat-mdc-standard-chip .mdc-evolution-chip__text-label{font-family:var(--mdc-chip-label-text-font, var(--mat-sys-label-large-font));line-height:var(--mdc-chip-label-text-line-height, var(--mat-sys-label-large-line-height));font-size:var(--mdc-chip-label-text-size, var(--mat-sys-label-large-size));font-weight:var(--mdc-chip-label-text-weight, var(--mat-sys-label-large-weight));letter-spacing:var(--mdc-chip-label-text-tracking, var(--mat-sys-label-large-tracking))}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__text-label{color:var(--mdc-chip-label-text-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--selected:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__text-label{color:var(--mdc-chip-selected-label-text-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__text-label,.mat-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled .mdc-evolution-chip__text-label{color:var(--mdc-chip-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mdc-evolution-chip__graphic{align-items:center;display:inline-flex;justify-content:center;overflow:hidden;pointer-events:none;position:relative;flex:1 0 auto}.mat-mdc-standard-chip .mdc-evolution-chip__graphic{width:var(--mdc-chip-with-avatar-avatar-size, 24px);height:var(--mdc-chip-with-avatar-avatar-size, 24px);font-size:var(--mdc-chip-with-avatar-avatar-size, 24px)}.mdc-evolution-chip--selecting .mdc-evolution-chip__graphic{transition:width 150ms 0ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-evolution-chip--selectable:not(.mdc-evolution-chip--selected):not(.mdc-evolution-chip--with-primary-icon) .mdc-evolution-chip__graphic{width:0}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:6px;padding-right:6px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:4px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:8px;padding-right:4px}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:6px;padding-right:6px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:4px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:8px;padding-right:4px}.mdc-evolution-chip__checkmark{position:absolute;opacity:0;top:50%;left:50%;height:20px;width:20px}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__checkmark{color:var(--mdc-chip-with-icon-selected-icon-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__checkmark{color:var(--mdc-chip-with-icon-disabled-icon-color, var(--mat-sys-on-surface))}.mdc-evolution-chip--selecting .mdc-evolution-chip__checkmark{transition:transform 150ms 0ms cubic-bezier(0.4, 0, 0.2, 1);transform:translate(-75%, -50%)}.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark{transform:translate(-50%, -50%);opacity:1}.mdc-evolution-chip__checkmark-svg{display:block}.mdc-evolution-chip__checkmark-path{stroke-width:2px;stroke-dasharray:29.7833385;stroke-dashoffset:29.7833385;stroke:currentColor}.mdc-evolution-chip--selecting .mdc-evolution-chip__checkmark-path{transition:stroke-dashoffset 150ms 45ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark-path{stroke-dashoffset:0}@media(forced-colors: active){.mdc-evolution-chip__checkmark-path{stroke:CanvasText !important}}.mat-mdc-standard-chip .mdc-evolution-chip__icon--trailing{height:18px;width:18px;font-size:18px}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing.mat-mdc-chip-remove{opacity:calc(var(--mat-chip-trailing-action-opacity, 1)*var(--mdc-chip-with-trailing-icon-disabled-trailing-icon-opacity, 0.38))}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing.mat-mdc-chip-remove:focus{opacity:calc(var(--mat-chip-trailing-action-focus-opacity, 1)*var(--mdc-chip-with-trailing-icon-disabled-trailing-icon-opacity, 0.38))}.mat-mdc-standard-chip{border-radius:var(--mdc-chip-container-shape-radius, 8px);height:var(--mdc-chip-container-height, 32px)}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled){background-color:var(--mdc-chip-elevated-container-color, transparent)}.mat-mdc-standard-chip.mdc-evolution-chip--disabled{background-color:var(--mdc-chip-elevated-disabled-container-color)}.mat-mdc-standard-chip.mdc-evolution-chip--selected:not(.mdc-evolution-chip--disabled){background-color:var(--mdc-chip-elevated-selected-container-color, var(--mat-sys-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled{background-color:var(--mdc-chip-flat-disabled-selected-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}@media(forced-colors: active){.mat-mdc-standard-chip{outline:solid 1px}}.mat-mdc-standard-chip .mdc-evolution-chip__icon--primary{border-radius:var(--mdc-chip-with-avatar-avatar-shape-radius, 24px);width:var(--mdc-chip-with-icon-icon-size, 18px);height:var(--mdc-chip-with-icon-icon-size, 18px);font-size:var(--mdc-chip-with-icon-icon-size, 18px)}.mdc-evolution-chip--selected .mdc-evolution-chip__icon--primary{opacity:0}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__icon--primary{color:var(--mdc-chip-with-icon-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--primary{color:var(--mdc-chip-with-icon-disabled-icon-color, var(--mat-sys-on-surface))}.mat-mdc-chip-highlighted{--mdc-chip-with-icon-icon-color:var(--mdc-chip-with-icon-selected-icon-color, var(--mat-sys-on-secondary-container));--mdc-chip-elevated-container-color:var(--mdc-chip-elevated-selected-container-color, var(--mat-sys-secondary-container));--mdc-chip-label-text-color:var(--mdc-chip-selected-label-text-color, var(--mat-sys-on-secondary-container));--mdc-chip-outline-width:var(--mdc-chip-flat-selected-outline-width, 0)}.mat-mdc-chip-focus-overlay{background:var(--mdc-chip-focus-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-chip-selected .mat-mdc-chip-focus-overlay,.mat-mdc-chip-highlighted .mat-mdc-chip-focus-overlay{background:var(--mdc-chip-selected-focus-state-layer-color, var(--mat-sys-on-secondary-container))}.mat-mdc-chip:hover .mat-mdc-chip-focus-overlay{background:var(--mdc-chip-hover-state-layer-color, var(--mat-sys-on-surface-variant));opacity:var(--mdc-chip-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-chip-focus-overlay .mat-mdc-chip-selected:hover,.mat-mdc-chip-highlighted:hover .mat-mdc-chip-focus-overlay{background:var(--mdc-chip-selected-hover-state-layer-color, var(--mat-sys-on-secondary-container));opacity:var(--mdc-chip-selected-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-chip.cdk-focused .mat-mdc-chip-focus-overlay{background:var(--mdc-chip-focus-state-layer-color, var(--mat-sys-on-surface-variant));opacity:var(--mdc-chip-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-chip-selected.cdk-focused .mat-mdc-chip-focus-overlay,.mat-mdc-chip-highlighted.cdk-focused .mat-mdc-chip-focus-overlay{background:var(--mdc-chip-selected-focus-state-layer-color, var(--mat-sys-on-secondary-container));opacity:var(--mdc-chip-selected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mdc-evolution-chip--disabled:not(.mdc-evolution-chip--selected) .mat-mdc-chip-avatar{opacity:var(--mdc-chip-with-avatar-disabled-avatar-opacity, 0.38)}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing{opacity:var(--mdc-chip-with-trailing-icon-disabled-trailing-icon-opacity, 0.38)}.mdc-evolution-chip--disabled.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark{opacity:var(--mdc-chip-with-icon-disabled-icon-opacity, 0.38)}.mat-mdc-standard-chip.mdc-evolution-chip--disabled{opacity:var(--mat-chip-disabled-container-opacity, 1)}.mat-mdc-standard-chip.mdc-evolution-chip--selected .mdc-evolution-chip__icon--trailing,.mat-mdc-standard-chip.mat-mdc-chip-highlighted .mdc-evolution-chip__icon--trailing{color:var(--mat-chip-selected-trailing-icon-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing,.mat-mdc-standard-chip.mat-mdc-chip-highlighted.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing{color:var(--mat-chip-selected-disabled-trailing-icon-color, var(--mat-sys-on-surface))}.mat-mdc-chip-remove{opacity:var(--mat-chip-trailing-action-opacity, 1)}.mat-mdc-chip-remove:focus{opacity:var(--mat-chip-trailing-action-focus-opacity, 1)}.mat-mdc-chip-remove::after{background-color:var(--mat-chip-trailing-action-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-chip-remove:hover::after{opacity:var(--mat-chip-trailing-action-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-chip-remove:focus::after{opacity:var(--mat-chip-trailing-action-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-chip-selected .mat-mdc-chip-remove::after,.mat-mdc-chip-highlighted .mat-mdc-chip-remove::after{background-color:var(--mat-chip-selected-trailing-action-state-layer-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip{-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-standard-chip .mdc-evolution-chip__cell--primary,.mat-mdc-standard-chip .mdc-evolution-chip__action--primary,.mat-mdc-standard-chip .mat-mdc-chip-action-label{overflow:visible}.mat-mdc-standard-chip .mat-mdc-chip-graphic,.mat-mdc-standard-chip .mat-mdc-chip-trailing-icon{box-sizing:content-box}.mat-mdc-standard-chip._mat-animation-noopable,.mat-mdc-standard-chip._mat-animation-noopable .mdc-evolution-chip__graphic,.mat-mdc-standard-chip._mat-animation-noopable .mdc-evolution-chip__checkmark,.mat-mdc-standard-chip._mat-animation-noopable .mdc-evolution-chip__checkmark-path{transition-duration:1ms;animation-duration:1ms}.mat-mdc-chip-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;opacity:0;border-radius:inherit;transition:opacity 150ms linear}._mat-animation-noopable .mat-mdc-chip-focus-overlay{transition:none}.mat-mdc-basic-chip .mat-mdc-chip-focus-overlay{display:none}.mat-mdc-chip .mat-ripple.mat-mdc-chip-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-chip-avatar{text-align:center;line-height:1;color:var(--mdc-chip-with-icon-icon-color, currentColor)}.mat-mdc-chip{position:relative;z-index:0}.mat-mdc-chip-action-label{text-align:left;z-index:1}[dir=rtl] .mat-mdc-chip-action-label{text-align:right}.mat-mdc-chip.mdc-evolution-chip--with-trailing-action .mat-mdc-chip-action-label{position:relative}.mat-mdc-chip-action-label .mat-mdc-chip-primary-focus-indicator{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.mat-mdc-chip-action-label .mat-focus-indicator::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 2px)*-1)}.mat-mdc-chip-remove::before{margin:calc(var(--mat-focus-indicator-border-width, 3px)*-1);left:8px;right:8px}.mat-mdc-chip-remove::after{content:\\\"\\\";display:block;opacity:0;position:absolute;top:-3px;bottom:-3px;left:5px;right:5px;border-radius:50%;box-sizing:border-box;padding:12px;margin:-12px;background-clip:content-box}.mat-mdc-chip-remove .mat-icon{width:18px;height:18px;font-size:18px;box-sizing:content-box}.mat-chip-edit-input{cursor:text;display:inline-block;color:inherit;outline:0}@media(forced-colors: active){.mat-mdc-chip-selected:not(.mat-mdc-chip-multiple){outline-width:3px}}.mat-mdc-chip-action:focus .mat-focus-indicator::before{content:\\\"\\\"}\";\nconst _c3 = [[[\"mat-chip-avatar\"], [\"\", \"matChipAvatar\", \"\"]], [[\"\", \"matChipEditInput\", \"\"]], \"*\", [[\"mat-chip-trailing-icon\"], [\"\", \"matChipRemove\", \"\"], [\"\", \"matChipTrailingIcon\", \"\"]]];\nconst _c4 = [\"mat-chip-avatar, [matChipAvatar]\", \"[matChipEditInput]\", \"*\", \"mat-chip-trailing-icon,[matChipRemove],[matChipTrailingIcon]\"];\nfunction MatChipRow_Conditional_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"span\", 0);\n }\n}\nfunction MatChipRow_Conditional_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\", 2);\n i0.ɵɵprojection(1);\n i0.ɵɵelementEnd();\n }\n}\nfunction MatChipRow_Conditional_4_Conditional_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojection(0, 1);\n }\n}\nfunction MatChipRow_Conditional_4_Conditional_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"span\", 7);\n }\n}\nfunction MatChipRow_Conditional_4_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, MatChipRow_Conditional_4_Conditional_0_Template, 1, 0)(1, MatChipRow_Conditional_4_Conditional_1_Template, 1, 0, \"span\", 7);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵconditional(ctx_r0.contentEditInput ? 0 : 1);\n }\n}\nfunction MatChipRow_Conditional_5_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojection(0, 2);\n }\n}\nfunction MatChipRow_Conditional_7_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\", 5);\n i0.ɵɵprojection(1, 3);\n i0.ɵɵelementEnd();\n }\n}\nconst _c5 = [\"*\"];\nconst _c6 = \".mat-mdc-chip-set{display:flex}.mat-mdc-chip-set:focus{outline:none}.mat-mdc-chip-set .mdc-evolution-chip-set__chips{min-width:100%;margin-left:-8px;margin-right:0}.mat-mdc-chip-set .mdc-evolution-chip{margin:4px 0 4px 8px}[dir=rtl] .mat-mdc-chip-set .mdc-evolution-chip-set__chips{margin-left:0;margin-right:-8px}[dir=rtl] .mat-mdc-chip-set .mdc-evolution-chip{margin-left:0;margin-right:8px}.mdc-evolution-chip-set__chips{display:flex;flex-flow:wrap;min-width:0}.mat-mdc-chip-set-stacked{flex-direction:column;align-items:flex-start}.mat-mdc-chip-set-stacked .mat-mdc-chip{width:100%}.mat-mdc-chip-set-stacked .mdc-evolution-chip__graphic{flex-grow:0}.mat-mdc-chip-set-stacked .mdc-evolution-chip__action--primary{flex-basis:100%;justify-content:start}input.mat-mdc-chip-input{flex:1 0 150px;margin-left:8px}[dir=rtl] input.mat-mdc-chip-input{margin-left:0;margin-right:8px}\";\nconst MAT_CHIPS_DEFAULT_OPTIONS = /*#__PURE__*/new InjectionToken('mat-chips-default-options', {\n providedIn: 'root',\n factory: () => ({\n separatorKeyCodes: [ENTER]\n })\n});\n/**\n * Injection token that can be used to reference instances of `MatChipAvatar`. It serves as\n * alternative token to the actual `MatChipAvatar` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst MAT_CHIP_AVATAR = /*#__PURE__*/new InjectionToken('MatChipAvatar');\n/**\n * Injection token that can be used to reference instances of `MatChipTrailingIcon`. It serves as\n * alternative token to the actual `MatChipTrailingIcon` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst MAT_CHIP_TRAILING_ICON = /*#__PURE__*/new InjectionToken('MatChipTrailingIcon');\n/**\n * Injection token that can be used to reference instances of `MatChipRemove`. It serves as\n * alternative token to the actual `MatChipRemove` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst MAT_CHIP_REMOVE = /*#__PURE__*/new InjectionToken('MatChipRemove');\n/**\n * Injection token used to avoid a circular dependency between the `MatChip` and `MatChipAction`.\n */\nconst MAT_CHIP = /*#__PURE__*/new InjectionToken('MatChip');\n\n/**\n * Section within a chip.\n * @docs-private\n */\nlet MatChipAction = /*#__PURE__*/(() => {\n class MatChipAction {\n _elementRef = inject(ElementRef);\n _parentChip = inject(MAT_CHIP);\n /** Whether the action is interactive. */\n isInteractive = true;\n /** Whether this is the primary action in the chip. */\n _isPrimary = true;\n /** Whether the action is disabled. */\n get disabled() {\n return this._disabled || this._parentChip?.disabled || false;\n }\n set disabled(value) {\n this._disabled = value;\n }\n _disabled = false;\n /** Tab index of the action. */\n tabIndex = -1;\n /**\n * Private API to allow focusing this chip when it is disabled.\n */\n _allowFocusWhenDisabled = false;\n /**\n * Determine the value of the disabled attribute for this chip action.\n */\n _getDisabledAttribute() {\n // When this chip action is disabled and focusing disabled chips is not permitted, return empty\n // string to indicate that disabled attribute should be included.\n return this.disabled && !this._allowFocusWhenDisabled ? '' : null;\n }\n /**\n * Determine the value of the tabindex attribute for this chip action.\n */\n _getTabindex() {\n return this.disabled && !this._allowFocusWhenDisabled || !this.isInteractive ? null : this.tabIndex.toString();\n }\n constructor() {\n inject(_CdkPrivateStyleLoader).load(_StructuralStylesLoader);\n if (this._elementRef.nativeElement.nodeName === 'BUTTON') {\n this._elementRef.nativeElement.setAttribute('type', 'button');\n }\n }\n focus() {\n this._elementRef.nativeElement.focus();\n }\n _handleClick(event) {\n if (!this.disabled && this.isInteractive && this._isPrimary) {\n event.preventDefault();\n this._parentChip._handlePrimaryActionInteraction();\n }\n }\n _handleKeydown(event) {\n if ((event.keyCode === ENTER || event.keyCode === SPACE) && !this.disabled && this.isInteractive && this._isPrimary && !this._parentChip._isEditing) {\n event.preventDefault();\n this._parentChip._handlePrimaryActionInteraction();\n }\n }\n static ɵfac = function MatChipAction_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || MatChipAction)();\n };\n static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: MatChipAction,\n selectors: [[\"\", \"matChipAction\", \"\"]],\n hostAttrs: [1, \"mdc-evolution-chip__action\", \"mat-mdc-chip-action\"],\n hostVars: 9,\n hostBindings: function MatChipAction_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"click\", function MatChipAction_click_HostBindingHandler($event) {\n return ctx._handleClick($event);\n })(\"keydown\", function MatChipAction_keydown_HostBindingHandler($event) {\n return ctx._handleKeydown($event);\n });\n }\n if (rf & 2) {\n i0.ɵɵattribute(\"tabindex\", ctx._getTabindex())(\"disabled\", ctx._getDisabledAttribute())(\"aria-disabled\", ctx.disabled);\n i0.ɵɵclassProp(\"mdc-evolution-chip__action--primary\", ctx._isPrimary)(\"mdc-evolution-chip__action--presentational\", !ctx.isInteractive)(\"mdc-evolution-chip__action--trailing\", !ctx._isPrimary);\n }\n },\n inputs: {\n isInteractive: \"isInteractive\",\n disabled: [2, \"disabled\", \"disabled\", booleanAttribute],\n tabIndex: [2, \"tabIndex\", \"tabIndex\", value => value == null ? -1 : numberAttribute(value)],\n _allowFocusWhenDisabled: \"_allowFocusWhenDisabled\"\n }\n });\n }\n return MatChipAction;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/** Avatar image within a chip. */\nlet MatChipAvatar = /*#__PURE__*/(() => {\n class MatChipAvatar {\n static ɵfac = function MatChipAvatar_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || MatChipAvatar)();\n };\n static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: MatChipAvatar,\n selectors: [[\"mat-chip-avatar\"], [\"\", \"matChipAvatar\", \"\"]],\n hostAttrs: [\"role\", \"img\", 1, \"mat-mdc-chip-avatar\", \"mdc-evolution-chip__icon\", \"mdc-evolution-chip__icon--primary\"],\n features: [i0.ɵɵProvidersFeature([{\n provide: MAT_CHIP_AVATAR,\n useExisting: MatChipAvatar\n }])]\n });\n }\n return MatChipAvatar;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/** Non-interactive trailing icon in a chip. */\nlet MatChipTrailingIcon = /*#__PURE__*/(() => {\n class MatChipTrailingIcon extends MatChipAction {\n /**\n * MDC considers all trailing actions as a remove icon,\n * but we support non-interactive trailing icons.\n */\n isInteractive = false;\n _isPrimary = false;\n static ɵfac = /* @__PURE__ */(() => {\n let ɵMatChipTrailingIcon_BaseFactory;\n return function MatChipTrailingIcon_Factory(__ngFactoryType__) {\n return (ɵMatChipTrailingIcon_BaseFactory || (ɵMatChipTrailingIcon_BaseFactory = i0.ɵɵgetInheritedFactory(MatChipTrailingIcon)))(__ngFactoryType__ || MatChipTrailingIcon);\n };\n })();\n static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: MatChipTrailingIcon,\n selectors: [[\"mat-chip-trailing-icon\"], [\"\", \"matChipTrailingIcon\", \"\"]],\n hostAttrs: [\"aria-hidden\", \"true\", 1, \"mat-mdc-chip-trailing-icon\", \"mdc-evolution-chip__icon\", \"mdc-evolution-chip__icon--trailing\"],\n features: [i0.ɵɵProvidersFeature([{\n provide: MAT_CHIP_TRAILING_ICON,\n useExisting: MatChipTrailingIcon\n }]), i0.ɵɵInheritDefinitionFeature]\n });\n }\n return MatChipTrailingIcon;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Directive to remove the parent chip when the trailing icon is clicked or\n * when the ENTER key is pressed on it.\n *\n * Recommended for use with the Material Design \"cancel\" icon\n * available at https://material.io/icons/#ic_cancel.\n *\n * Example:\n *\n * ```\n * \n * cancel\n * \n * ```\n */\nlet MatChipRemove = /*#__PURE__*/(() => {\n class MatChipRemove extends MatChipAction {\n _isPrimary = false;\n _handleClick(event) {\n if (!this.disabled) {\n event.stopPropagation();\n event.preventDefault();\n this._parentChip.remove();\n }\n }\n _handleKeydown(event) {\n if ((event.keyCode === ENTER || event.keyCode === SPACE) && !this.disabled) {\n event.stopPropagation();\n event.preventDefault();\n this._parentChip.remove();\n }\n }\n static ɵfac = /* @__PURE__ */(() => {\n let ɵMatChipRemove_BaseFactory;\n return function MatChipRemove_Factory(__ngFactoryType__) {\n return (ɵMatChipRemove_BaseFactory || (ɵMatChipRemove_BaseFactory = i0.ɵɵgetInheritedFactory(MatChipRemove)))(__ngFactoryType__ || MatChipRemove);\n };\n })();\n static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: MatChipRemove,\n selectors: [[\"\", \"matChipRemove\", \"\"]],\n hostAttrs: [\"role\", \"button\", 1, \"mat-mdc-chip-remove\", \"mat-mdc-chip-trailing-icon\", \"mat-focus-indicator\", \"mdc-evolution-chip__icon\", \"mdc-evolution-chip__icon--trailing\"],\n hostVars: 1,\n hostBindings: function MatChipRemove_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵattribute(\"aria-hidden\", null);\n }\n },\n features: [i0.ɵɵProvidersFeature([{\n provide: MAT_CHIP_REMOVE,\n useExisting: MatChipRemove\n }]), i0.ɵɵInheritDefinitionFeature]\n });\n }\n return MatChipRemove;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Material design styled Chip base component. Used inside the MatChipSet component.\n *\n * Extended by MatChipOption and MatChipRow for different interaction patterns.\n */\nlet MatChip = /*#__PURE__*/(() => {\n class MatChip {\n _changeDetectorRef = inject(ChangeDetectorRef);\n _elementRef = inject(ElementRef);\n _ngZone = inject(NgZone);\n _focusMonitor = inject(FocusMonitor);\n _globalRippleOptions = inject(MAT_RIPPLE_GLOBAL_OPTIONS, {\n optional: true\n });\n _document = inject(DOCUMENT);\n /** Emits when the chip is focused. */\n _onFocus = new Subject();\n /** Emits when the chip is blurred. */\n _onBlur = new Subject();\n /** Whether this chip is a basic (unstyled) chip. */\n _isBasicChip;\n /** Role for the root of the chip. */\n role = null;\n /** Whether the chip has focus. */\n _hasFocusInternal = false;\n /** Whether moving focus into the chip is pending. */\n _pendingFocus;\n /** Subscription to changes in the chip's actions. */\n _actionChanges;\n /** Whether animations for the chip are enabled. */\n _animationsDisabled;\n /** All avatars present in the chip. */\n _allLeadingIcons;\n /** All trailing icons present in the chip. */\n _allTrailingIcons;\n /** All remove icons present in the chip. */\n _allRemoveIcons;\n _hasFocus() {\n return this._hasFocusInternal;\n }\n /** A unique id for the chip. If none is supplied, it will be auto-generated. */\n id = inject(_IdGenerator).getId('mat-mdc-chip-');\n // TODO(#26104): Consider deprecating and using `_computeAriaAccessibleName` instead.\n // `ariaLabel` may be unnecessary, and `_computeAriaAccessibleName` only supports\n // datepicker's use case.\n /** ARIA label for the content of the chip. */\n ariaLabel = null;\n // TODO(#26104): Consider deprecating and using `_computeAriaAccessibleName` instead.\n // `ariaDescription` may be unnecessary, and `_computeAriaAccessibleName` only supports\n // datepicker's use case.\n /** ARIA description for the content of the chip. */\n ariaDescription = null;\n /** Id of a span that contains this chip's aria description. */\n _ariaDescriptionId = `${this.id}-aria-description`;\n /** Whether the chip list is disabled. */\n _chipListDisabled = false;\n _textElement;\n /**\n * The value of the chip. Defaults to the content inside\n * the `mat-mdc-chip-action-label` element.\n */\n get value() {\n return this._value !== undefined ? this._value : this._textElement.textContent.trim();\n }\n set value(value) {\n this._value = value;\n }\n _value;\n // TODO: should be typed as `ThemePalette` but internal apps pass in arbitrary strings.\n /**\n * Theme color of the chip. This API is supported in M2 themes only, it has no\n * effect in M3 themes. For color customization in M3, see https://material.angular.io/components/chips/styling.\n *\n * For information on applying color variants in M3, see\n * https://material.angular.io/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants\n */\n color;\n /**\n * Determines whether or not the chip displays the remove styling and emits (removed) events.\n */\n removable = true;\n /**\n * Colors the chip for emphasis as if it were selected.\n */\n highlighted = false;\n /** Whether the ripple effect is disabled or not. */\n disableRipple = false;\n /** Whether the chip is disabled. */\n get disabled() {\n return this._disabled || this._chipListDisabled;\n }\n set disabled(value) {\n this._disabled = value;\n }\n _disabled = false;\n /** Emitted when a chip is to be removed. */\n removed = new EventEmitter();\n /** Emitted when the chip is destroyed. */\n destroyed = new EventEmitter();\n /** The unstyled chip selector for this component. */\n basicChipAttrName = 'mat-basic-chip';\n /** The chip's leading icon. */\n leadingIcon;\n /** The chip's trailing icon. */\n trailingIcon;\n /** The chip's trailing remove icon. */\n removeIcon;\n /** Action receiving the primary set of user interactions. */\n primaryAction;\n /**\n * Handles the lazy creation of the MatChip ripple.\n * Used to improve initial load time of large applications.\n */\n _rippleLoader = inject(MatRippleLoader);\n _injector = inject(Injector);\n constructor() {\n const styleLoader = inject(_CdkPrivateStyleLoader);\n styleLoader.load(_StructuralStylesLoader);\n styleLoader.load(_VisuallyHiddenLoader);\n const animationMode = inject(ANIMATION_MODULE_TYPE, {\n optional: true\n });\n this._animationsDisabled = animationMode === 'NoopAnimations';\n this._monitorFocus();\n this._rippleLoader?.configureRipple(this._elementRef.nativeElement, {\n className: 'mat-mdc-chip-ripple',\n disabled: this._isRippleDisabled()\n });\n }\n ngOnInit() {\n // This check needs to happen in `ngOnInit` so the overridden value of\n // `basicChipAttrName` coming from base classes can be picked up.\n const element = this._elementRef.nativeElement;\n this._isBasicChip = element.hasAttribute(this.basicChipAttrName) || element.tagName.toLowerCase() === this.basicChipAttrName;\n }\n ngAfterViewInit() {\n this._textElement = this._elementRef.nativeElement.querySelector('.mat-mdc-chip-action-label');\n if (this._pendingFocus) {\n this._pendingFocus = false;\n this.focus();\n }\n }\n ngAfterContentInit() {\n // Since the styling depends on the presence of some\n // actions, we have to mark for check on changes.\n this._actionChanges = merge(this._allLeadingIcons.changes, this._allTrailingIcons.changes, this._allRemoveIcons.changes).subscribe(() => this._changeDetectorRef.markForCheck());\n }\n ngDoCheck() {\n this._rippleLoader.setDisabled(this._elementRef.nativeElement, this._isRippleDisabled());\n }\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef);\n this._rippleLoader?.destroyRipple(this._elementRef.nativeElement);\n this._actionChanges?.unsubscribe();\n this.destroyed.emit({\n chip: this\n });\n this.destroyed.complete();\n }\n /**\n * Allows for programmatic removal of the chip.\n *\n * Informs any listeners of the removal request. Does not remove the chip from the DOM.\n */\n remove() {\n if (this.removable) {\n this.removed.emit({\n chip: this\n });\n }\n }\n /** Whether or not the ripple should be disabled. */\n _isRippleDisabled() {\n return this.disabled || this.disableRipple || this._animationsDisabled || this._isBasicChip || !!this._globalRippleOptions?.disabled;\n }\n /** Returns whether the chip has a trailing icon. */\n _hasTrailingIcon() {\n return !!(this.trailingIcon || this.removeIcon);\n }\n /** Handles keyboard events on the chip. */\n _handleKeydown(event) {\n // Ignore backspace events where the user is holding down the key\n // so that we don't accidentally remove too many chips.\n if (event.keyCode === BACKSPACE && !event.repeat || event.keyCode === DELETE) {\n event.preventDefault();\n this.remove();\n }\n }\n /** Allows for programmatic focusing of the chip. */\n focus() {\n if (!this.disabled) {\n // If `focus` is called before `ngAfterViewInit`, we won't have access to the primary action.\n // This can happen if the consumer tries to focus a chip immediately after it is added.\n // Queue the method to be called again on init.\n if (this.primaryAction) {\n this.primaryAction.focus();\n } else {\n this._pendingFocus = true;\n }\n }\n }\n /** Gets the action that contains a specific target node. */\n _getSourceAction(target) {\n return this._getActions().find(action => {\n const element = action._elementRef.nativeElement;\n return element === target || element.contains(target);\n });\n }\n /** Gets all of the actions within the chip. */\n _getActions() {\n const result = [];\n if (this.primaryAction) {\n result.push(this.primaryAction);\n }\n if (this.removeIcon) {\n result.push(this.removeIcon);\n }\n if (this.trailingIcon) {\n result.push(this.trailingIcon);\n }\n return result;\n }\n /** Handles interactions with the primary action of the chip. */\n _handlePrimaryActionInteraction() {\n // Empty here, but is overwritten in child classes.\n }\n /** Starts the focus monitoring process on the chip. */\n _monitorFocus() {\n this._focusMonitor.monitor(this._elementRef, true).subscribe(origin => {\n const hasFocus = origin !== null;\n if (hasFocus !== this._hasFocusInternal) {\n this._hasFocusInternal = hasFocus;\n if (hasFocus) {\n this._onFocus.next({\n chip: this\n });\n } else {\n // When animations are enabled, Angular may end up removing the chip from the DOM a little\n // earlier than usual, causing it to be blurred and throwing off the logic in the chip list\n // that moves focus to the next item. To work around the issue, we defer marking the chip\n // as not focused until after the next render.\n this._changeDetectorRef.markForCheck();\n setTimeout(() => this._ngZone.run(() => this._onBlur.next({\n chip: this\n })));\n }\n }\n });\n }\n static ɵfac = function MatChip_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || MatChip)();\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: MatChip,\n selectors: [[\"mat-basic-chip\"], [\"\", \"mat-basic-chip\", \"\"], [\"mat-chip\"], [\"\", \"mat-chip\", \"\"]],\n contentQueries: function MatChip_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, MAT_CHIP_AVATAR, 5);\n i0.ɵɵcontentQuery(dirIndex, MAT_CHIP_TRAILING_ICON, 5);\n i0.ɵɵcontentQuery(dirIndex, MAT_CHIP_REMOVE, 5);\n i0.ɵɵcontentQuery(dirIndex, MAT_CHIP_AVATAR, 5);\n i0.ɵɵcontentQuery(dirIndex, MAT_CHIP_TRAILING_ICON, 5);\n i0.ɵɵcontentQuery(dirIndex, MAT_CHIP_REMOVE, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.leadingIcon = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.trailingIcon = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.removeIcon = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._allLeadingIcons = _t);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._allTrailingIcons = _t);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._allRemoveIcons = _t);\n }\n },\n viewQuery: function MatChip_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(MatChipAction, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.primaryAction = _t.first);\n }\n },\n hostAttrs: [1, \"mat-mdc-chip\"],\n hostVars: 31,\n hostBindings: function MatChip_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"keydown\", function MatChip_keydown_HostBindingHandler($event) {\n return ctx._handleKeydown($event);\n });\n }\n if (rf & 2) {\n i0.ɵɵhostProperty(\"id\", ctx.id);\n i0.ɵɵattribute(\"role\", ctx.role)(\"aria-label\", ctx.ariaLabel);\n i0.ɵɵclassMap(\"mat-\" + (ctx.color || \"primary\"));\n i0.ɵɵclassProp(\"mdc-evolution-chip\", !ctx._isBasicChip)(\"mdc-evolution-chip--disabled\", ctx.disabled)(\"mdc-evolution-chip--with-trailing-action\", ctx._hasTrailingIcon())(\"mdc-evolution-chip--with-primary-graphic\", ctx.leadingIcon)(\"mdc-evolution-chip--with-primary-icon\", ctx.leadingIcon)(\"mdc-evolution-chip--with-avatar\", ctx.leadingIcon)(\"mat-mdc-chip-with-avatar\", ctx.leadingIcon)(\"mat-mdc-chip-highlighted\", ctx.highlighted)(\"mat-mdc-chip-disabled\", ctx.disabled)(\"mat-mdc-basic-chip\", ctx._isBasicChip)(\"mat-mdc-standard-chip\", !ctx._isBasicChip)(\"mat-mdc-chip-with-trailing-icon\", ctx._hasTrailingIcon())(\"_mat-animation-noopable\", ctx._animationsDisabled);\n }\n },\n inputs: {\n role: \"role\",\n id: \"id\",\n ariaLabel: [0, \"aria-label\", \"ariaLabel\"],\n ariaDescription: [0, \"aria-description\", \"ariaDescription\"],\n value: \"value\",\n color: \"color\",\n removable: [2, \"removable\", \"removable\", booleanAttribute],\n highlighted: [2, \"highlighted\", \"highlighted\", booleanAttribute],\n disableRipple: [2, \"disableRipple\", \"disableRipple\", booleanAttribute],\n disabled: [2, \"disabled\", \"disabled\", booleanAttribute]\n },\n outputs: {\n removed: \"removed\",\n destroyed: \"destroyed\"\n },\n exportAs: [\"matChip\"],\n features: [i0.ɵɵProvidersFeature([{\n provide: MAT_CHIP,\n useExisting: MatChip\n }])],\n ngContentSelectors: _c1,\n decls: 8,\n vars: 3,\n consts: [[1, \"mat-mdc-chip-focus-overlay\"], [1, \"mdc-evolution-chip__cell\", \"mdc-evolution-chip__cell--primary\"], [\"matChipAction\", \"\", 3, \"isInteractive\"], [1, \"mdc-evolution-chip__graphic\", \"mat-mdc-chip-graphic\"], [1, \"mdc-evolution-chip__text-label\", \"mat-mdc-chip-action-label\"], [1, \"mat-mdc-chip-primary-focus-indicator\", \"mat-focus-indicator\"], [1, \"mdc-evolution-chip__cell\", \"mdc-evolution-chip__cell--trailing\"]],\n template: function MatChip_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef(_c0);\n i0.ɵɵelement(0, \"span\", 0);\n i0.ɵɵelementStart(1, \"span\", 1)(2, \"span\", 2);\n i0.ɵɵtemplate(3, MatChip_Conditional_3_Template, 2, 0, \"span\", 3);\n i0.ɵɵelementStart(4, \"span\", 4);\n i0.ɵɵprojection(5);\n i0.ɵɵelement(6, \"span\", 5);\n i0.ɵɵelementEnd()()();\n i0.ɵɵtemplate(7, MatChip_Conditional_7_Template, 2, 0, \"span\", 6);\n }\n if (rf & 2) {\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"isInteractive\", false);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx.leadingIcon ? 3 : -1);\n i0.ɵɵadvance(4);\n i0.ɵɵconditional(ctx._hasTrailingIcon() ? 7 : -1);\n }\n },\n dependencies: [MatChipAction],\n styles: [\".mdc-evolution-chip,.mdc-evolution-chip__cell,.mdc-evolution-chip__action{display:inline-flex;align-items:center}.mdc-evolution-chip{position:relative;max-width:100%}.mdc-evolution-chip__cell,.mdc-evolution-chip__action{height:100%}.mdc-evolution-chip__cell--primary{flex-basis:100%;overflow-x:hidden}.mdc-evolution-chip__cell--trailing{flex:1 0 auto}.mdc-evolution-chip__action{align-items:center;background:none;border:none;box-sizing:content-box;cursor:pointer;display:inline-flex;justify-content:center;outline:none;padding:0;text-decoration:none;color:inherit}.mdc-evolution-chip__action--presentational{cursor:auto}.mdc-evolution-chip--disabled,.mdc-evolution-chip__action:disabled{pointer-events:none}.mdc-evolution-chip__action--primary{font:inherit;letter-spacing:inherit;white-space:inherit;overflow-x:hidden}.mat-mdc-standard-chip .mdc-evolution-chip__action--primary::before{border-width:var(--mdc-chip-outline-width, 1px);border-radius:var(--mdc-chip-container-shape-radius, 8px);box-sizing:border-box;content:\\\"\\\";height:100%;left:0;position:absolute;pointer-events:none;top:0;width:100%;z-index:1;border-style:solid}.mat-mdc-standard-chip .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:12px}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__action--primary::before{border-color:var(--mdc-chip-outline-color, var(--mat-sys-outline))}.mdc-evolution-chip__action--primary:not(.mdc-evolution-chip__action--presentational):not(.mdc-ripple-upgraded):focus::before{border-color:var(--mdc-chip-focus-outline-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__action--primary::before{border-color:var(--mdc-chip-disabled-outline-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-mdc-standard-chip.mdc-evolution-chip--selected .mdc-evolution-chip__action--primary::before{border-width:var(--mdc-chip-flat-selected-outline-width, 0)}.mat-mdc-basic-chip .mdc-evolution-chip__action--primary{font:inherit}.mat-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mdc-evolution-chip__action--trailing{position:relative;overflow:visible}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__action--trailing{color:var(--mdc-chip-with-trailing-icon-trailing-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__action--trailing{color:var(--mdc-chip-with-trailing-icon-disabled-trailing-icon-color, var(--mat-sys-on-surface))}.mat-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--trailing{padding-left:8px;padding-right:8px}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--trailing{padding-left:8px;padding-right:8px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--trailing{padding-left:8px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--trailing{padding-left:8px;padding-right:8px}.mdc-evolution-chip__text-label{-webkit-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mat-mdc-standard-chip .mdc-evolution-chip__text-label{font-family:var(--mdc-chip-label-text-font, var(--mat-sys-label-large-font));line-height:var(--mdc-chip-label-text-line-height, var(--mat-sys-label-large-line-height));font-size:var(--mdc-chip-label-text-size, var(--mat-sys-label-large-size));font-weight:var(--mdc-chip-label-text-weight, var(--mat-sys-label-large-weight));letter-spacing:var(--mdc-chip-label-text-tracking, var(--mat-sys-label-large-tracking))}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__text-label{color:var(--mdc-chip-label-text-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--selected:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__text-label{color:var(--mdc-chip-selected-label-text-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__text-label,.mat-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled .mdc-evolution-chip__text-label{color:var(--mdc-chip-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mdc-evolution-chip__graphic{align-items:center;display:inline-flex;justify-content:center;overflow:hidden;pointer-events:none;position:relative;flex:1 0 auto}.mat-mdc-standard-chip .mdc-evolution-chip__graphic{width:var(--mdc-chip-with-avatar-avatar-size, 24px);height:var(--mdc-chip-with-avatar-avatar-size, 24px);font-size:var(--mdc-chip-with-avatar-avatar-size, 24px)}.mdc-evolution-chip--selecting .mdc-evolution-chip__graphic{transition:width 150ms 0ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-evolution-chip--selectable:not(.mdc-evolution-chip--selected):not(.mdc-evolution-chip--with-primary-icon) .mdc-evolution-chip__graphic{width:0}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:6px;padding-right:6px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:4px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:8px;padding-right:4px}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:6px;padding-right:6px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:4px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:8px;padding-right:4px}.mdc-evolution-chip__checkmark{position:absolute;opacity:0;top:50%;left:50%;height:20px;width:20px}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__checkmark{color:var(--mdc-chip-with-icon-selected-icon-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__checkmark{color:var(--mdc-chip-with-icon-disabled-icon-color, var(--mat-sys-on-surface))}.mdc-evolution-chip--selecting .mdc-evolution-chip__checkmark{transition:transform 150ms 0ms cubic-bezier(0.4, 0, 0.2, 1);transform:translate(-75%, -50%)}.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark{transform:translate(-50%, -50%);opacity:1}.mdc-evolution-chip__checkmark-svg{display:block}.mdc-evolution-chip__checkmark-path{stroke-width:2px;stroke-dasharray:29.7833385;stroke-dashoffset:29.7833385;stroke:currentColor}.mdc-evolution-chip--selecting .mdc-evolution-chip__checkmark-path{transition:stroke-dashoffset 150ms 45ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark-path{stroke-dashoffset:0}@media(forced-colors: active){.mdc-evolution-chip__checkmark-path{stroke:CanvasText !important}}.mat-mdc-standard-chip .mdc-evolution-chip__icon--trailing{height:18px;width:18px;font-size:18px}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing.mat-mdc-chip-remove{opacity:calc(var(--mat-chip-trailing-action-opacity, 1)*var(--mdc-chip-with-trailing-icon-disabled-trailing-icon-opacity, 0.38))}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing.mat-mdc-chip-remove:focus{opacity:calc(var(--mat-chip-trailing-action-focus-opacity, 1)*var(--mdc-chip-with-trailing-icon-disabled-trailing-icon-opacity, 0.38))}.mat-mdc-standard-chip{border-radius:var(--mdc-chip-container-shape-radius, 8px);height:var(--mdc-chip-container-height, 32px)}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled){background-color:var(--mdc-chip-elevated-container-color, transparent)}.mat-mdc-standard-chip.mdc-evolution-chip--disabled{background-color:var(--mdc-chip-elevated-disabled-container-color)}.mat-mdc-standard-chip.mdc-evolution-chip--selected:not(.mdc-evolution-chip--disabled){background-color:var(--mdc-chip-elevated-selected-container-color, var(--mat-sys-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled{background-color:var(--mdc-chip-flat-disabled-selected-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}@media(forced-colors: active){.mat-mdc-standard-chip{outline:solid 1px}}.mat-mdc-standard-chip .mdc-evolution-chip__icon--primary{border-radius:var(--mdc-chip-with-avatar-avatar-shape-radius, 24px);width:var(--mdc-chip-with-icon-icon-size, 18px);height:var(--mdc-chip-with-icon-icon-size, 18px);font-size:var(--mdc-chip-with-icon-icon-size, 18px)}.mdc-evolution-chip--selected .mdc-evolution-chip__icon--primary{opacity:0}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__icon--primary{color:var(--mdc-chip-with-icon-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--primary{color:var(--mdc-chip-with-icon-disabled-icon-color, var(--mat-sys-on-surface))}.mat-mdc-chip-highlighted{--mdc-chip-with-icon-icon-color:var(--mdc-chip-with-icon-selected-icon-color, var(--mat-sys-on-secondary-container));--mdc-chip-elevated-container-color:var(--mdc-chip-elevated-selected-container-color, var(--mat-sys-secondary-container));--mdc-chip-label-text-color:var(--mdc-chip-selected-label-text-color, var(--mat-sys-on-secondary-container));--mdc-chip-outline-width:var(--mdc-chip-flat-selected-outline-width, 0)}.mat-mdc-chip-focus-overlay{background:var(--mdc-chip-focus-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-chip-selected .mat-mdc-chip-focus-overlay,.mat-mdc-chip-highlighted .mat-mdc-chip-focus-overlay{background:var(--mdc-chip-selected-focus-state-layer-color, var(--mat-sys-on-secondary-container))}.mat-mdc-chip:hover .mat-mdc-chip-focus-overlay{background:var(--mdc-chip-hover-state-layer-color, var(--mat-sys-on-surface-variant));opacity:var(--mdc-chip-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-chip-focus-overlay .mat-mdc-chip-selected:hover,.mat-mdc-chip-highlighted:hover .mat-mdc-chip-focus-overlay{background:var(--mdc-chip-selected-hover-state-layer-color, var(--mat-sys-on-secondary-container));opacity:var(--mdc-chip-selected-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-chip.cdk-focused .mat-mdc-chip-focus-overlay{background:var(--mdc-chip-focus-state-layer-color, var(--mat-sys-on-surface-variant));opacity:var(--mdc-chip-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-chip-selected.cdk-focused .mat-mdc-chip-focus-overlay,.mat-mdc-chip-highlighted.cdk-focused .mat-mdc-chip-focus-overlay{background:var(--mdc-chip-selected-focus-state-layer-color, var(--mat-sys-on-secondary-container));opacity:var(--mdc-chip-selected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mdc-evolution-chip--disabled:not(.mdc-evolution-chip--selected) .mat-mdc-chip-avatar{opacity:var(--mdc-chip-with-avatar-disabled-avatar-opacity, 0.38)}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing{opacity:var(--mdc-chip-with-trailing-icon-disabled-trailing-icon-opacity, 0.38)}.mdc-evolution-chip--disabled.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark{opacity:var(--mdc-chip-with-icon-disabled-icon-opacity, 0.38)}.mat-mdc-standard-chip.mdc-evolution-chip--disabled{opacity:var(--mat-chip-disabled-container-opacity, 1)}.mat-mdc-standard-chip.mdc-evolution-chip--selected .mdc-evolution-chip__icon--trailing,.mat-mdc-standard-chip.mat-mdc-chip-highlighted .mdc-evolution-chip__icon--trailing{color:var(--mat-chip-selected-trailing-icon-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing,.mat-mdc-standard-chip.mat-mdc-chip-highlighted.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing{color:var(--mat-chip-selected-disabled-trailing-icon-color, var(--mat-sys-on-surface))}.mat-mdc-chip-remove{opacity:var(--mat-chip-trailing-action-opacity, 1)}.mat-mdc-chip-remove:focus{opacity:var(--mat-chip-trailing-action-focus-opacity, 1)}.mat-mdc-chip-remove::after{background-color:var(--mat-chip-trailing-action-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-chip-remove:hover::after{opacity:var(--mat-chip-trailing-action-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-chip-remove:focus::after{opacity:var(--mat-chip-trailing-action-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-chip-selected .mat-mdc-chip-remove::after,.mat-mdc-chip-highlighted .mat-mdc-chip-remove::after{background-color:var(--mat-chip-selected-trailing-action-state-layer-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip{-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-standard-chip .mdc-evolution-chip__cell--primary,.mat-mdc-standard-chip .mdc-evolution-chip__action--primary,.mat-mdc-standard-chip .mat-mdc-chip-action-label{overflow:visible}.mat-mdc-standard-chip .mat-mdc-chip-graphic,.mat-mdc-standard-chip .mat-mdc-chip-trailing-icon{box-sizing:content-box}.mat-mdc-standard-chip._mat-animation-noopable,.mat-mdc-standard-chip._mat-animation-noopable .mdc-evolution-chip__graphic,.mat-mdc-standard-chip._mat-animation-noopable .mdc-evolution-chip__checkmark,.mat-mdc-standard-chip._mat-animation-noopable .mdc-evolution-chip__checkmark-path{transition-duration:1ms;animation-duration:1ms}.mat-mdc-chip-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;opacity:0;border-radius:inherit;transition:opacity 150ms linear}._mat-animation-noopable .mat-mdc-chip-focus-overlay{transition:none}.mat-mdc-basic-chip .mat-mdc-chip-focus-overlay{display:none}.mat-mdc-chip .mat-ripple.mat-mdc-chip-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-chip-avatar{text-align:center;line-height:1;color:var(--mdc-chip-with-icon-icon-color, currentColor)}.mat-mdc-chip{position:relative;z-index:0}.mat-mdc-chip-action-label{text-align:left;z-index:1}[dir=rtl] .mat-mdc-chip-action-label{text-align:right}.mat-mdc-chip.mdc-evolution-chip--with-trailing-action .mat-mdc-chip-action-label{position:relative}.mat-mdc-chip-action-label .mat-mdc-chip-primary-focus-indicator{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.mat-mdc-chip-action-label .mat-focus-indicator::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 2px)*-1)}.mat-mdc-chip-remove::before{margin:calc(var(--mat-focus-indicator-border-width, 3px)*-1);left:8px;right:8px}.mat-mdc-chip-remove::after{content:\\\"\\\";display:block;opacity:0;position:absolute;top:-3px;bottom:-3px;left:5px;right:5px;border-radius:50%;box-sizing:border-box;padding:12px;margin:-12px;background-clip:content-box}.mat-mdc-chip-remove .mat-icon{width:18px;height:18px;font-size:18px;box-sizing:content-box}.mat-chip-edit-input{cursor:text;display:inline-block;color:inherit;outline:0}@media(forced-colors: active){.mat-mdc-chip-selected:not(.mat-mdc-chip-multiple){outline-width:3px}}.mat-mdc-chip-action:focus .mat-focus-indicator::before{content:\\\"\\\"}\"],\n encapsulation: 2,\n changeDetection: 0\n });\n }\n return MatChip;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/** Event object emitted by MatChipOption when selected or deselected. */\nclass MatChipSelectionChange {\n source;\n selected;\n isUserInput;\n constructor(/** Reference to the chip that emitted the event. */\n source, /** Whether the chip that emitted the event is selected. */\n selected, /** Whether the selection change was a result of a user interaction. */\n isUserInput = false) {\n this.source = source;\n this.selected = selected;\n this.isUserInput = isUserInput;\n }\n}\n/**\n * An extension of the MatChip component that supports chip selection. Used with MatChipListbox.\n *\n * Unlike other chips, the user can focus on disabled chip options inside a MatChipListbox. The\n * user cannot click disabled chips.\n */\nlet MatChipOption = /*#__PURE__*/(() => {\n class MatChipOption extends MatChip {\n /** Default chip options. */\n _defaultOptions = inject(MAT_CHIPS_DEFAULT_OPTIONS, {\n optional: true\n });\n /** Whether the chip list is selectable. */\n chipListSelectable = true;\n /** Whether the chip list is in multi-selection mode. */\n _chipListMultiple = false;\n /** Whether the chip list hides single-selection indicator. */\n _chipListHideSingleSelectionIndicator = this._defaultOptions?.hideSingleSelectionIndicator ?? false;\n /**\n * Whether or not the chip is selectable.\n *\n * When a chip is not selectable, changes to its selected state are always\n * ignored. By default an option chip is selectable, and it becomes\n * non-selectable if its parent chip list is not selectable.\n */\n get selectable() {\n return this._selectable && this.chipListSelectable;\n }\n set selectable(value) {\n this._selectable = value;\n this._changeDetectorRef.markForCheck();\n }\n _selectable = true;\n /** Whether the chip is selected. */\n get selected() {\n return this._selected;\n }\n set selected(value) {\n this._setSelectedState(value, false, true);\n }\n _selected = false;\n /**\n * The ARIA selected applied to the chip. Conforms to WAI ARIA best practices for listbox\n * interaction patterns.\n *\n * From [WAI ARIA Listbox authoring practices guide](\n * https://www.w3.org/WAI/ARIA/apg/patterns/listbox/):\n * \"If any options are selected, each selected option has either aria-selected or aria-checked\n * set to true. All options that are selectable but not selected have either aria-selected or\n * aria-checked set to false.\"\n *\n * Set `aria-selected=\"false\"` on not-selected listbox options that are selectable to fix\n * VoiceOver reading every option as \"selected\" (#25736).\n */\n get ariaSelected() {\n return this.selectable ? this.selected.toString() : null;\n }\n /** The unstyled chip selector for this component. */\n basicChipAttrName = 'mat-basic-chip-option';\n /** Emitted when the chip is selected or deselected. */\n selectionChange = new EventEmitter();\n ngOnInit() {\n super.ngOnInit();\n this.role = 'presentation';\n }\n /** Selects the chip. */\n select() {\n this._setSelectedState(true, false, true);\n }\n /** Deselects the chip. */\n deselect() {\n this._setSelectedState(false, false, true);\n }\n /** Selects this chip and emits userInputSelection event */\n selectViaInteraction() {\n this._setSelectedState(true, true, true);\n }\n /** Toggles the current selected state of this chip. */\n toggleSelected(isUserInput = false) {\n this._setSelectedState(!this.selected, isUserInput, true);\n return this.selected;\n }\n _handlePrimaryActionInteraction() {\n if (!this.disabled) {\n // Interacting with the primary action implies that the chip already has focus, however\n // there's a bug in Safari where focus ends up lingering on the previous chip (see #27544).\n // We work around it by explicitly focusing the primary action of the current chip.\n this.focus();\n if (this.selectable) {\n this.toggleSelected(true);\n }\n }\n }\n _hasLeadingGraphic() {\n if (this.leadingIcon) {\n return true;\n }\n // The checkmark graphic communicates selected state for both single-select and multi-select.\n // Include checkmark in single-select to fix a11y issue where selected state is communicated\n // visually only using color (#25886).\n return !this._chipListHideSingleSelectionIndicator || this._chipListMultiple;\n }\n _setSelectedState(isSelected, isUserInput, emitEvent) {\n if (isSelected !== this.selected) {\n this._selected = isSelected;\n if (emitEvent) {\n this.selectionChange.emit({\n source: this,\n isUserInput,\n selected: this.selected\n });\n }\n this._changeDetectorRef.markForCheck();\n }\n }\n static ɵfac = /* @__PURE__ */(() => {\n let ɵMatChipOption_BaseFactory;\n return function MatChipOption_Factory(__ngFactoryType__) {\n return (ɵMatChipOption_BaseFactory || (ɵMatChipOption_BaseFactory = i0.ɵɵgetInheritedFactory(MatChipOption)))(__ngFactoryType__ || MatChipOption);\n };\n })();\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: MatChipOption,\n selectors: [[\"mat-basic-chip-option\"], [\"\", \"mat-basic-chip-option\", \"\"], [\"mat-chip-option\"], [\"\", \"mat-chip-option\", \"\"]],\n hostAttrs: [1, \"mat-mdc-chip\", \"mat-mdc-chip-option\"],\n hostVars: 37,\n hostBindings: function MatChipOption_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵhostProperty(\"id\", ctx.id);\n i0.ɵɵattribute(\"tabindex\", null)(\"aria-label\", null)(\"aria-description\", null)(\"role\", ctx.role);\n i0.ɵɵclassProp(\"mdc-evolution-chip\", !ctx._isBasicChip)(\"mdc-evolution-chip--filter\", !ctx._isBasicChip)(\"mdc-evolution-chip--selectable\", !ctx._isBasicChip)(\"mat-mdc-chip-selected\", ctx.selected)(\"mat-mdc-chip-multiple\", ctx._chipListMultiple)(\"mat-mdc-chip-disabled\", ctx.disabled)(\"mat-mdc-chip-with-avatar\", ctx.leadingIcon)(\"mdc-evolution-chip--disabled\", ctx.disabled)(\"mdc-evolution-chip--selected\", ctx.selected)(\"mdc-evolution-chip--selecting\", !ctx._animationsDisabled)(\"mdc-evolution-chip--with-trailing-action\", ctx._hasTrailingIcon())(\"mdc-evolution-chip--with-primary-icon\", ctx.leadingIcon)(\"mdc-evolution-chip--with-primary-graphic\", ctx._hasLeadingGraphic())(\"mdc-evolution-chip--with-avatar\", ctx.leadingIcon)(\"mat-mdc-chip-highlighted\", ctx.highlighted)(\"mat-mdc-chip-with-trailing-icon\", ctx._hasTrailingIcon());\n }\n },\n inputs: {\n selectable: [2, \"selectable\", \"selectable\", booleanAttribute],\n selected: [2, \"selected\", \"selected\", booleanAttribute]\n },\n outputs: {\n selectionChange: \"selectionChange\"\n },\n features: [i0.ɵɵProvidersFeature([{\n provide: MatChip,\n useExisting: MatChipOption\n }, {\n provide: MAT_CHIP,\n useExisting: MatChipOption\n }]), i0.ɵɵInheritDefinitionFeature],\n ngContentSelectors: _c1,\n decls: 10,\n vars: 8,\n consts: [[1, \"mat-mdc-chip-focus-overlay\"], [1, \"mdc-evolution-chip__cell\", \"mdc-evolution-chip__cell--primary\"], [\"matChipAction\", \"\", \"role\", \"option\", 3, \"_allowFocusWhenDisabled\"], [1, \"mdc-evolution-chip__graphic\", \"mat-mdc-chip-graphic\"], [1, \"mdc-evolution-chip__text-label\", \"mat-mdc-chip-action-label\"], [1, \"mat-mdc-chip-primary-focus-indicator\", \"mat-focus-indicator\"], [1, \"mdc-evolution-chip__cell\", \"mdc-evolution-chip__cell--trailing\"], [1, \"cdk-visually-hidden\", 3, \"id\"], [1, \"mdc-evolution-chip__checkmark\"], [\"viewBox\", \"-2 -3 30 30\", \"focusable\", \"false\", \"aria-hidden\", \"true\", 1, \"mdc-evolution-chip__checkmark-svg\"], [\"fill\", \"none\", \"stroke\", \"currentColor\", \"d\", \"M1.73,12.91 8.1,19.28 22.79,4.59\", 1, \"mdc-evolution-chip__checkmark-path\"]],\n template: function MatChipOption_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef(_c0);\n i0.ɵɵelement(0, \"span\", 0);\n i0.ɵɵelementStart(1, \"span\", 1)(2, \"button\", 2);\n i0.ɵɵtemplate(3, MatChipOption_Conditional_3_Template, 5, 0, \"span\", 3);\n i0.ɵɵelementStart(4, \"span\", 4);\n i0.ɵɵprojection(5);\n i0.ɵɵelement(6, \"span\", 5);\n i0.ɵɵelementEnd()()();\n i0.ɵɵtemplate(7, MatChipOption_Conditional_7_Template, 2, 0, \"span\", 6);\n i0.ɵɵelementStart(8, \"span\", 7);\n i0.ɵɵtext(9);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"_allowFocusWhenDisabled\", true);\n i0.ɵɵattribute(\"aria-selected\", ctx.ariaSelected)(\"aria-label\", ctx.ariaLabel)(\"aria-describedby\", ctx._ariaDescriptionId);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx._hasLeadingGraphic() ? 3 : -1);\n i0.ɵɵadvance(4);\n i0.ɵɵconditional(ctx._hasTrailingIcon() ? 7 : -1);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"id\", ctx._ariaDescriptionId);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate(ctx.ariaDescription);\n }\n },\n dependencies: [MatChipAction],\n styles: [_c2],\n encapsulation: 2,\n changeDetection: 0\n });\n }\n return MatChipOption;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * A directive that makes a span editable and exposes functions to modify and retrieve the\n * element's contents.\n */\nlet MatChipEditInput = /*#__PURE__*/(() => {\n class MatChipEditInput {\n _elementRef = inject(ElementRef);\n _document = inject(DOCUMENT);\n constructor() {}\n initialize(initialValue) {\n this.getNativeElement().focus();\n this.setValue(initialValue);\n }\n getNativeElement() {\n return this._elementRef.nativeElement;\n }\n setValue(value) {\n this.getNativeElement().textContent = value;\n this._moveCursorToEndOfInput();\n }\n getValue() {\n return this.getNativeElement().textContent || '';\n }\n _moveCursorToEndOfInput() {\n const range = this._document.createRange();\n range.selectNodeContents(this.getNativeElement());\n range.collapse(false);\n const sel = window.getSelection();\n sel.removeAllRanges();\n sel.addRange(range);\n }\n static ɵfac = function MatChipEditInput_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || MatChipEditInput)();\n };\n static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: MatChipEditInput,\n selectors: [[\"span\", \"matChipEditInput\", \"\"]],\n hostAttrs: [\"role\", \"textbox\", \"tabindex\", \"-1\", \"contenteditable\", \"true\", 1, \"mat-chip-edit-input\"]\n });\n }\n return MatChipEditInput;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * An extension of the MatChip component used with MatChipGrid and\n * the matChipInputFor directive.\n */\nlet MatChipRow = /*#__PURE__*/(() => {\n class MatChipRow extends MatChip {\n basicChipAttrName = 'mat-basic-chip-row';\n /**\n * The editing action has to be triggered in a timeout. While we're waiting on it, a blur\n * event might occur which will interrupt the editing. This flag is used to avoid interruptions\n * while the editing action is being initialized.\n */\n _editStartPending = false;\n editable = false;\n /** Emitted when the chip is edited. */\n edited = new EventEmitter();\n /** The default chip edit input that is used if none is projected into this chip row. */\n defaultEditInput;\n /** The projected chip edit input. */\n contentEditInput;\n _isEditing = false;\n constructor() {\n super();\n this.role = 'row';\n this._onBlur.pipe(takeUntil(this.destroyed)).subscribe(() => {\n if (this._isEditing && !this._editStartPending) {\n this._onEditFinish();\n }\n });\n }\n _hasTrailingIcon() {\n // The trailing icon is hidden while editing.\n return !this._isEditing && super._hasTrailingIcon();\n }\n /** Sends focus to the first gridcell when the user clicks anywhere inside the chip. */\n _handleFocus() {\n if (!this._isEditing && !this.disabled) {\n this.focus();\n }\n }\n _handleKeydown(event) {\n if (event.keyCode === ENTER && !this.disabled) {\n if (this._isEditing) {\n event.preventDefault();\n this._onEditFinish();\n } else if (this.editable) {\n this._startEditing(event);\n }\n } else if (this._isEditing) {\n // Stop the event from reaching the chip set in order to avoid navigating.\n event.stopPropagation();\n } else {\n super._handleKeydown(event);\n }\n }\n _handleDoubleclick(event) {\n if (!this.disabled && this.editable) {\n this._startEditing(event);\n }\n }\n _startEditing(event) {\n if (!this.primaryAction || this.removeIcon && this._getSourceAction(event.target) === this.removeIcon) {\n return;\n }\n // The value depends on the DOM so we need to extract it before we flip the flag.\n const value = this.value;\n this._isEditing = this._editStartPending = true;\n // Defer initializing the input until after it has been added to the DOM.\n afterNextRender(() => {\n this._getEditInput().initialize(value);\n this._editStartPending = false;\n }, {\n injector: this._injector\n });\n }\n _onEditFinish() {\n this._isEditing = this._editStartPending = false;\n this.edited.emit({\n chip: this,\n value: this._getEditInput().getValue()\n });\n // If the edit input is still focused or focus was returned to the body after it was destroyed,\n // return focus to the chip contents.\n if (this._document.activeElement === this._getEditInput().getNativeElement() || this._document.activeElement === this._document.body) {\n this.primaryAction.focus();\n }\n }\n _isRippleDisabled() {\n return super._isRippleDisabled() || this._isEditing;\n }\n /**\n * Gets the projected chip edit input, or the default input if none is projected in. One of these\n * two values is guaranteed to be defined.\n */\n _getEditInput() {\n return this.contentEditInput || this.defaultEditInput;\n }\n static ɵfac = function MatChipRow_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || MatChipRow)();\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: MatChipRow,\n selectors: [[\"mat-chip-row\"], [\"\", \"mat-chip-row\", \"\"], [\"mat-basic-chip-row\"], [\"\", \"mat-basic-chip-row\", \"\"]],\n contentQueries: function MatChipRow_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, MatChipEditInput, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.contentEditInput = _t.first);\n }\n },\n viewQuery: function MatChipRow_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(MatChipEditInput, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.defaultEditInput = _t.first);\n }\n },\n hostAttrs: [1, \"mat-mdc-chip\", \"mat-mdc-chip-row\", \"mdc-evolution-chip\"],\n hostVars: 27,\n hostBindings: function MatChipRow_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"focus\", function MatChipRow_focus_HostBindingHandler($event) {\n return ctx._handleFocus($event);\n })(\"dblclick\", function MatChipRow_dblclick_HostBindingHandler($event) {\n return ctx._handleDoubleclick($event);\n });\n }\n if (rf & 2) {\n i0.ɵɵhostProperty(\"id\", ctx.id);\n i0.ɵɵattribute(\"tabindex\", ctx.disabled ? null : -1)(\"aria-label\", null)(\"aria-description\", null)(\"role\", ctx.role);\n i0.ɵɵclassProp(\"mat-mdc-chip-with-avatar\", ctx.leadingIcon)(\"mat-mdc-chip-disabled\", ctx.disabled)(\"mat-mdc-chip-editing\", ctx._isEditing)(\"mat-mdc-chip-editable\", ctx.editable)(\"mdc-evolution-chip--disabled\", ctx.disabled)(\"mdc-evolution-chip--with-trailing-action\", ctx._hasTrailingIcon())(\"mdc-evolution-chip--with-primary-graphic\", ctx.leadingIcon)(\"mdc-evolution-chip--with-primary-icon\", ctx.leadingIcon)(\"mdc-evolution-chip--with-avatar\", ctx.leadingIcon)(\"mat-mdc-chip-highlighted\", ctx.highlighted)(\"mat-mdc-chip-with-trailing-icon\", ctx._hasTrailingIcon());\n }\n },\n inputs: {\n editable: \"editable\"\n },\n outputs: {\n edited: \"edited\"\n },\n features: [i0.ɵɵProvidersFeature([{\n provide: MatChip,\n useExisting: MatChipRow\n }, {\n provide: MAT_CHIP,\n useExisting: MatChipRow\n }]), i0.ɵɵInheritDefinitionFeature],\n ngContentSelectors: _c4,\n decls: 10,\n vars: 9,\n consts: [[1, \"mat-mdc-chip-focus-overlay\"], [\"role\", \"gridcell\", \"matChipAction\", \"\", 1, \"mdc-evolution-chip__cell\", \"mdc-evolution-chip__cell--primary\", 3, \"disabled\"], [1, \"mdc-evolution-chip__graphic\", \"mat-mdc-chip-graphic\"], [1, \"mdc-evolution-chip__text-label\", \"mat-mdc-chip-action-label\"], [\"aria-hidden\", \"true\", 1, \"mat-mdc-chip-primary-focus-indicator\", \"mat-focus-indicator\"], [\"role\", \"gridcell\", 1, \"mdc-evolution-chip__cell\", \"mdc-evolution-chip__cell--trailing\"], [1, \"cdk-visually-hidden\", 3, \"id\"], [\"matChipEditInput\", \"\"]],\n template: function MatChipRow_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef(_c3);\n i0.ɵɵtemplate(0, MatChipRow_Conditional_0_Template, 1, 0, \"span\", 0);\n i0.ɵɵelementStart(1, \"span\", 1);\n i0.ɵɵtemplate(2, MatChipRow_Conditional_2_Template, 2, 0, \"span\", 2);\n i0.ɵɵelementStart(3, \"span\", 3);\n i0.ɵɵtemplate(4, MatChipRow_Conditional_4_Template, 2, 1)(5, MatChipRow_Conditional_5_Template, 1, 0);\n i0.ɵɵelement(6, \"span\", 4);\n i0.ɵɵelementEnd()();\n i0.ɵɵtemplate(7, MatChipRow_Conditional_7_Template, 2, 0, \"span\", 5);\n i0.ɵɵelementStart(8, \"span\", 6);\n i0.ɵɵtext(9);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵconditional(!ctx._isEditing ? 0 : -1);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"disabled\", ctx.disabled);\n i0.ɵɵattribute(\"aria-label\", ctx.ariaLabel)(\"aria-describedby\", ctx._ariaDescriptionId);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx.leadingIcon ? 2 : -1);\n i0.ɵɵadvance(2);\n i0.ɵɵconditional(ctx._isEditing ? 4 : 5);\n i0.ɵɵadvance(3);\n i0.ɵɵconditional(ctx._hasTrailingIcon() ? 7 : -1);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"id\", ctx._ariaDescriptionId);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate(ctx.ariaDescription);\n }\n },\n dependencies: [MatChipAction, MatChipEditInput],\n styles: [_c2],\n encapsulation: 2,\n changeDetection: 0\n });\n }\n return MatChipRow;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Basic container component for the MatChip component.\n *\n * Extended by MatChipListbox and MatChipGrid for different interaction patterns.\n */\nlet MatChipSet = /*#__PURE__*/(() => {\n class MatChipSet {\n _elementRef = inject(ElementRef);\n _changeDetectorRef = inject(ChangeDetectorRef);\n _dir = inject(Directionality, {\n optional: true\n });\n /** Index of the last destroyed chip that had focus. */\n _lastDestroyedFocusedChipIndex = null;\n /** Used to manage focus within the chip list. */\n _keyManager;\n /** Subject that emits when the component has been destroyed. */\n _destroyed = new Subject();\n /** Role to use if it hasn't been overwritten by the user. */\n _defaultRole = 'presentation';\n /** Combined stream of all of the child chips' focus events. */\n get chipFocusChanges() {\n return this._getChipStream(chip => chip._onFocus);\n }\n /** Combined stream of all of the child chips' destroy events. */\n get chipDestroyedChanges() {\n return this._getChipStream(chip => chip.destroyed);\n }\n /** Combined stream of all of the child chips' remove events. */\n get chipRemovedChanges() {\n return this._getChipStream(chip => chip.removed);\n }\n /** Whether the chip set is disabled. */\n get disabled() {\n return this._disabled;\n }\n set disabled(value) {\n this._disabled = value;\n this._syncChipsState();\n }\n _disabled = false;\n /** Whether the chip list contains chips or not. */\n get empty() {\n return !this._chips || this._chips.length === 0;\n }\n /** The ARIA role applied to the chip set. */\n get role() {\n if (this._explicitRole) {\n return this._explicitRole;\n }\n return this.empty ? null : this._defaultRole;\n }\n /** Tabindex of the chip set. */\n tabIndex = 0;\n set role(value) {\n this._explicitRole = value;\n }\n _explicitRole = null;\n /** Whether any of the chips inside of this chip-set has focus. */\n get focused() {\n return this._hasFocusedChip();\n }\n /** The chips that are part of this chip set. */\n _chips;\n /** Flat list of all the actions contained within the chips. */\n _chipActions = new QueryList();\n constructor() {}\n ngAfterViewInit() {\n this._setUpFocusManagement();\n this._trackChipSetChanges();\n this._trackDestroyedFocusedChip();\n }\n ngOnDestroy() {\n this._keyManager?.destroy();\n this._chipActions.destroy();\n this._destroyed.next();\n this._destroyed.complete();\n }\n /** Checks whether any of the chips is focused. */\n _hasFocusedChip() {\n return this._chips && this._chips.some(chip => chip._hasFocus());\n }\n /** Syncs the chip-set's state with the individual chips. */\n _syncChipsState() {\n this._chips?.forEach(chip => {\n chip._chipListDisabled = this._disabled;\n chip._changeDetectorRef.markForCheck();\n });\n }\n /** Dummy method for subclasses to override. Base chip set cannot be focused. */\n focus() {}\n /** Handles keyboard events on the chip set. */\n _handleKeydown(event) {\n if (this._originatesFromChip(event)) {\n this._keyManager.onKeydown(event);\n }\n }\n /**\n * Utility to ensure all indexes are valid.\n *\n * @param index The index to be checked.\n * @returns True if the index is valid for our list of chips.\n */\n _isValidIndex(index) {\n return index >= 0 && index < this._chips.length;\n }\n /**\n * Removes the `tabindex` from the chip set and resets it back afterwards, allowing the\n * user to tab out of it. This prevents the set from capturing focus and redirecting\n * it back to the first chip, creating a focus trap, if it user tries to tab away.\n */\n _allowFocusEscape() {\n const previous = this._elementRef.nativeElement.tabIndex;\n if (previous !== -1) {\n // Set the tabindex directly on the element, instead of going through\n // the data binding, because we aren't guaranteed that change detection\n // will run quickly enough to allow focus to escape.\n this._elementRef.nativeElement.tabIndex = -1;\n // Note that this needs to be a `setTimeout`, because a `Promise.resolve`\n // doesn't allow enough time for the focus to escape.\n setTimeout(() => this._elementRef.nativeElement.tabIndex = previous);\n }\n }\n /**\n * Gets a stream of events from all the chips within the set.\n * The stream will automatically incorporate any newly-added chips.\n */\n _getChipStream(mappingFunction) {\n return this._chips.changes.pipe(startWith(null), switchMap(() => merge(...this._chips.map(mappingFunction))));\n }\n /** Checks whether an event comes from inside a chip element. */\n _originatesFromChip(event) {\n let currentElement = event.target;\n while (currentElement && currentElement !== this._elementRef.nativeElement) {\n if (currentElement.classList.contains('mat-mdc-chip')) {\n return true;\n }\n currentElement = currentElement.parentElement;\n }\n return false;\n }\n /** Sets up the chip set's focus management logic. */\n _setUpFocusManagement() {\n // Create a flat `QueryList` containing the actions of all of the chips.\n // This allows us to navigate both within the chip and move to the next/previous\n // one using the existing `ListKeyManager`.\n this._chips.changes.pipe(startWith(this._chips)).subscribe(chips => {\n const actions = [];\n chips.forEach(chip => chip._getActions().forEach(action => actions.push(action)));\n this._chipActions.reset(actions);\n this._chipActions.notifyOnChanges();\n });\n this._keyManager = new FocusKeyManager(this._chipActions).withVerticalOrientation().withHorizontalOrientation(this._dir ? this._dir.value : 'ltr').withHomeAndEnd().skipPredicate(action => this._skipPredicate(action));\n // Keep the manager active index in sync so that navigation picks\n // up from the current chip if the user clicks into the list directly.\n this.chipFocusChanges.pipe(takeUntil(this._destroyed)).subscribe(({\n chip\n }) => {\n const action = chip._getSourceAction(document.activeElement);\n if (action) {\n this._keyManager.updateActiveItem(action);\n }\n });\n this._dir?.change.pipe(takeUntil(this._destroyed)).subscribe(direction => this._keyManager.withHorizontalOrientation(direction));\n }\n /**\n * Determines if key manager should avoid putting a given chip action in the tab index. Skip\n * non-interactive and disabled actions since the user can't do anything with them.\n */\n _skipPredicate(action) {\n // Skip chips that the user cannot interact with. `mat-chip-set` does not permit focusing disabled\n // chips.\n return !action.isInteractive || action.disabled;\n }\n /** Listens to changes in the chip set and syncs up the state of the individual chips. */\n _trackChipSetChanges() {\n this._chips.changes.pipe(startWith(null), takeUntil(this._destroyed)).subscribe(() => {\n if (this.disabled) {\n // Since this happens after the content has been\n // checked, we need to defer it to the next tick.\n Promise.resolve().then(() => this._syncChipsState());\n }\n this._redirectDestroyedChipFocus();\n });\n }\n /** Starts tracking the destroyed chips in order to capture the focused one. */\n _trackDestroyedFocusedChip() {\n this.chipDestroyedChanges.pipe(takeUntil(this._destroyed)).subscribe(event => {\n const chipArray = this._chips.toArray();\n const chipIndex = chipArray.indexOf(event.chip);\n // If the focused chip is destroyed, save its index so that we can move focus to the next\n // chip. We only save the index here, rather than move the focus immediately, because we want\n // to wait until the chip is removed from the chip list before focusing the next one. This\n // allows us to keep focus on the same index if the chip gets swapped out.\n if (this._isValidIndex(chipIndex) && event.chip._hasFocus()) {\n this._lastDestroyedFocusedChipIndex = chipIndex;\n }\n });\n }\n /**\n * Finds the next appropriate chip to move focus to,\n * if the currently-focused chip is destroyed.\n */\n _redirectDestroyedChipFocus() {\n if (this._lastDestroyedFocusedChipIndex == null) {\n return;\n }\n if (this._chips.length) {\n const newIndex = Math.min(this._lastDestroyedFocusedChipIndex, this._chips.length - 1);\n const chipToFocus = this._chips.toArray()[newIndex];\n if (chipToFocus.disabled) {\n // If we're down to one disabled chip, move focus back to the set.\n if (this._chips.length === 1) {\n this.focus();\n } else {\n this._keyManager.setPreviousItemActive();\n }\n } else {\n chipToFocus.focus();\n }\n } else {\n this.focus();\n }\n this._lastDestroyedFocusedChipIndex = null;\n }\n static ɵfac = function MatChipSet_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || MatChipSet)();\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: MatChipSet,\n selectors: [[\"mat-chip-set\"]],\n contentQueries: function MatChipSet_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, MatChip, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._chips = _t);\n }\n },\n hostAttrs: [1, \"mat-mdc-chip-set\", \"mdc-evolution-chip-set\"],\n hostVars: 1,\n hostBindings: function MatChipSet_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"keydown\", function MatChipSet_keydown_HostBindingHandler($event) {\n return ctx._handleKeydown($event);\n });\n }\n if (rf & 2) {\n i0.ɵɵattribute(\"role\", ctx.role);\n }\n },\n inputs: {\n disabled: [2, \"disabled\", \"disabled\", booleanAttribute],\n role: \"role\",\n tabIndex: [2, \"tabIndex\", \"tabIndex\", value => value == null ? 0 : numberAttribute(value)]\n },\n ngContentSelectors: _c5,\n decls: 2,\n vars: 0,\n consts: [[\"role\", \"presentation\", 1, \"mdc-evolution-chip-set__chips\"]],\n template: function MatChipSet_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵelementStart(0, \"div\", 0);\n i0.ɵɵprojection(1);\n i0.ɵɵelementEnd();\n }\n },\n styles: [\".mat-mdc-chip-set{display:flex}.mat-mdc-chip-set:focus{outline:none}.mat-mdc-chip-set .mdc-evolution-chip-set__chips{min-width:100%;margin-left:-8px;margin-right:0}.mat-mdc-chip-set .mdc-evolution-chip{margin:4px 0 4px 8px}[dir=rtl] .mat-mdc-chip-set .mdc-evolution-chip-set__chips{margin-left:0;margin-right:-8px}[dir=rtl] .mat-mdc-chip-set .mdc-evolution-chip{margin-left:0;margin-right:8px}.mdc-evolution-chip-set__chips{display:flex;flex-flow:wrap;min-width:0}.mat-mdc-chip-set-stacked{flex-direction:column;align-items:flex-start}.mat-mdc-chip-set-stacked .mat-mdc-chip{width:100%}.mat-mdc-chip-set-stacked .mdc-evolution-chip__graphic{flex-grow:0}.mat-mdc-chip-set-stacked .mdc-evolution-chip__action--primary{flex-basis:100%;justify-content:start}input.mat-mdc-chip-input{flex:1 0 150px;margin-left:8px}[dir=rtl] input.mat-mdc-chip-input{margin-left:0;margin-right:8px}\"],\n encapsulation: 2,\n changeDetection: 0\n });\n }\n return MatChipSet;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/** Change event object that is emitted when the chip listbox value has changed. */\nclass MatChipListboxChange {\n source;\n value;\n constructor(/** Chip listbox that emitted the event. */\n source, /** Value of the chip listbox when the event was emitted. */\n value) {\n this.source = source;\n this.value = value;\n }\n}\n/**\n * Provider Expression that allows mat-chip-listbox to register as a ControlValueAccessor.\n * This allows it to support [(ngModel)].\n * @docs-private\n */\nconst MAT_CHIP_LISTBOX_CONTROL_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: /*#__PURE__*/forwardRef(() => MatChipListbox),\n multi: true\n};\n/**\n * An extension of the MatChipSet component that supports chip selection.\n * Used with MatChipOption chips.\n */\nlet MatChipListbox = /*#__PURE__*/(() => {\n class MatChipListbox extends MatChipSet {\n /**\n * Function when touched. Set as part of ControlValueAccessor implementation.\n * @docs-private\n */\n _onTouched = () => {};\n /**\n * Function when changed. Set as part of ControlValueAccessor implementation.\n * @docs-private\n */\n _onChange = () => {};\n // TODO: MDC uses `grid` here\n _defaultRole = 'listbox';\n /** Default chip options. */\n _defaultOptions = inject(MAT_CHIPS_DEFAULT_OPTIONS, {\n optional: true\n });\n /** Whether the user should be allowed to select multiple chips. */\n get multiple() {\n return this._multiple;\n }\n set multiple(value) {\n this._multiple = value;\n this._syncListboxProperties();\n }\n _multiple = false;\n /** The array of selected chips inside the chip listbox. */\n get selected() {\n const selectedChips = this._chips.toArray().filter(chip => chip.selected);\n return this.multiple ? selectedChips : selectedChips[0];\n }\n /** Orientation of the chip list. */\n ariaOrientation = 'horizontal';\n /**\n * Whether or not this chip listbox is selectable.\n *\n * When a chip listbox is not selectable, the selected states for all\n * the chips inside the chip listbox are always ignored.\n */\n get selectable() {\n return this._selectable;\n }\n set selectable(value) {\n this._selectable = value;\n this._syncListboxProperties();\n }\n _selectable = true;\n /**\n * A function to compare the option values with the selected values. The first argument\n * is a value from an option. The second is a value from the selection. A boolean\n * should be returned.\n */\n compareWith = (o1, o2) => o1 === o2;\n /** Whether this chip listbox is required. */\n required = false;\n /** Whether checkmark indicator for single-selection options is hidden. */\n get hideSingleSelectionIndicator() {\n return this._hideSingleSelectionIndicator;\n }\n set hideSingleSelectionIndicator(value) {\n this._hideSingleSelectionIndicator = value;\n this._syncListboxProperties();\n }\n _hideSingleSelectionIndicator = this._defaultOptions?.hideSingleSelectionIndicator ?? false;\n /** Combined stream of all of the child chips' selection change events. */\n get chipSelectionChanges() {\n return this._getChipStream(chip => chip.selectionChange);\n }\n /** Combined stream of all of the child chips' blur events. */\n get chipBlurChanges() {\n return this._getChipStream(chip => chip._onBlur);\n }\n /** The value of the listbox, which is the combined value of the selected chips. */\n get value() {\n return this._value;\n }\n set value(value) {\n if (this._chips && this._chips.length) {\n this._setSelectionByValue(value, false);\n }\n this._value = value;\n }\n _value;\n /** Event emitted when the selected chip listbox value has been changed by the user. */\n change = new EventEmitter();\n _chips = undefined;\n ngAfterContentInit() {\n this._chips.changes.pipe(startWith(null), takeUntil(this._destroyed)).subscribe(() => {\n if (this.value !== undefined) {\n Promise.resolve().then(() => {\n this._setSelectionByValue(this.value, false);\n });\n }\n // Update listbox selectable/multiple properties on chips\n this._syncListboxProperties();\n });\n this.chipBlurChanges.pipe(takeUntil(this._destroyed)).subscribe(() => this._blur());\n this.chipSelectionChanges.pipe(takeUntil(this._destroyed)).subscribe(event => {\n if (!this.multiple) {\n this._chips.forEach(chip => {\n if (chip !== event.source) {\n chip._setSelectedState(false, false, false);\n }\n });\n }\n if (event.isUserInput) {\n this._propagateChanges();\n }\n });\n }\n /**\n * Focuses the first selected chip in this chip listbox, or the first non-disabled chip when there\n * are no selected chips.\n */\n focus() {\n if (this.disabled) {\n return;\n }\n const firstSelectedChip = this._getFirstSelectedChip();\n if (firstSelectedChip && !firstSelectedChip.disabled) {\n firstSelectedChip.focus();\n } else if (this._chips.length > 0) {\n this._keyManager.setFirstItemActive();\n } else {\n this._elementRef.nativeElement.focus();\n }\n }\n /**\n * Implemented as part of ControlValueAccessor.\n * @docs-private\n */\n writeValue(value) {\n if (value != null) {\n this.value = value;\n } else {\n this.value = undefined;\n }\n }\n /**\n * Implemented as part of ControlValueAccessor.\n * @docs-private\n */\n registerOnChange(fn) {\n this._onChange = fn;\n }\n /**\n * Implemented as part of ControlValueAccessor.\n * @docs-private\n */\n registerOnTouched(fn) {\n this._onTouched = fn;\n }\n /**\n * Implemented as part of ControlValueAccessor.\n * @docs-private\n */\n setDisabledState(isDisabled) {\n this.disabled = isDisabled;\n }\n /** Selects all chips with value. */\n _setSelectionByValue(value, isUserInput = true) {\n this._clearSelection();\n if (Array.isArray(value)) {\n value.forEach(currentValue => this._selectValue(currentValue, isUserInput));\n } else {\n this._selectValue(value, isUserInput);\n }\n }\n /** When blurred, marks the field as touched when focus moved outside the chip listbox. */\n _blur() {\n if (!this.disabled) {\n // Wait to see if focus moves to an individual chip.\n setTimeout(() => {\n if (!this.focused) {\n this._markAsTouched();\n }\n });\n }\n }\n _keydown(event) {\n if (event.keyCode === TAB) {\n super._allowFocusEscape();\n }\n }\n /** Marks the field as touched */\n _markAsTouched() {\n this._onTouched();\n this._changeDetectorRef.markForCheck();\n }\n /** Emits change event to set the model value. */\n _propagateChanges() {\n let valueToEmit = null;\n if (Array.isArray(this.selected)) {\n valueToEmit = this.selected.map(chip => chip.value);\n } else {\n valueToEmit = this.selected ? this.selected.value : undefined;\n }\n this._value = valueToEmit;\n this.change.emit(new MatChipListboxChange(this, valueToEmit));\n this._onChange(valueToEmit);\n this._changeDetectorRef.markForCheck();\n }\n /**\n * Deselects every chip in the listbox.\n * @param skip Chip that should not be deselected.\n */\n _clearSelection(skip) {\n this._chips.forEach(chip => {\n if (chip !== skip) {\n chip.deselect();\n }\n });\n }\n /**\n * Finds and selects the chip based on its value.\n * @returns Chip that has the corresponding value.\n */\n _selectValue(value, isUserInput) {\n const correspondingChip = this._chips.find(chip => {\n return chip.value != null && this.compareWith(chip.value, value);\n });\n if (correspondingChip) {\n isUserInput ? correspondingChip.selectViaInteraction() : correspondingChip.select();\n }\n return correspondingChip;\n }\n /** Syncs the chip-listbox selection state with the individual chips. */\n _syncListboxProperties() {\n if (this._chips) {\n // Defer setting the value in order to avoid the \"Expression\n // has changed after it was checked\" errors from Angular.\n Promise.resolve().then(() => {\n this._chips.forEach(chip => {\n chip._chipListMultiple = this.multiple;\n chip.chipListSelectable = this._selectable;\n chip._chipListHideSingleSelectionIndicator = this.hideSingleSelectionIndicator;\n chip._changeDetectorRef.markForCheck();\n });\n });\n }\n }\n /** Returns the first selected chip in this listbox, or undefined if no chips are selected. */\n _getFirstSelectedChip() {\n if (Array.isArray(this.selected)) {\n return this.selected.length ? this.selected[0] : undefined;\n } else {\n return this.selected;\n }\n }\n /**\n * Determines if key manager should avoid putting a given chip action in the tab index. Skip\n * non-interactive actions since the user can't do anything with them.\n */\n _skipPredicate(action) {\n // Override the skip predicate in the base class to avoid skipping disabled chips. Allow\n // disabled chip options to receive focus to align with WAI ARIA recommendation. Normally WAI\n // ARIA's instructions are to exclude disabled items from the tab order, but it makes a few\n // exceptions for compound widgets.\n //\n // From [Developing a Keyboard Interface](\n // https://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/):\n // \"For the following composite widget elements, keep them focusable when disabled: Options in a\n // Listbox...\"\n return !action.isInteractive;\n }\n static ɵfac = /* @__PURE__ */(() => {\n let ɵMatChipListbox_BaseFactory;\n return function MatChipListbox_Factory(__ngFactoryType__) {\n return (ɵMatChipListbox_BaseFactory || (ɵMatChipListbox_BaseFactory = i0.ɵɵgetInheritedFactory(MatChipListbox)))(__ngFactoryType__ || MatChipListbox);\n };\n })();\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: MatChipListbox,\n selectors: [[\"mat-chip-listbox\"]],\n contentQueries: function MatChipListbox_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, MatChipOption, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._chips = _t);\n }\n },\n hostAttrs: [1, \"mdc-evolution-chip-set\", \"mat-mdc-chip-listbox\"],\n hostVars: 11,\n hostBindings: function MatChipListbox_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"focus\", function MatChipListbox_focus_HostBindingHandler() {\n return ctx.focus();\n })(\"blur\", function MatChipListbox_blur_HostBindingHandler() {\n return ctx._blur();\n })(\"keydown\", function MatChipListbox_keydown_HostBindingHandler($event) {\n return ctx._keydown($event);\n });\n }\n if (rf & 2) {\n i0.ɵɵhostProperty(\"tabIndex\", ctx.disabled || ctx.empty ? -1 : ctx.tabIndex);\n i0.ɵɵattribute(\"role\", ctx.role)(\"aria-describedby\", ctx._ariaDescribedby || null)(\"aria-required\", ctx.role ? ctx.required : null)(\"aria-disabled\", ctx.disabled.toString())(\"aria-multiselectable\", ctx.multiple)(\"aria-orientation\", ctx.ariaOrientation);\n i0.ɵɵclassProp(\"mat-mdc-chip-list-disabled\", ctx.disabled)(\"mat-mdc-chip-list-required\", ctx.required);\n }\n },\n inputs: {\n multiple: [2, \"multiple\", \"multiple\", booleanAttribute],\n ariaOrientation: [0, \"aria-orientation\", \"ariaOrientation\"],\n selectable: [2, \"selectable\", \"selectable\", booleanAttribute],\n compareWith: \"compareWith\",\n required: [2, \"required\", \"required\", booleanAttribute],\n hideSingleSelectionIndicator: [2, \"hideSingleSelectionIndicator\", \"hideSingleSelectionIndicator\", booleanAttribute],\n value: \"value\"\n },\n outputs: {\n change: \"change\"\n },\n features: [i0.ɵɵProvidersFeature([MAT_CHIP_LISTBOX_CONTROL_VALUE_ACCESSOR]), i0.ɵɵInheritDefinitionFeature],\n ngContentSelectors: _c5,\n decls: 2,\n vars: 0,\n consts: [[\"role\", \"presentation\", 1, \"mdc-evolution-chip-set__chips\"]],\n template: function MatChipListbox_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵelementStart(0, \"div\", 0);\n i0.ɵɵprojection(1);\n i0.ɵɵelementEnd();\n }\n },\n styles: [_c6],\n encapsulation: 2,\n changeDetection: 0\n });\n }\n return MatChipListbox;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/** Change event object that is emitted when the chip grid value has changed. */\nclass MatChipGridChange {\n source;\n value;\n constructor(/** Chip grid that emitted the event. */\n source, /** Value of the chip grid when the event was emitted. */\n value) {\n this.source = source;\n this.value = value;\n }\n}\n/**\n * An extension of the MatChipSet component used with MatChipRow chips and\n * the matChipInputFor directive.\n */\nlet MatChipGrid = /*#__PURE__*/(() => {\n class MatChipGrid extends MatChipSet {\n ngControl = inject(NgControl, {\n optional: true,\n self: true\n });\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n controlType = 'mat-chip-grid';\n /** The chip input to add more chips */\n _chipInput;\n _defaultRole = 'grid';\n _errorStateTracker;\n /**\n * List of element ids to propagate to the chipInput's aria-describedby attribute.\n */\n _ariaDescribedbyIds = [];\n /**\n * Function when touched. Set as part of ControlValueAccessor implementation.\n * @docs-private\n */\n _onTouched = () => {};\n /**\n * Function when changed. Set as part of ControlValueAccessor implementation.\n * @docs-private\n */\n _onChange = () => {};\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n get disabled() {\n return this.ngControl ? !!this.ngControl.disabled : this._disabled;\n }\n set disabled(value) {\n this._disabled = value;\n this._syncChipsState();\n this.stateChanges.next();\n }\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n get id() {\n return this._chipInput.id;\n }\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n get empty() {\n return (!this._chipInput || this._chipInput.empty) && (!this._chips || this._chips.length === 0);\n }\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n get placeholder() {\n return this._chipInput ? this._chipInput.placeholder : this._placeholder;\n }\n set placeholder(value) {\n this._placeholder = value;\n this.stateChanges.next();\n }\n _placeholder;\n /** Whether any chips or the matChipInput inside of this chip-grid has focus. */\n get focused() {\n return this._chipInput.focused || this._hasFocusedChip();\n }\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n get required() {\n return this._required ?? this.ngControl?.control?.hasValidator(Validators.required) ?? false;\n }\n set required(value) {\n this._required = value;\n this.stateChanges.next();\n }\n _required;\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n get shouldLabelFloat() {\n return !this.empty || this.focused;\n }\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n get value() {\n return this._value;\n }\n set value(value) {\n this._value = value;\n }\n _value = [];\n /** An object used to control when error messages are shown. */\n get errorStateMatcher() {\n return this._errorStateTracker.matcher;\n }\n set errorStateMatcher(value) {\n this._errorStateTracker.matcher = value;\n }\n /** Combined stream of all of the child chips' blur events. */\n get chipBlurChanges() {\n return this._getChipStream(chip => chip._onBlur);\n }\n /** Emits when the chip grid value has been changed by the user. */\n change = new EventEmitter();\n /**\n * Emits whenever the raw value of the chip-grid changes. This is here primarily\n * to facilitate the two-way binding for the `value` input.\n * @docs-private\n */\n valueChange = new EventEmitter();\n _chips = undefined;\n /**\n * Emits whenever the component state changes and should cause the parent\n * form-field to update. Implemented as part of `MatFormFieldControl`.\n * @docs-private\n */\n stateChanges = new Subject();\n /** Whether the chip grid is in an error state. */\n get errorState() {\n return this._errorStateTracker.errorState;\n }\n set errorState(value) {\n this._errorStateTracker.errorState = value;\n }\n constructor() {\n super();\n const parentForm = inject(NgForm, {\n optional: true\n });\n const parentFormGroup = inject(FormGroupDirective, {\n optional: true\n });\n const defaultErrorStateMatcher = inject(ErrorStateMatcher);\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n this._errorStateTracker = new _ErrorStateTracker(defaultErrorStateMatcher, this.ngControl, parentFormGroup, parentForm, this.stateChanges);\n }\n ngAfterContentInit() {\n this.chipBlurChanges.pipe(takeUntil(this._destroyed)).subscribe(() => {\n this._blur();\n this.stateChanges.next();\n });\n merge(this.chipFocusChanges, this._chips.changes).pipe(takeUntil(this._destroyed)).subscribe(() => this.stateChanges.next());\n }\n ngAfterViewInit() {\n super.ngAfterViewInit();\n if (!this._chipInput && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('mat-chip-grid must be used in combination with matChipInputFor.');\n }\n }\n ngDoCheck() {\n if (this.ngControl) {\n // We need to re-evaluate this on every change detection cycle, because there are some\n // error triggers that we can't subscribe to (e.g. parent form submissions). This means\n // that whatever logic is in here has to be super lean or we risk destroying the performance.\n this.updateErrorState();\n }\n }\n ngOnDestroy() {\n super.ngOnDestroy();\n this.stateChanges.complete();\n }\n /** Associates an HTML input element with this chip grid. */\n registerInput(inputElement) {\n this._chipInput = inputElement;\n this._chipInput.setDescribedByIds(this._ariaDescribedbyIds);\n }\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n onContainerClick(event) {\n if (!this.disabled && !this._originatesFromChip(event)) {\n this.focus();\n }\n }\n /**\n * Focuses the first chip in this chip grid, or the associated input when there\n * are no eligible chips.\n */\n focus() {\n if (this.disabled || this._chipInput.focused) {\n return;\n }\n if (!this._chips.length || this._chips.first.disabled) {\n // Delay until the next tick, because this can cause a \"changed after checked\"\n // error if the input does something on focus (e.g. opens an autocomplete).\n Promise.resolve().then(() => this._chipInput.focus());\n } else {\n const activeItem = this._keyManager.activeItem;\n if (activeItem) {\n activeItem.focus();\n } else {\n this._keyManager.setFirstItemActive();\n }\n }\n this.stateChanges.next();\n }\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n setDescribedByIds(ids) {\n // We must keep this up to date to handle the case where ids are set\n // before the chip input is registered.\n this._ariaDescribedbyIds = ids;\n this._chipInput?.setDescribedByIds(ids);\n }\n /**\n * Implemented as part of ControlValueAccessor.\n * @docs-private\n */\n writeValue(value) {\n // The user is responsible for creating the child chips, so we just store the value.\n this._value = value;\n }\n /**\n * Implemented as part of ControlValueAccessor.\n * @docs-private\n */\n registerOnChange(fn) {\n this._onChange = fn;\n }\n /**\n * Implemented as part of ControlValueAccessor.\n * @docs-private\n */\n registerOnTouched(fn) {\n this._onTouched = fn;\n }\n /**\n * Implemented as part of ControlValueAccessor.\n * @docs-private\n */\n setDisabledState(isDisabled) {\n this.disabled = isDisabled;\n this.stateChanges.next();\n }\n /** Refreshes the error state of the chip grid. */\n updateErrorState() {\n this._errorStateTracker.updateErrorState();\n }\n /** When blurred, mark the field as touched when focus moved outside the chip grid. */\n _blur() {\n if (!this.disabled) {\n // Check whether the focus moved to chip input.\n // If the focus is not moved to chip input, mark the field as touched. If the focus moved\n // to chip input, do nothing.\n // Timeout is needed to wait for the focus() event trigger on chip input.\n setTimeout(() => {\n if (!this.focused) {\n this._propagateChanges();\n this._markAsTouched();\n }\n });\n }\n }\n /**\n * Removes the `tabindex` from the chip grid and resets it back afterwards, allowing the\n * user to tab out of it. This prevents the grid from capturing focus and redirecting\n * it back to the first chip, creating a focus trap, if it user tries to tab away.\n */\n _allowFocusEscape() {\n if (!this._chipInput.focused) {\n super._allowFocusEscape();\n }\n }\n /** Handles custom keyboard events. */\n _handleKeydown(event) {\n const keyCode = event.keyCode;\n const activeItem = this._keyManager.activeItem;\n if (keyCode === TAB) {\n if (this._chipInput.focused && hasModifierKey(event, 'shiftKey') && this._chips.length && !this._chips.last.disabled) {\n event.preventDefault();\n if (activeItem) {\n this._keyManager.setActiveItem(activeItem);\n } else {\n this._focusLastChip();\n }\n } else {\n // Use the super method here since it doesn't check for the input\n // focused state. This allows focus to escape if there's only one\n // disabled chip left in the list.\n super._allowFocusEscape();\n }\n } else if (!this._chipInput.focused) {\n // The up and down arrows are supposed to navigate between the individual rows in the grid.\n // We do this by filtering the actions down to the ones that have the same `_isPrimary`\n // flag as the active action and moving focus between them ourseles instead of delegating\n // to the key manager. For more information, see #29359 and:\n // https://www.w3.org/WAI/ARIA/apg/patterns/grid/examples/layout-grids/#ex2_label\n if ((keyCode === UP_ARROW || keyCode === DOWN_ARROW) && activeItem) {\n const eligibleActions = this._chipActions.filter(action => action._isPrimary === activeItem._isPrimary && !this._skipPredicate(action));\n const currentIndex = eligibleActions.indexOf(activeItem);\n const delta = event.keyCode === UP_ARROW ? -1 : 1;\n event.preventDefault();\n if (currentIndex > -1 && this._isValidIndex(currentIndex + delta)) {\n this._keyManager.setActiveItem(eligibleActions[currentIndex + delta]);\n }\n } else {\n super._handleKeydown(event);\n }\n }\n this.stateChanges.next();\n }\n _focusLastChip() {\n if (this._chips.length) {\n this._chips.last.focus();\n }\n }\n /** Emits change event to set the model value. */\n _propagateChanges() {\n const valueToEmit = this._chips.length ? this._chips.toArray().map(chip => chip.value) : [];\n this._value = valueToEmit;\n this.change.emit(new MatChipGridChange(this, valueToEmit));\n this.valueChange.emit(valueToEmit);\n this._onChange(valueToEmit);\n this._changeDetectorRef.markForCheck();\n }\n /** Mark the field as touched */\n _markAsTouched() {\n this._onTouched();\n this._changeDetectorRef.markForCheck();\n this.stateChanges.next();\n }\n static ɵfac = function MatChipGrid_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || MatChipGrid)();\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: MatChipGrid,\n selectors: [[\"mat-chip-grid\"]],\n contentQueries: function MatChipGrid_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, MatChipRow, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._chips = _t);\n }\n },\n hostAttrs: [1, \"mat-mdc-chip-set\", \"mat-mdc-chip-grid\", \"mdc-evolution-chip-set\"],\n hostVars: 10,\n hostBindings: function MatChipGrid_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"focus\", function MatChipGrid_focus_HostBindingHandler() {\n return ctx.focus();\n })(\"blur\", function MatChipGrid_blur_HostBindingHandler() {\n return ctx._blur();\n });\n }\n if (rf & 2) {\n i0.ɵɵattribute(\"role\", ctx.role)(\"tabindex\", ctx.disabled || ctx._chips && ctx._chips.length === 0 ? -1 : ctx.tabIndex)(\"aria-disabled\", ctx.disabled.toString())(\"aria-invalid\", ctx.errorState);\n i0.ɵɵclassProp(\"mat-mdc-chip-list-disabled\", ctx.disabled)(\"mat-mdc-chip-list-invalid\", ctx.errorState)(\"mat-mdc-chip-list-required\", ctx.required);\n }\n },\n inputs: {\n disabled: [2, \"disabled\", \"disabled\", booleanAttribute],\n placeholder: \"placeholder\",\n required: [2, \"required\", \"required\", booleanAttribute],\n value: \"value\",\n errorStateMatcher: \"errorStateMatcher\"\n },\n outputs: {\n change: \"change\",\n valueChange: \"valueChange\"\n },\n features: [i0.ɵɵProvidersFeature([{\n provide: MatFormFieldControl,\n useExisting: MatChipGrid\n }]), i0.ɵɵInheritDefinitionFeature],\n ngContentSelectors: _c5,\n decls: 2,\n vars: 0,\n consts: [[\"role\", \"presentation\", 1, \"mdc-evolution-chip-set__chips\"]],\n template: function MatChipGrid_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵelementStart(0, \"div\", 0);\n i0.ɵɵprojection(1);\n i0.ɵɵelementEnd();\n }\n },\n styles: [_c6],\n encapsulation: 2,\n changeDetection: 0\n });\n }\n return MatChipGrid;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Directive that adds chip-specific behaviors to an input element inside ``.\n * May be placed inside or outside of a ``.\n */\nlet MatChipInput = /*#__PURE__*/(() => {\n class MatChipInput {\n _elementRef = inject(ElementRef);\n /** Whether the control is focused. */\n focused = false;\n /** Register input for chip list */\n get chipGrid() {\n return this._chipGrid;\n }\n set chipGrid(value) {\n if (value) {\n this._chipGrid = value;\n this._chipGrid.registerInput(this);\n }\n }\n _chipGrid;\n /**\n * Whether or not the chipEnd event will be emitted when the input is blurred.\n */\n addOnBlur = false;\n /**\n * The list of key codes that will trigger a chipEnd event.\n *\n * Defaults to `[ENTER]`.\n */\n separatorKeyCodes;\n /** Emitted when a chip is to be added. */\n chipEnd = new EventEmitter();\n /** The input's placeholder text. */\n placeholder = '';\n /** Unique id for the input. */\n id = inject(_IdGenerator).getId('mat-mdc-chip-list-input-');\n /** Whether the input is disabled. */\n get disabled() {\n return this._disabled || this._chipGrid && this._chipGrid.disabled;\n }\n set disabled(value) {\n this._disabled = value;\n }\n _disabled = false;\n /** Whether the input is empty. */\n get empty() {\n return !this.inputElement.value;\n }\n /** The native input element to which this directive is attached. */\n inputElement;\n constructor() {\n const defaultOptions = inject(MAT_CHIPS_DEFAULT_OPTIONS);\n const formField = inject(MAT_FORM_FIELD, {\n optional: true\n });\n this.inputElement = this._elementRef.nativeElement;\n this.separatorKeyCodes = defaultOptions.separatorKeyCodes;\n if (formField) {\n this.inputElement.classList.add('mat-mdc-form-field-input-control');\n }\n }\n ngOnChanges() {\n this._chipGrid.stateChanges.next();\n }\n ngOnDestroy() {\n this.chipEnd.complete();\n }\n /** Utility method to make host definition/tests more clear. */\n _keydown(event) {\n if (this.empty && event.keyCode === BACKSPACE) {\n // Ignore events where the user is holding down backspace\n // so that we don't accidentally remove too many chips.\n if (!event.repeat) {\n this._chipGrid._focusLastChip();\n }\n event.preventDefault();\n } else {\n this._emitChipEnd(event);\n }\n }\n /** Checks to see if the blur should emit the (chipEnd) event. */\n _blur() {\n if (this.addOnBlur) {\n this._emitChipEnd();\n }\n this.focused = false;\n // Blur the chip list if it is not focused\n if (!this._chipGrid.focused) {\n this._chipGrid._blur();\n }\n this._chipGrid.stateChanges.next();\n }\n _focus() {\n this.focused = true;\n this._chipGrid.stateChanges.next();\n }\n /** Checks to see if the (chipEnd) event needs to be emitted. */\n _emitChipEnd(event) {\n if (!event || this._isSeparatorKey(event) && !event.repeat) {\n this.chipEnd.emit({\n input: this.inputElement,\n value: this.inputElement.value,\n chipInput: this\n });\n event?.preventDefault();\n }\n }\n _onInput() {\n // Let chip list know whenever the value changes.\n this._chipGrid.stateChanges.next();\n }\n /** Focuses the input. */\n focus() {\n this.inputElement.focus();\n }\n /** Clears the input */\n clear() {\n this.inputElement.value = '';\n }\n setDescribedByIds(ids) {\n const element = this._elementRef.nativeElement;\n // Set the value directly in the DOM since this binding\n // is prone to \"changed after checked\" errors.\n if (ids.length) {\n element.setAttribute('aria-describedby', ids.join(' '));\n } else {\n element.removeAttribute('aria-describedby');\n }\n }\n /** Checks whether a keycode is one of the configured separators. */\n _isSeparatorKey(event) {\n return !hasModifierKey(event) && new Set(this.separatorKeyCodes).has(event.keyCode);\n }\n static ɵfac = function MatChipInput_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || MatChipInput)();\n };\n static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: MatChipInput,\n selectors: [[\"input\", \"matChipInputFor\", \"\"]],\n hostAttrs: [1, \"mat-mdc-chip-input\", \"mat-mdc-input-element\", \"mdc-text-field__input\", \"mat-input-element\"],\n hostVars: 6,\n hostBindings: function MatChipInput_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"keydown\", function MatChipInput_keydown_HostBindingHandler($event) {\n return ctx._keydown($event);\n })(\"blur\", function MatChipInput_blur_HostBindingHandler() {\n return ctx._blur();\n })(\"focus\", function MatChipInput_focus_HostBindingHandler() {\n return ctx._focus();\n })(\"input\", function MatChipInput_input_HostBindingHandler() {\n return ctx._onInput();\n });\n }\n if (rf & 2) {\n i0.ɵɵhostProperty(\"id\", ctx.id);\n i0.ɵɵattribute(\"disabled\", ctx.disabled || null)(\"placeholder\", ctx.placeholder || null)(\"aria-invalid\", ctx._chipGrid && ctx._chipGrid.ngControl ? ctx._chipGrid.ngControl.invalid : null)(\"aria-required\", ctx._chipGrid && ctx._chipGrid.required || null)(\"required\", ctx._chipGrid && ctx._chipGrid.required || null);\n }\n },\n inputs: {\n chipGrid: [0, \"matChipInputFor\", \"chipGrid\"],\n addOnBlur: [2, \"matChipInputAddOnBlur\", \"addOnBlur\", booleanAttribute],\n separatorKeyCodes: [0, \"matChipInputSeparatorKeyCodes\", \"separatorKeyCodes\"],\n placeholder: \"placeholder\",\n id: \"id\",\n disabled: [2, \"disabled\", \"disabled\", booleanAttribute]\n },\n outputs: {\n chipEnd: \"matChipInputTokenEnd\"\n },\n exportAs: [\"matChipInput\", \"matChipInputFor\"],\n features: [i0.ɵɵNgOnChangesFeature]\n });\n }\n return MatChipInput;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst CHIP_DECLARATIONS = [MatChip, MatChipAvatar, MatChipEditInput, MatChipGrid, MatChipInput, MatChipListbox, MatChipOption, MatChipRemove, MatChipRow, MatChipSet, MatChipTrailingIcon];\nlet MatChipsModule = /*#__PURE__*/(() => {\n class MatChipsModule {\n static ɵfac = function MatChipsModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || MatChipsModule)();\n };\n static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: MatChipsModule\n });\n static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n providers: [ErrorStateMatcher, {\n provide: MAT_CHIPS_DEFAULT_OPTIONS,\n useValue: {\n separatorKeyCodes: [ENTER]\n }\n }],\n imports: [MatCommonModule, MatRippleModule, MatCommonModule]\n });\n }\n return MatChipsModule;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { MAT_CHIP, MAT_CHIPS_DEFAULT_OPTIONS, MAT_CHIP_AVATAR, MAT_CHIP_LISTBOX_CONTROL_VALUE_ACCESSOR, MAT_CHIP_REMOVE, MAT_CHIP_TRAILING_ICON, MatChip, MatChipAvatar, MatChipEditInput, MatChipGrid, MatChipGridChange, MatChipInput, MatChipListbox, MatChipListboxChange, MatChipOption, MatChipRemove, MatChipRow, MatChipSelectionChange, MatChipSet, MatChipTrailingIcon, MatChipsModule };\n","import { NgModule } from '@angular/core';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { ClipboardModule } from '@angular/cdk/clipboard';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatNativeDateModule } from '@angular/material/core';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport {MatSlideToggleModule} from '@angular/material/slide-toggle';\r\nimport {MatSidenavModule} from '@angular/material/sidenav';\r\nimport {MatExpansionModule} from '@angular/material/expansion';\r\nimport {MatBottomSheetModule} from '@angular/material/bottom-sheet';\r\nimport {TextFieldModule} from '@angular/cdk/text-field';\r\nimport {MatStepperModule} from '@angular/material/stepper';\r\nimport {MatAutocompleteModule} from '@angular/material/autocomplete';\r\nimport {MatMenuModule} from '@angular/material/menu';\r\nimport {MatBadgeModule} from '@angular/material/badge';\r\nimport {MatButtonToggleModule} from '@angular/material/button-toggle';\r\nimport {MatCardModule} from '@angular/material/card';\r\nimport {MatChipsModule} from '@angular/material/chips';\r\nimport {MatButtonModule} from '@angular/material/button';\r\n\r\n@NgModule({\r\n imports: [\r\n MatButtonModule,\r\n MatRadioModule,\r\n MatCheckboxModule,\r\n MatDialogModule,\r\n MatSelectModule,\r\n MatInputModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n ClipboardModule,\r\n MatTooltipModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatProgressBarModule,\r\n MatToolbarModule,\r\n MatSlideToggleModule,\r\n MatSidenavModule,\r\n MatExpansionModule,\r\n MatBottomSheetModule,\r\n TextFieldModule,\r\n MatStepperModule,\r\n MatAutocompleteModule,\r\n MatMenuModule,\r\n MatBadgeModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatChipsModule\r\n ],\r\n exports: [\r\n MatButtonModule,\r\n MatRadioModule,\r\n MatCheckboxModule,\r\n MatDialogModule,\r\n MatSelectModule,\r\n MatInputModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n ClipboardModule,\r\n MatTooltipModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatProgressBarModule,\r\n MatToolbarModule,\r\n MatSlideToggleModule,\r\n MatSidenavModule,\r\n MatExpansionModule,\r\n MatBottomSheetModule,\r\n TextFieldModule,\r\n MatStepperModule,\r\n MatAutocompleteModule,\r\n MatMenuModule,\r\n MatBadgeModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatChipsModule,\r\n ]\r\n})\r\nexport class MaterialModule { }\r\n","import { HttpHeaders } from '@angular/common/http';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\nexport class BaseService {\r\n constructor(public toastr: ToastrService) {\r\n }\r\n\r\n headers() {\r\n return new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n });\r\n }\r\n\r\n multiPartheaders() {\r\n return new HttpHeaders({\r\n });\r\n }\r\n\r\n showError(errors) {\r\n const toastr = this.toastr;\r\n errors.forEach(function (element) {\r\n toastr.error(element);\r\n });\r\n }\r\n\r\n showOk(message) {\r\n if (message)\r\n this.toastr.success(message);\r\n }\r\n}\r\n","// import { MemberNotesModel } from './../model/member-notes.model';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { BaseService } from './base.services';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from 'src/environments/environment';\r\nimport { AccessYourSuperKiwiSaverDetailSubmissionModel, AccessYourSuperPaymentDetailSectionModel, AccessYourSuperPaymentDetailSubmissionModel } from '../model/access-your-super-custom-sections.model';\r\nimport { AccessYourSuperBankDetailsSubmissionModel, AccessYourSuperDocumentSubmissionModel, AccessYourSuperEmployerDetailsSubmissionModel } from '../model/access-your-super-form.models';\r\nimport { AppFileModel } from '@ifaa-components/ui-components';\r\n\r\n\r\n@Injectable()\r\nexport class AccessYourSuperService extends BaseService {\r\n\r\n constructor(private http: HttpClient,\r\n public toastr: ToastrService,\r\n private store: Store) {\r\n super(toastr);\r\n }\r\n\r\n getApplicationList(accountId: number): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/AccessYourSuper/account/${accountId}/retrieveAllApplications`, { headers: this.headers() });\r\n }\r\n\r\n getApplicationTypes(accountType: number, accountId:number): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/AccessYourSuper/account/${accountId}/accountType/${accountType}/getApplicationTypes`, { headers: this.headers() });\r\n }\r\n\r\n submitApplicationTypeSelection(accountId: number, applicationType: number): Observable {\r\n return this.http.post(environment.apiUrl + `/member-portal/AccessYourSuper/account/${accountId}/createNewApplication/applicationType/${applicationType}`, { headers: this.headers() });\r\n }\r\n\r\n getApplicationSpecificData(accountId: number, applicationType: number): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/AccessYourSuper/account/${accountId}/generateApplicationData/applicationType/${applicationType}`, { headers: this.headers() });\r\n }\r\n\r\n cancelApplication(accountId: number, applicationId: any): Observable {\r\n return this.http.put(environment.apiUrl + `/member-portal/AccessYourSuper/account/${accountId}/updateApplication/status/cancelled/applicationId/${applicationId}`, { headers: this.headers() });\r\n }\r\n\r\n continueApplication(accountId: number, applicationId: any, draftApplication:boolean): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/AccessYourSuper/account/${accountId}/continueApplication/applicationId/${applicationId}?draftApplication=${draftApplication}`, { headers: this.headers() });\r\n }\r\n\r\n updateCurrentStep(accountId: number, currentStep: number, applicationId: number): Observable {\r\n return this.http.put(environment.apiUrl + `/member-portal/AccessYourSuper/account/${accountId}/updateApplication/currentStep/${currentStep}/applicationId/${applicationId}`,\r\n { headers: this.headers() });\r\n }\r\n\r\n saveLastEmployerData(accountId: number, applicationId: number, obj: AccessYourSuperEmployerDetailsSubmissionModel): Observable {\r\n return this.http.put(environment.apiUrl + `/member-portal/AccessYourSuper/account/${accountId}/updateApplication/employerDetails/applicationId/${applicationId}`, obj,\r\n { headers: this.headers() });\r\n }\r\n\r\n searchBankName(bsb: any): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/Bank/getFinancialInstitutionName/${bsb}`,\r\n { headers: this.headers() });\r\n }\r\n\r\n saveBankDetails(accountId: any, applicationId: any, payload: AccessYourSuperBankDetailsSubmissionModel): Observable {\r\n return this.http.put(environment.apiUrl + `/member-portal/AccessYourSuper/account/${accountId}/updateApplication/bankDetails/applicationId/${applicationId}`, payload,\r\n { headers: this.headers() });\r\n }\r\n\r\n saveDocument(accountId:any, applicationId:any, documentTypeId:any, payload:AppFileModel, draftApplication:boolean): Observable{\r\n return this.http.put(environment.apiUrl + `/member-portal/AccessYourSuper/account/${accountId}/updateApplication/saveApplicationDocument/applicationId/${applicationId}/documentTypeId/${documentTypeId}?draftApplication=${draftApplication}`, payload,\r\n { headers: this.headers() });\r\n }\r\n\r\n deleteDocument(accountId:any, applicationId:any, uploadedDocumentId:any, draftApplication:boolean): Observable{\r\n return this.http.delete(environment.apiUrl + `/member-portal/AccessYourSuper/account/${accountId}/updateApplication/deleteApplicationDocument/applicationId/${applicationId}/uploadedDocumentId/${uploadedDocumentId}?draftApplication=${draftApplication}`,\r\n { headers: this.headers() });\r\n }\r\n\r\n completeDocuments(accountId:any, applicationId: any, payload:AccessYourSuperDocumentSubmissionModel): Observable{\r\n return this.http.put(environment.apiUrl + `/member-portal/AccessYourSuper/account/${accountId}/updateApplication/completeDocumentStep/applicationId/${applicationId}`, payload,\r\n { headers: this.headers() });\r\n }\r\n\r\n getCustomSectionData(accountId: number, applicationId: number, applicationTypeId: number): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/AccessYourSuper/account/${accountId}/generateCustomSection/applicationId/${applicationId}/applicationTypeId/${applicationTypeId}`,\r\n { headers: this.headers() });\r\n }\r\n\r\n saveRetirementCustomSectionData(accountId: number, payload: AccessYourSuperPaymentDetailSubmissionModel): Observable {\r\n return this.http.post(environment.apiUrl + `/member-portal/AccessYourSuper/account/${accountId}/saveCustomSection/retirement`, payload,\r\n { headers: this.headers() });\r\n }\r\n\r\n saveCeasedWorkSixtyCustomSectionData(accountId: number, payload: AccessYourSuperPaymentDetailSubmissionModel): Observable {\r\n return this.http.post(environment.apiUrl + `/member-portal/AccessYourSuper/account/${accountId}/saveCustomSection/ceasedWorkAfterSixty`, payload,\r\n { headers: this.headers() });\r\n }\r\n\r\n savePermanentlyRetiredPreservationCustomSectionData(accountId: number, payload: AccessYourSuperPaymentDetailSubmissionModel): Observable {\r\n return this.http.post(environment.apiUrl + `/member-portal/AccessYourSuper/account/${accountId}/saveCustomSection/permanentRetirementAfterPreservation`, payload,\r\n { headers: this.headers() });\r\n }\r\n\r\n saveCeasedPaidEmploymentCustomSectionData(accountId: number, payload: AccessYourSuperPaymentDetailSubmissionModel): Observable {\r\n return this.http.post(environment.apiUrl + `/member-portal/AccessYourSuper/account/${accountId}/saveCustomSection/ceasedPaidEmployment`, payload,\r\n { headers: this.headers() });\r\n }\r\n\r\n savePensionCommutationsCustomSectionData(accountId: number, payload: AccessYourSuperPaymentDetailSubmissionModel): Observable {\r\n return this.http.post(environment.apiUrl + `/member-portal/AccessYourSuper/account/${accountId}/saveCustomSection/pensionCommutations`, payload,\r\n { headers: this.headers() });\r\n }\r\n\r\n saveTerminalMedicalConditionCustomSectionData(accountId: number, payload: AccessYourSuperPaymentDetailSubmissionModel): Observable {\r\n return this.http.post(environment.apiUrl + `/member-portal/AccessYourSuper/account/${accountId}/saveCustomSection/terminalMedicalCondition`, payload,\r\n { headers: this.headers() });\r\n }\r\n\r\n saveSevereFinancialHardshipCustomSectionData(accountId: number, payload: AccessYourSuperPaymentDetailSubmissionModel): Observable {\r\n return this.http.post(environment.apiUrl + `/member-portal/AccessYourSuper/account/${accountId}/saveCustomSection/severeFinancialHardship`, payload,\r\n { headers: this.headers() });\r\n }\r\n\r\n saveCompassionateGroundsCustomSectionData(accountId: number, payload: AccessYourSuperPaymentDetailSubmissionModel): Observable {\r\n return this.http.post(environment.apiUrl + `/member-portal/AccessYourSuper/account/${accountId}/saveCustomSection/compassionateGrounds`, payload,\r\n { headers: this.headers() });\r\n }\r\n\r\n saveUnrestrictedNonPreservedCustomSectionData(accountId: number, payload: AccessYourSuperPaymentDetailSubmissionModel): Observable {\r\n return this.http.post(environment.apiUrl + `/member-portal/AccessYourSuper/account/${accountId}/saveCustomSection/unrestrictedNonPreserved`, payload,\r\n { headers: this.headers() });\r\n }\r\n\r\n submitApplication(accountId:number, applicationId:number):Observable{\r\n return this.http.put(environment.apiUrl + `/member-portal/AccessYourSuper/account/${accountId}/submitApplication/applicationId/${applicationId}`, { headers: this.headers() });\r\n }\r\n\r\n getKiwiSaverSectionData(accountId: number, applicationId:number):Observable{\r\n return this.http.get(environment.apiUrl + `/member-portal/AccessYourSuper/account/${accountId}/generateKiwiSaver/applicationId/${applicationId}`, { headers: this.headers() });\r\n }\r\n\r\n getSfhSectionData(accountId: number, applicationId:number):Observable{\r\n return this.http.get(environment.apiUrl + `/member-portal/AccessYourSuper/account/${accountId}/generateSfh/applicationId/${applicationId}`, { headers: this.headers() });\r\n }\r\n\r\n saveKiwiSaverSectionData(accountId:number, payload: AccessYourSuperKiwiSaverDetailSubmissionModel):Observable{\r\n return this.http.post(environment.apiUrl + `/member-portal/AccessYourSuper/account/${accountId}/saveCustomSection/kiwiSaver`, payload,\r\n { headers: this.headers() });\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { Store } from '@ngrx/store';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { AccessYourSuperService } from 'src/app/services/access-your-super.service';\r\nimport * as ActionsList from './actions';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class AccessYourSuperBankDetailsComponentEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private service: AccessYourSuperService) {\r\n }\r\n\r\n searchBankName$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.SearchBankNameAction),\r\n switchMap((action: any) => this.service.searchBankName(action.bsb).pipe(\r\n map((data: any) => {\r\n return ActionsList.SetBankNameAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n saveBankDetails$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.SaveBankDetailsAction),\r\n switchMap((action: any) => this.service.saveBankDetails(action.accountId, action.applicationId, action.payload).pipe(\r\n map((data: any) => {\r\n return ActionsList.SetBankDetailsSavedAction()\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ))\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { Store } from '@ngrx/store';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { AccessYourSuperService } from 'src/app/services/access-your-super.service';\r\nimport * as ActionsList from './actions';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class AccessYourSuperCeasedPaidEmploymentComponentEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private service: AccessYourSuperService) {\r\n }\r\n\r\n getCustomSectionData$ = createEffect(() =>this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.getCustomSectionData(action.accountId, action.applicationId, action.applicationTypeId).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({payload:data.data});\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n saveCustomSectionData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.SaveFormDataAction),\r\n switchMap((action:any) => this.service.saveCeasedPaidEmploymentCustomSectionData(action.accountId, action.payload).pipe(\r\n map((data: any) => {\r\n return ActionsList.SavedFormDataAction()\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ))\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { Store } from '@ngrx/store';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { AccessYourSuperService } from 'src/app/services/access-your-super.service';\r\nimport * as ActionsList from './actions';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class AccessYourSuperCeasedWorkSixtyComponentEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private service: AccessYourSuperService) {\r\n }\r\n\r\n getCustomSectionData$ = createEffect(() =>this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.getCustomSectionData(action.accountId, action.applicationId, action.applicationTypeId).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({payload:data.data});\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n saveCustomSectionData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.SaveFormDataAction),\r\n switchMap((action:any) => this.service.saveCeasedWorkSixtyCustomSectionData(action.accountId, action.payload).pipe(\r\n map((data: any) => {\r\n return ActionsList.SavedFormDataAction()\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ))\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { Store } from '@ngrx/store';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { AccessYourSuperService } from 'src/app/services/access-your-super.service';\r\nimport * as ActionsList from './actions';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class AccessYourSuperCompassionateGroundsComponentEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private service: AccessYourSuperService) {\r\n }\r\n\r\n getCustomSectionData$ = createEffect(() =>this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.getCustomSectionData(action.accountId, action.applicationId, action.applicationTypeId).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({payload:data.data});\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n saveCustomSectionData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.SaveFormDataAction),\r\n switchMap((action:any) => this.service.saveCompassionateGroundsCustomSectionData(action.accountId, action.payload).pipe(\r\n map((data: any) => {\r\n return ActionsList.SavedFormDataAction()\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ))\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { Store } from '@ngrx/store';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { AccessYourSuperService } from 'src/app/services/access-your-super.service';\r\nimport * as ActionsList from './actions';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class AccessYourSuperKiwiSaverComponentEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private service: AccessYourSuperService) {\r\n }\r\n\r\n getCustomSectionData$ = createEffect(() =>this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.getKiwiSaverSectionData(action.accountId, action.applicationId).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({payload:data.data});\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n saveCustomSectionData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.SaveFormDataAction),\r\n switchMap((action:any) => this.service.saveKiwiSaverSectionData(action.accountId, action.payload).pipe(\r\n map((data: any) => {\r\n return ActionsList.SavedFormDataAction()\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ))\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { Store } from '@ngrx/store';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { AccessYourSuperService } from 'src/app/services/access-your-super.service';\r\nimport * as ActionsList from './actions';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class AccessYourSuperPensionCommutationsComponentEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private service: AccessYourSuperService) {\r\n }\r\n\r\n getCustomSectionData$ = createEffect(() =>this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.getCustomSectionData(action.accountId, action.applicationId, action.applicationTypeId).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({payload:data.data});\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n saveCustomSectionData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.SaveFormDataAction),\r\n switchMap((action:any) => this.service.savePensionCommutationsCustomSectionData(action.accountId, action.payload).pipe(\r\n map((data: any) => {\r\n return ActionsList.SavedFormDataAction()\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ))\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { Store } from '@ngrx/store';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { AccessYourSuperService } from 'src/app/services/access-your-super.service';\r\nimport * as ActionsList from './actions';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class AccessYourSuperPermanentRetirementPreservationComponentEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private service: AccessYourSuperService) {\r\n }\r\n\r\n getCustomSectionData$ = createEffect(() =>this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.getCustomSectionData(action.accountId, action.applicationId, action.applicationTypeId).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({payload:data.data});\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n saveCustomSectionData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.SaveFormDataAction),\r\n switchMap((action:any) => this.service.savePermanentlyRetiredPreservationCustomSectionData(action.accountId, action.payload).pipe(\r\n map((data: any) => {\r\n return ActionsList.SavedFormDataAction()\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n ))\r\n ))\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { Store } from '@ngrx/store';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { AccessYourSuperService } from 'src/app/services/access-your-super.service';\r\nimport * as ActionsList from './actions';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class AccessYourSuperRetirementComponentEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private service: AccessYourSuperService) {\r\n }\r\n\r\n getCustomSectionData$ = createEffect(() =>this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.getCustomSectionData(action.accountId, action.applicationId, action.applicationTypeId).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({payload:data.data});\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n saveCustomSectionData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.SaveFormDataAction),\r\n switchMap((action:any) => this.service.saveRetirementCustomSectionData(action.accountId, action.payload).pipe(\r\n map((data: any) => {\r\n return ActionsList.SavedFormDataAction()\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ))\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { Store } from '@ngrx/store';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { AccessYourSuperService } from 'src/app/services/access-your-super.service';\r\nimport * as ActionsList from './actions';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class AccessYourSuperSevereFinancialHardshipComponentEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private service: AccessYourSuperService) {\r\n }\r\n\r\n getCustomSectionData$ = createEffect(() =>this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.getSfhSectionData(action.accountId, action.applicationId).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({payload:data.data});\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n saveCustomSectionData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.SaveFormDataAction),\r\n switchMap((action:any) => this.service.saveSevereFinancialHardshipCustomSectionData(action.accountId, action.payload).pipe(\r\n map((data: any) => {\r\n return ActionsList.SavedFormDataAction()\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n ))\r\n ))\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { Store } from '@ngrx/store';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { AccessYourSuperService } from 'src/app/services/access-your-super.service';\r\nimport * as ActionsList from './actions';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class AccessYourSuperTerminalMedicalConditionComponentEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private service: AccessYourSuperService) {\r\n }\r\n\r\n getCustomSectionData$ = createEffect(() =>this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.getCustomSectionData(action.accountId, action.applicationId, action.applicationTypeId).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({payload:data.data});\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n saveCustomSectionData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.SaveFormDataAction),\r\n switchMap((action:any) => this.service.saveTerminalMedicalConditionCustomSectionData(action.accountId, action.payload).pipe(\r\n map((data: any) => {\r\n return ActionsList.SavedFormDataAction()\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ))\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { Store } from '@ngrx/store';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { AccessYourSuperService } from 'src/app/services/access-your-super.service';\r\nimport * as ActionsList from './actions';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class AccessYourSuperUnrestrictedNonPreservedComponentEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private service: AccessYourSuperService) {\r\n }\r\n\r\n getCustomSectionData$ = createEffect(() =>this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.getCustomSectionData(action.accountId, action.applicationId, action.applicationTypeId).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({payload:data.data});\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n saveCustomSectionData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.SaveFormDataAction),\r\n switchMap((action:any) => this.service.saveUnrestrictedNonPreservedCustomSectionData(action.accountId, action.payload).pipe(\r\n map((data: any) => {\r\n return ActionsList.SavedFormDataAction()\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ))\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { Store } from '@ngrx/store';\r\nimport { catchError, map, mergeMap, switchMap } from 'rxjs/operators';\r\nimport { AccessYourSuperService } from 'src/app/services/access-your-super.service';\r\nimport * as ActionsList from './actions';\r\nimport { EMPTY, of } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class AccessYourSuperDocumentsComponentEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private service: AccessYourSuperService) {\r\n }\r\n\r\n saveDocument$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.SaveDocumentAction),\r\n mergeMap((action: any) => this.service.saveDocument(action.accountId, action.applicationId, action.documentTypeId, action.payload, action.draftApplication).pipe(\r\n map((data: any) => {\r\n return ActionsList.UpdateSavedDocumentAction({ uploadedDocumentId: data.data, fileName: action.fileName, documentTypeId: action.documentTypeId, documentIndex: action.documentIndex, controlId: action.controlId })\r\n }),\r\n catchError((err: any, caught: any) => {\r\n return of(ActionsList.SetFileRequestFailedAction({ controlId: action.controlId, file: action.payload }))\r\n })\r\n )),\r\n ))\r\n\r\n deleteDocument$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.DeleteDocumentAction),\r\n switchMap((action: any) => this.service.deleteDocument(action.accountId, action.applicationId, action.uploadedDocumentId, action.draftApplication).pipe(\r\n map((data: any) => {\r\n return ActionsList.UpdateDeletedDocumentAction({ uploadedDocumentId: action.uploadedDocumentId, overviewIndex: action.overviewIndex, uploadIndex: action.uploadIndex, controlId: action.controlId })\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ))\r\n\r\n replaceDocument$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.ReplaceDocumentAction),\r\n switchMap((action: any) => this.service.deleteDocument(action.accountId, action.applicationId, action.uploadedDocumentId, action.draftApplication).pipe(\r\n map((data: any) => {\r\n return ActionsList.UpdateReplacedDocumentAction({ documentTypeId: action.documentTypeId, controlId: action.controlId, documentIndex: action.documentIndex, fileName: action.fileName, payload: action.payload });\r\n }),\r\n catchError(err => {\r\n return of(ActionsList.SetFileRequestFailedAction({ controlId: action.controlId, file: action.originalFile }))\r\n })\r\n )),\r\n ))\r\n\r\n completeDocumentsComponent$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.CompleteDocumentsAction),\r\n switchMap((action: any) => this.service.completeDocuments(action.accountId, action.applicationId, action.submission).pipe(\r\n map(() => {\r\n return ActionsList.DocumentsCompletedAction();\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ))\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { Store } from '@ngrx/store';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { AccessYourSuperService } from 'src/app/services/access-your-super.service';\r\nimport * as ActionsList from './actions';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class AccessYourSuperFormComponentEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private service: AccessYourSuperService) {\r\n }\r\n\r\n getApplicationTypes$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.GetApplicationTypesRequestAction),\r\n switchMap((action: any) => this.service.getApplicationTypes(action.accountType, action.accountId).pipe(\r\n map((data: any) => {\r\n return ActionsList.GetApplicationTypesResponseAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n updateCurrentStep$ = createEffect(() =>this.actions$.pipe(\r\n ofType(ActionsList.UpdateCurrentStepAction),\r\n switchMap((action: any) => this.service.updateCurrentStep(action.accountId, action.currentStep, action.applicationId).pipe(\r\n map(() => {\r\n return ActionsList.CurrentStepUpdatedAction();\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { Store } from '@ngrx/store';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { AccessYourSuperService } from 'src/app/services/access-your-super.service';\r\nimport * as ActionsList from './actions';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class AccessYourSuperLastEmployerComponentEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private service: AccessYourSuperService) {\r\n }\r\n\r\n saveFormData$ = createEffect(() =>this.actions$.pipe(\r\n ofType(ActionsList.SaveLastEmployerDetailsAction),\r\n switchMap((action: any) => this.service.saveLastEmployerData(action.accountId, action.applicationId, action.lastEmployerDetails).pipe(\r\n map(() => {\r\n return ActionsList.LastEmployerDetailsSavedAction();\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { Store } from '@ngrx/store';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { AccessYourSuperService } from 'src/app/services/access-your-super.service';\r\nimport * as ActionsList from './actions';\r\nimport { EMPTY, Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class AccessYourSuperReviewComponentEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private service: AccessYourSuperService) {\r\n }\r\n\r\n getCustomData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.GetCustomDataAction),\r\n switchMap((action: any) => this.service.getCustomSectionData(action.accountId, action.applicationId, action.applicationTypeId).pipe(\r\n map((data: any) => {\r\n return ActionsList.SaveCustomDataAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n getKiwiSaverData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.GetKiwiSaverDataAction),\r\n switchMap((action: any) => this.service.getKiwiSaverSectionData(action.accountId, action.applicationId).pipe(\r\n map((data: any) => {\r\n return ActionsList.SaveCustomDataAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n getSfhData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.GetSfhDataAction),\r\n switchMap((action: any) => this.service.getSfhSectionData(action.accountId, action.applicationId).pipe(\r\n map((data: any) => {\r\n return ActionsList.SaveCustomDataAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n submitApplication$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.SubmitApplicationAction),\r\n switchMap((action:any) => this.service.submitApplication(action.accountId, action.applicationId).pipe(\r\n map((data:any) => {\r\n return ActionsList.ApplicationSubmittedAction()\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n ))\r\n ))\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { Router } from '@angular/router';\r\nimport { HistoricalDataService } from 'src/app/services/historical-data.service';\r\nimport { AccessYourSuperService } from 'src/app/services/access-your-super.service';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class AccessYourSuperStartComponentEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private router: Router,\r\n private service: AccessYourSuperService) {\r\n }\r\n\r\n getApplicationList$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.getApplicationList(action.accountId).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n cancelApplication$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.CancelApplicationAction),\r\n switchMap((action: any) => this.service.cancelApplication(action.accountId, action.applicationId).pipe(\r\n map((data: any) => {\r\n return ActionsList.SetApplicationToCancelledAction()\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ))\r\n\r\n continueApplication$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestContinueApplicationAction),\r\n switchMap((action: any) => this.service.continueApplication(action.accountId, action.applicationId, action.draftApplication).pipe(\r\n map((data: any) => {\r\n if (action.draftApplication) {\r\n return ActionsList.ContinueApplicationAction({ model: data.data })\r\n }\r\n else {\r\n return ActionsList.UpdateSubmittedApplicationAction({ model: data.data })\r\n }\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ))\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { AccessYourSuperService } from 'src/app/services/access-your-super.service';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class AccessYourSuperTypeSelectionComponentEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private service: AccessYourSuperService) {\r\n }\r\n\r\n submitApplicationSelection$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.SelectApplicationTypeAction),\r\n switchMap((action:any) => this.service.submitApplicationTypeSelection(action.accountId, action.applicationType).pipe(\r\n map((data:any) => {\r\n return ActionsList.SaveApplicationIdAction({applicationId: data.data})\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n getApplicationData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.GetApplicationDataAction),\r\n switchMap((action:any) => this.service.getApplicationSpecificData(action.accountId, action.applicationType).pipe(\r\n map((data:any) => {\r\n return ActionsList.SaveApplicationDataAction({model:data.data})\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ))\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { Store } from '@ngrx/store';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { AccessYourSuperService } from 'src/app/services/access-your-super.service';\r\nimport * as ActionsList from './actions';\r\nimport { EMPTY, Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class AccessYourSuperUpdateSubmittedComponentEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private service: AccessYourSuperService) {\r\n }\r\n\r\n getCustomData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.GetCustomDataAction),\r\n switchMap((action: any) => this.service.getCustomSectionData(action.accountId, action.applicationId, action.applicationTypeId).pipe(\r\n map((data: any) => {\r\n return ActionsList.SaveCustomDataAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n getKiwiSaverData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.GetKiwiSaverDataAction),\r\n switchMap((action: any) => this.service.getKiwiSaverSectionData(action.accountId, action.applicationId).pipe(\r\n map((data: any) => {\r\n return ActionsList.SaveCustomDataAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n getSfhData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.GetSfhDataAction),\r\n switchMap((action: any) => this.service.getSfhSectionData(action.accountId, action.applicationId).pipe(\r\n map((data: any) => {\r\n return ActionsList.SaveCustomDataAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { BaseService } from './base.services';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable()\r\nexport class AccountsService extends BaseService {\r\n\r\n constructor(private http: HttpClient,\r\n public toastr: ToastrService,\r\n private store: Store) {\r\n super(toastr);\r\n }\r\n\r\n getAccounts(): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/account/accounts`, { headers: this.headers() });\r\n }\r\n\r\n getAccountSummary(accountId: number,): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/account/${accountId}/account-summary`, { headers: this.headers() });\r\n }\r\n\r\n getAccountFees(accountId: number): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/account/${accountId}/account-fees`, { headers: this.headers() });\r\n }\r\n\r\n // elevatedAccess(accountId: string): Observable {\r\n // return this.http.get(environment.apiUrl + `/accounts/${accountId}/elevated-access-endpoint`, { headers: this.headers() });\r\n // }\r\n\r\n\r\n\r\n // get(search: string, page: number): Observable {\r\n // const params = new HttpParams()\r\n // .set('search', search)\r\n // .set('page', page.toString());\r\n // return this.http.get(environment.apiUrl + '/users/search', { headers: this.headers(), params: params });\r\n // }\r\n\r\n // getById(userId: string): Observable {\r\n // return this.http.get(environment.apiUrl + `/users/${userId}`, { headers: this.headers() });\r\n // }\r\n\r\n // create(obj: UserModel): Observable {\r\n // return this.http.post(environment.apiUrl + `/users/`, obj, { headers: this.headers() });\r\n // }\r\n\r\n // changepassword(obj: ChangePasswordModel): Observable {\r\n // return this.http.post(environment.apiUrl + `/users/change-password`, obj, { headers: this.headers() });\r\n // }\r\n\r\n // update(obj: UserModel): Observable {\r\n // return this.http.put(environment.apiUrl + `/users/${obj.id}`, obj, { headers: this.headers() });\r\n // }\r\n}\r\n","import { MembersService } from 'src/app/services/members.service';\r\nimport { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { Router } from '@angular/router';\r\nimport { EMPTY } from 'rxjs';\r\nimport { AccountsService } from 'src/app/services/accounts.service';\r\n\r\n@Injectable()\r\nexport class AccountFeesEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private router: Router,\r\n private service: AccountsService) {\r\n }\r\n\r\n getData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.getAccountFees(action.accountId).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n\r\n}\r\n","import { TransactionService } from './../../../../services/transaction.service';\r\nimport { Injectable } from '@angular/core';\r\nimport { Actions, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { createEffect } from '@ngrx/effects';\r\nimport { AccountsService } from 'src/app/services/accounts.service';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class AccountSummaryEffects {\r\n constructor(private actions$: Actions,\r\n private accountsService: AccountsService) {\r\n }\r\n\r\n getAccountSummary$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.AccountSummaryRequestAction),\r\n switchMap((action: any) => this.accountsService.getAccountSummary(action.accountId).pipe(\r\n map((response: any) => {\r\n return ActionsList.AccountSummaryResponseAction({ payload: response.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { BaseService } from './base.services';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable()\r\nexport class UnderlyingInvestmentService extends BaseService {\r\n\r\n constructor(private http: HttpClient,\r\n public toastr: ToastrService,\r\n private store: Store) {\r\n super(toastr);\r\n }\r\n\r\n getUnderlyingInvestment(accountId: number): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/account-underlying/account/${accountId}/underlyinginvestment`, { headers: this.headers() });\r\n }\r\n\r\n getUnderlyingInvestmentSummary(accountId: number): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/account-underlying/account/${accountId}/underlying-investment-summary`, { headers: this.headers() });\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { Router } from '@angular/router';\r\nimport { UnderlyingInvestmentService } from 'src/app/services/underlying-investment.service';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class AccountUnderlyingInvestmentSummaryViewEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private router: Router,\r\n private service: UnderlyingInvestmentService) {\r\n }\r\n\r\n getSummaryData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestUnderlyingInvestmentSummaryAction),\r\n switchMap((action: any) => this.service.getUnderlyingInvestmentSummary(action.accountId).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseUnderlyingInvestmentSummaryAction({ payload: data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { Router } from '@angular/router';\r\nimport { UnderlyingInvestmentService } from 'src/app/services/underlying-investment.service';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class AccountUnderlyingViewEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private router: Router,\r\n private service: UnderlyingInvestmentService) {\r\n }\r\n\r\n getData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.getUnderlyingInvestment(action.accountId).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n // isLoggedIn$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ActionsList.IsLoggedInAction),\r\n // switchMap((action: any) => this.service.isLoggedIn().pipe(\r\n // map((data: any) => {\r\n // return ActionsList.LoggedInAction({ payload: '' });\r\n // }),\r\n // catchError(err => {\r\n // return EMPTY;\r\n // })\r\n // )),\r\n // ));\r\n}\r\n","import { BeneficiaryModel } from './../model/beneficiary.model';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { BaseService } from './base.services';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable()\r\nexport class BeneficiaryService extends BaseService {\r\n\r\n constructor(private http: HttpClient,\r\n public toastr: ToastrService,\r\n private store: Store) {\r\n super(toastr);\r\n }\r\n\r\n getMemberBeneficiaries(accountId: number): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/MemberBeneficiary/account/${accountId}/beneficiaries`, { headers: this.headers() });\r\n }\r\n\r\n\r\n updateBeneficiaries(accountId: number, obj: BeneficiaryModel[]): Observable {\r\n return this.http.put(environment.apiUrl + `/member-portal/MemberBeneficiary/account/${accountId}/beneficiaries`, obj, { headers: this.headers() });\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { Router } from '@angular/router';\r\nimport { BeneficiaryService } from 'src/app/services/beneficiary.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class BeneficiariesEditEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private router: Router,\r\n public toastr: ToastrService,\r\n private service: BeneficiaryService) {\r\n }\r\n\r\n getData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.getMemberBeneficiaries(action.accountId).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n submit$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.SubmitRequestAction),\r\n switchMap((action: any) => this.service.updateBeneficiaries(action.accountId, action.payload).pipe(\r\n map((data: any) => {\r\n this.toastr.success(data.message);\r\n return ActionsList.SubmitResponseAction({ payload: data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { Router } from '@angular/router';\r\nimport { BeneficiaryService } from 'src/app/services/beneficiary.service';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class BeneficiariesViewEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private router: Router,\r\n private service: BeneficiaryService) {\r\n }\r\n\r\n getData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.getMemberBeneficiaries(action.accountId).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n // isLoggedIn$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ActionsList.IsLoggedInAction),\r\n // switchMap((action: any) => this.service.isLoggedIn().pipe(\r\n // map((data: any) => {\r\n // return ActionsList.LoggedInAction({ payload: '' });\r\n // }),\r\n // catchError(err => {\r\n // return EMPTY;\r\n // })\r\n // )),\r\n // ));\r\n}\r\n","import { BeneficiaryModel } from './../model/beneficiary.model';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { BaseService } from './base.services';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from 'src/environments/environment';\r\nimport { BPAYDetailsModel } from '../model/bpay-details.model';\r\n\r\n@Injectable()\r\nexport class BPAYDetailsService extends BaseService {\r\n\r\n constructor(private http: HttpClient,\r\n public toastr: ToastrService,\r\n private store: Store) {\r\n super(toastr);\r\n }\r\n\r\n getAccountBPAYDetails(accountId: number): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/account/${accountId}/bpay-details`, { headers: this.headers() });\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { Router } from '@angular/router';\r\nimport { BPAYDetailsService } from 'src/app/services/bpay-details.service';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class BPAYDetailsEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private router: Router,\r\n private service: BPAYDetailsService) {\r\n }\r\n\r\n getData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.getAccountBPAYDetails(action.accountId).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n}\r\n","// import { MemberNotesModel } from './../model/member-notes.model';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { BaseService } from './base.services';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable()\r\nexport class TransactionService extends BaseService {\r\n\r\n constructor(private http: HttpClient,\r\n public toastr: ToastrService,\r\n private store: Store) {\r\n super(toastr);\r\n }\r\n\r\n getMemberTransactions(accountId: number, page: number, filter: string): Observable {\r\n const params = new HttpParams()\r\n .set('accountId', accountId.toString())\r\n .set('filter', filter);\r\n //.set('page', page.toString());\r\n return this.http.get(environment.apiUrl + `/member-portal/transaction/account/${accountId}/transactions`, { headers: this.headers(), params: params });\r\n }\r\n\r\n getMemberTransactionTypes(accountId: number): Observable {\r\n const params = new HttpParams()\r\n .set('accountId', accountId.toString());\r\n return this.http.get(environment.apiUrl + `/member-portal/transaction/account/${accountId}/transactiontypes`, { headers: this.headers(), params: params });\r\n }\r\n\r\n getMemberTransactionDescription(accountId: number): Observable {\r\n const params = new HttpParams()\r\n .set('accountId', accountId.toString());\r\n return this.http.get(environment.apiUrl + `/member-portal/transaction/account/${accountId}/transactiondescription`, { headers: this.headers(), params: params });\r\n }\r\n\r\n\r\n getContributions(accountId: number): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/transaction/account/${accountId}/contributionlimits`, { headers: this.headers() });\r\n }\r\n\r\n // getInterimStatement(memberId: number, accountId: number, from: string, to: string): Observable {\r\n // const params = new HttpParams()\r\n // .set('memberId', memberId.toString())\r\n // .set('from', from)\r\n // .set('to', to)\r\n // .set('accountId', accountId.toString());\r\n // return this.http.get(environment.apiUrl + `/members/${memberId}/account/${accountId}/interimstatement`, { headers: this.headers(), responseType: 'blob' as 'json', params: params });\r\n // }\r\n}\r\n","import { TransactionService } from './../../../../services/transaction.service';\r\nimport { Injectable } from '@angular/core';\r\nimport { Actions, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { createEffect } from '@ngrx/effects';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class CashTransactionsEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private transactionervice: TransactionService) {\r\n }\r\n\r\n getTransactionsView$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.CashTransactionsRequestAction),\r\n switchMap((action: any) => this.transactionervice.getMemberTransactions(action.accountId, action.page, action.filter).pipe(\r\n map((data: any) => {\r\n return ActionsList.CashTransactionsResponseAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n getTransactionTypesView$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.CashTransactionsTypesRequestAction),\r\n switchMap((action: any) => this.transactionervice.getMemberTransactionTypes(action.accountId).pipe(\r\n map((data: any) => {\r\n return ActionsList.CashTransactionsTypesResponseAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n getTransactionDescriptionView$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.CashTransactionsDescriptionRequestAction),\r\n switchMap((action: any) => this.transactionervice.getMemberTransactionDescription(action.accountId).pipe(\r\n map((data: any) => {\r\n return ActionsList.CashTransactionsDescriptionResponseAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n}\r\n","import { environment } from './../../environments/environment';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { BaseService } from './base.services';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Injectable()\r\nexport class ChatService extends BaseService {\r\n\r\n constructor(private http: HttpClient,\r\n public toastr: ToastrService,\r\n private store: Store) {\r\n super(toastr);\r\n }\r\n\r\n details(): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/chat/details`, { headers: this.headers() });\r\n }\r\n\r\n closeChat(): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/chat/closeChat`, { headers: this.headers() });\r\n }\r\n\r\n newChat(): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/chat/newChat`, { headers: this.headers() });\r\n }\r\n\r\n deleteChat(): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/chat/deleteChat`, { headers: this.headers() });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { Router } from '@angular/router';\r\nimport { ChatService } from 'src/app/services/chat.service';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class ChatViewEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private service: ChatService) {\r\n }\r\n\r\n getData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.details().pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({ payload: data.data });\r\n }),\r\n catchError((err) => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n chatClosed$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestChatClosedAction),\r\n switchMap((action: any) => this.service.closeChat().pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseChatClosedAction({ payload: data.data });\r\n }),\r\n catchError((err) => {\r\n return EMPTY;\r\n })\r\n )),\r\n\r\n ));\r\n\r\n deleteChat$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestDeleteChatAction),\r\n switchMap((action: any) => this.service.deleteChat()),\r\n map((data: any) => {\r\n return ActionsList.ResponseDeleteChatAction({ payload: data.data });\r\n })\r\n ));\r\n\r\n newClosed$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestNewChatAction),\r\n switchMap((action: any) => this.service.newChat().pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({ payload: data.data });\r\n }),\r\n catchError((err) => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n // isLoggedIn$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ActionsList.IsLoggedInAction),\r\n // switchMap((action: any) => this.service.isLoggedIn().pipe(\r\n // map((data: any) => {\r\n // return ActionsList.LoggedInAction({ payload: '' });\r\n // }),\r\n // catchError((err) => {\r\n // return EMPTY;\r\n // })\r\n // )),\r\n // ));\r\n}\r\n","// import { MemberNotesModel } from './../model/member-notes.model';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { BaseService } from './base.services';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from 'src/environments/environment';\r\nimport { RollInEditModel } from '../model/rollin-edit.model';\r\n\r\n@Injectable()\r\nexport class RollInService extends BaseService {\r\n\r\n constructor(private http: HttpClient,\r\n public toastr: ToastrService,\r\n private store: Store) {\r\n super(toastr);\r\n }\r\n\r\n providerSearch(q: string): Observable {\r\n const params = new HttpParams()\r\n .set('q', q);\r\n return this.http.get(environment.apiUrl + `/member-portal/Rollin/provider-search`, { headers: this.headers(), params: params });\r\n }\r\n\r\n submit(accountId: number, obj: RollInEditModel): Observable {\r\n return this.http.post(environment.apiUrl + `/member-portal/Rollin/account/${accountId}/submit`, obj, { headers: this.headers() });\r\n }\r\n\r\n // confirm(accountId: number, obj: RollInEditModel): Observable {\r\n // return this.http.post(environment.apiUrl + `/member-portal/Rollin/account/${accountId}/confirm`, obj, { headers: this.headers() });\r\n // }\r\n\r\n requestedTransfers(accountId: number): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/Rollin/account/${accountId}/requested-transfers`, { headers: this.headers() });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { createEffect } from '@ngrx/effects';\r\nimport { RollInService } from 'src/app/services/rollin.service';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class ConsolidateSuperEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private service: RollInService) {\r\n }\r\n\r\n getData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.requestedTransfers(action.accountId).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n\r\n}\r\n","import { TransactionService } from './../../../../services/transaction.service';\r\nimport { Injectable } from '@angular/core';\r\nimport { Actions, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { createEffect } from '@ngrx/effects';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class ContributionsLimitsEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private transactionervice: TransactionService) {\r\n }\r\n\r\n getContributions$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.transactionervice.getContributions(action.accountId).pipe(\r\n map((response: any) => {\r\n return ActionsList.ResponseAction({ payload: response.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { BaseService } from './base.services';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable()\r\nexport class DocumentsService extends BaseService {\r\n\r\n constructor(private http: HttpClient,\r\n public toastr: ToastrService,\r\n private store: Store) {\r\n super(toastr);\r\n }\r\n\r\n getDocuments(accountId: number, category: string): Observable {\r\n switch (category) {\r\n case 'member-statements':\r\n return this.http.get(environment.apiUrl + `/member-portal/account/${accountId}/correspondence/member-statements`, { headers: this.headers()});\r\n case 'other-documents':\r\n return this.http.get(environment.apiUrl + `/member-portal/account/${accountId}/correspondence/other-documents`, { headers: this.headers()});\r\n\r\n }\r\n throw new Error('DocumentsService/getDocuments => Type not found')\r\n }\r\n\r\n getDocument(accountId: number, correspondenceSource: number, correspondenceId: number): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/account/${accountId}/correspondence/${correspondenceId}/file-content`, { headers: this.headers()});\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { createEffect } from '@ngrx/effects';\r\nimport { DocumentsService } from 'src/app/services/documents.service';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class DocumentViewerEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private service: DocumentsService) {\r\n }\r\n\r\n getMemberCorrespondenceView$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.getDocuments(action.accountId, action.category).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n // getMemberCorrespondenceFileView$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ActionsList.FileRequestAction),\r\n // switchMap((action: any) => this.service.getDocument(action.accountId, action.correspondenceSource, action.correspondenceId).pipe(\r\n // map((data: any) => {\r\n // return ActionsList.FileResponseAction({ payload: data.data });\r\n // }),\r\n // catchError(err => {\r\n // return EMPTY;\r\n // })\r\n // )),\r\n // ));\r\n\r\n}\r\n","// import { MemberNotesModel } from './../model/member-notes.model';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { BaseService } from './base.services';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from 'src/environments/environment';\r\nimport { DatePipe } from '@angular/common';\r\n\r\n@Injectable()\r\nexport class HistoricalDataService extends BaseService {\r\n pipe = new DatePipe('en-AU');\r\n constructor(private http: HttpClient,\r\n public toastr: ToastrService,\r\n private store: Store) {\r\n super(toastr);\r\n }\r\n\r\n getDataGraph(accountId: number, from?: Date, to?: Date): Observable {\r\n const params = new HttpParams()\r\n .set('accountId', accountId.toString())\r\n .set('from', from == undefined ? '' : this.pipe.transform(from, 'yyyy-MM-dd'))\r\n .set('to', to == undefined ? '' : this.pipe.transform(to, 'yyyy-MM-dd'));\r\n\r\n return this.http.get(environment.apiUrl + `/member-portal/HistoricalData/account/${accountId}/graph`, { headers: this.headers(), params: params });\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { HistoricalDataService } from 'src/app/services/historical-data.service';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class HistoricalChartViewEffects {\r\n constructor(\r\n private actions$: Actions,\r\n private service: HistoricalDataService\r\n ) {}\r\n\r\n getData$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) =>\r\n this.service\r\n .getDataGraph(action.accountId, action.from, action.to)\r\n .pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({ payload: data.data });\r\n }),\r\n catchError((err) => {\r\n return EMPTY;\r\n })\r\n )\r\n )\r\n )\r\n );\r\n}\r\n","// import { MemberNotesModel } from './../model/member-notes.model';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { BaseService } from './base.services';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from 'src/environments/environment';\r\nimport { InsuranceUpdateSubmissionModel } from '../model/insurance-details.model';\r\nimport { env } from 'process';\r\n\r\n@Injectable()\r\nexport class InsuranceService extends BaseService {\r\n\r\n constructor(private http: HttpClient,\r\n public toastr: ToastrService,\r\n private store: Store) {\r\n super(toastr);\r\n }\r\n\r\n details(accountId: number): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/Insurance/account/${accountId}/details`, { headers: this.headers() });\r\n }\r\n\r\n reduceInsurance(accountId: number, submission: InsuranceUpdateSubmissionModel): Observable {\r\n return this.http.post(environment.apiUrl + `/member-portal/Insurance/account/${accountId}/reduce-insurance`, submission, { headers: this.headers() })\r\n }\r\n\r\n cancelInsurance(accountId: number, submission: InsuranceUpdateSubmissionModel): Observable {\r\n return this.http.post(environment.apiUrl + `/member-portal/Insurance/account/${accountId}/cancel-insurance`, submission, { headers: this.headers() })\r\n }\r\n\r\n getHistory(accountId: number, page: number): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/Insurance/account/${accountId}/insurance-change-request-history?page=${page}`, { headers: this.headers() })\r\n }\r\n}\r\n","import { InsuranceService } from './../../../../services/insurance.service';\r\nimport { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { Router } from '@angular/router';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class InsuranceDetailsEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private router: Router,\r\n private service: InsuranceService ) {\r\n }\r\n\r\n getData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.details(action.accountId).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n}\r\n","// import { MemberNotesModel } from './../model/member-notes.model';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { BaseService } from './base.services';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from 'src/environments/environment';\r\nimport { InsuranceQuestionnaireModel, InsuranceQuestionnaireResultModel } from '../model/insurance-questionnaire.model';\r\n\r\n@Injectable()\r\nexport class InsuranceQuestionnaireService extends BaseService {\r\n\r\n constructor(private http: HttpClient,\r\n public toastr: ToastrService,\r\n private store: Store) {\r\n super(toastr);\r\n }\r\n\r\n showQuestionnaire(accountId: number): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/InsuranceQuestionnaire/account/${accountId}/show-questionnaire`, { headers: this.headers() });\r\n }\r\n\r\n submit(accountId: number, obj: InsuranceQuestionnaireModel): Observable {\r\n // const params = new HttpParams()\r\n // .set('accountId', accountId.toString());\r\n\r\n return this.http.post(environment.apiUrl + `/member-portal/InsuranceQuestionnaire/account/${accountId}/submit`, obj, { headers: this.headers()});\r\n }\r\n\r\n confirm(accountId: number, obj: InsuranceQuestionnaireResultModel): Observable {\r\n const params = new HttpParams()\r\n .set('accountId', accountId.toString());\r\n\r\n return this.http.post(environment.apiUrl + `/member-portal/InsuranceQuestionnaire/account/${accountId}/confirm`, obj, { headers: this.headers(), params: params });\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { Router } from '@angular/router';\r\nimport { InsuranceQuestionnaireService } from 'src/app/services/insurance-questionnaire.service';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class InsuranceQuestionnaireEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private router: Router,\r\n private service: InsuranceQuestionnaireService) {\r\n }\r\n\r\n showQuestionnaire$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.ShowQuestionnaireRequestAction),\r\n switchMap((action: any) => this.service.showQuestionnaire(action.accountId).pipe(\r\n map((data: any) => {\r\n return ActionsList.ShowQuestionnaireResponseAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { Router } from '@angular/router';\r\nimport { InsuranceQuestionnaireService } from 'src/app/services/insurance-questionnaire.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class InsuranceQuestionnaireStartEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private router: Router,\r\n public toastr: ToastrService,\r\n private service: InsuranceQuestionnaireService) {\r\n }\r\n\r\n submit$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.SubmitRequestAction),\r\n switchMap((action: any) => this.service.submit(action.accountId, action.data).pipe(\r\n map((data: any) => {\r\n return ActionsList.SubmitResponseAction({ data: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n\r\n\r\n confirm$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.ConfirmRequestAction),\r\n switchMap((action: any) => this.service.confirm(action.accountId, action.data).pipe(\r\n map((data: any) => {\r\n this.service.showOk(data.message);\r\n return ActionsList.ConfirmResponseAction({ data: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n}\r\n","import { InsuranceService } from './../../../../services/insurance.service';\r\nimport { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { of } from 'rxjs';\r\n\r\n\r\n@Injectable()\r\nexport class InsuranceUpdateHistoryComponentEffects {\r\n constructor(private actions$: Actions,\r\n private service: InsuranceService) {\r\n }\r\n\r\n getHistory$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.getHistory(action.accountId, action.page).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({ insuranceHistory: data.data });\r\n }),\r\n catchError(_err => {\r\n return of(ActionsList.RequestErrorAction());\r\n })\r\n )),\r\n ));\r\n}\r\n","import { InsuranceService } from './../../../../services/insurance.service';\r\nimport { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { of } from 'rxjs';\r\n\r\n\r\n@Injectable()\r\nexport class InsuranceUpdateComponentEffects {\r\n constructor(private actions$: Actions,\r\n private service: InsuranceService) {\r\n }\r\n\r\n reduceInsurance$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.SubmitInsuranceToReduceAction),\r\n switchMap((action: any) => this.service.reduceInsurance(action.accountId, action.submission).pipe(\r\n map((data: any) => {\r\n return ActionsList.SubmissionSuccessAction();\r\n }),\r\n catchError(_err => {\r\n return of(ActionsList.SubmissionErrorAction());\r\n })\r\n )),\r\n ));\r\n\r\n cancelInsurance$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.SubmitInsuranceToCancelAction),\r\n switchMap((action: any) => this.service.cancelInsurance(action.accountId, action.submission).pipe(\r\n map((data: any) => {\r\n return ActionsList.SubmissionSuccessAction();\r\n }),\r\n catchError(_err => {\r\n return of(ActionsList.SubmissionErrorAction());\r\n })\r\n )),\r\n ));\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { BaseService } from './base.services';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from 'src/environments/environment';\r\nimport { CurrentInvestmentModel } from '../modules/shared/components/investment-edit/state';\r\n\r\n@Injectable()\r\nexport class InvestmentService extends BaseService {\r\n\r\n constructor(private http: HttpClient,\r\n public toastr: ToastrService,\r\n private store: Store) {\r\n super(toastr);\r\n }\r\n\r\n getMemberSwitchTransactions(memberId: number, accountId: number, page: number): Observable {\r\n const params = new HttpParams()\r\n .set('memberId', memberId.toString())\r\n .set('accountId', accountId.toString())\r\n .set('page', page.toString());\r\n return this.http.get(environment.apiUrl + `/members/${memberId}/account/${accountId}/switchtransactions`, { headers: this.headers(), params: params });\r\n }\r\n\r\n getHistory(accountId: number, page: number, filter: string): Observable {\r\n const params = new HttpParams()\r\n .set('page', page.toString())\r\n .set('filter', filter.toString());\r\n\r\n return this.http.get(environment.apiUrl + `/member-portal/Investment/account/${accountId}/investment-switch-history`, { headers: this.headers(), params });\r\n }\r\n\r\n getInvestmentSwitch(accountId: number): Observable {\r\n const params = new HttpParams()\r\n .set('accountId', accountId.toString());\r\n\r\n return this.http.get(environment.apiUrl + `/member-portal/Investment/account/${accountId}/investment`, { headers: this.headers(), params: params });\r\n }\r\n\r\n getCurrentInvestmentSwitch(accountId: number): Observable {\r\n const params = new HttpParams()\r\n .set('accountId', accountId.toString());\r\n\r\n return this.http.get(environment.apiUrl + `/member-portal/Investment/account/${accountId}/current-investment`, { headers: this.headers(), params: params });\r\n }\r\n\r\n getInvestmentOptionsSwitch(accountId: number): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/Investment/account/${accountId}/investment-options`, { headers: this.headers() });\r\n }\r\n\r\n submitInvestment(accountId: number, obj: CurrentInvestmentModel): Observable {\r\n return this.http.post(environment.apiUrl + `/member-portal/Investment/account/${accountId}/investment-submit`, obj, { headers: this.headers() });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { createEffect } from '@ngrx/effects';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { InvestmentService } from 'src/app/services/investment.service';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class EditInvestmentEffects {\r\n constructor(private actions$: Actions,\r\n public toastr: ToastrService,\r\n private service: InvestmentService) {\r\n }\r\n getCurrentById$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestCurrentDataAction),\r\n switchMap((action: any) => this.service.getCurrentInvestmentSwitch(action.account).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseCurrentDataAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n getOptions$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestOptionsDataAction),\r\n switchMap((action: any) => this.service.getInvestmentOptionsSwitch(action.account).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseOptionsDataAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n submit$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.SubmitRequestAction),\r\n switchMap((action: any) => this.service.submitInvestment(action.accountId, action.obj).pipe(\r\n map((data: any) => {\r\n this.toastr.success(data.message);\r\n return ActionsList.SubmitResponseAction({ payload: data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { Router } from '@angular/router';\r\nimport { createEffect } from '@ngrx/effects';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { InvestmentService } from 'src/app/services/investment.service';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class InvestmentOptionsEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n public toastr: ToastrService,\r\n private router: Router,\r\n private service: InvestmentService) {\r\n }\r\n\r\n getCurrentById$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestCurrentDataAction),\r\n switchMap((action: any) => this.service.getCurrentInvestmentSwitch(action.account).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseCurrentDataAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { createEffect } from '@ngrx/effects';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { InvestmentService } from 'src/app/services/investment.service';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class InvestmentSwitchHistoryEffects {\r\n constructor(private actions$: Actions,\r\n public toastr: ToastrService,\r\n private service: InvestmentService) {\r\n }\r\n\r\n getHistory$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.getHistory(action.accountId, action.page, action.filter).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({ data: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { Router } from '@angular/router';\r\nimport { createEffect } from '@ngrx/effects';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { AccountsService } from 'src/app/services/accounts.service';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class MemberAccountDropdownEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n public toastr: ToastrService,\r\n private router: Router,\r\n private service: AccountsService) {\r\n }\r\n\r\n getById$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.getAccounts().pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n}\r\n","// import { MemberNotesModel } from './../model/member-notes.model';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { BaseService } from './base.services';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from 'src/environments/environment';\r\nimport { MemberModel } from '../model/member.model';\r\n\r\n@Injectable()\r\nexport class MembersService extends BaseService {\r\n\r\n constructor(private http: HttpClient,\r\n public toastr: ToastrService,\r\n private store: Store) {\r\n super(toastr);\r\n }\r\n\r\n getView(): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/member/`, { headers: this.headers() });\r\n }\r\n\r\n updateMemberDetails(obj: MemberModel): Observable {\r\n return this.http.put(environment.apiUrl + `/member-portal/member/updatedetails`, obj, { headers: this.headers() });\r\n }\r\n\r\n\r\n getAlerts(accountId: number): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/member/account/${accountId}/alerts`, { headers: this.headers() });\r\n }\r\n\r\n\r\n\r\n // get(search: string, page: number): Observable {\r\n // const params = new HttpParams()\r\n // .set('search', search)\r\n // .set('page', page.toString());\r\n // return this.http.get(environment.apiUrl + '/members/', { headers: this.headers(), params: params });\r\n // }\r\n\r\n\r\n\r\n // getMemberNotes(memberId: number, page: number, type: string, from: string, to: string): Observable {\r\n // const params = new HttpParams()\r\n // .set('memberId', memberId.toString())\r\n // .set('page', page.toString())\r\n // .set('type', type?.toString())\r\n // .set('from', from?.toString())\r\n // .set('to', to?.toString());\r\n // return this.http.get(environment.apiUrl + `/members/${memberId}/notes`, { headers: this.headers(), params: params });\r\n // }\r\n\r\n // getMemberNotesType(memberId: number): Observable {\r\n // const params = new HttpParams()\r\n // .set('memberId', memberId.toString());\r\n\r\n // return this.http.get(environment.apiUrl + `/members/${memberId}/notestype`, { headers: this.headers(), params: params });\r\n // }\r\n\r\n // // postMemberNote(obj: MemberNotesModel): Observable {\r\n // // return this.http.post(environment.apiUrl + `/members/${obj.memberId}/notes`, obj, { headers: this.headers() });\r\n // // }\r\n\r\n\r\n\r\n // resetMemberPassword(memberId: number): Observable {\r\n // return this.http.get(environment.apiUrl + `/members/${memberId}/resetpassword`, { headers: this.headers() });\r\n // }\r\n\r\n // createWebUser(memberId: number): Observable {\r\n // return this.http.get(environment.apiUrl + `/members/${memberId}/createwebuser`, { headers: this.headers() });\r\n // }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { EMPTY } from 'rxjs';\r\nimport { MembersService } from 'src/app/services/members.service';\r\n\r\n@Injectable()\r\nexport class MemberAlertViewEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private service: MembersService) {\r\n }\r\n\r\n getData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.getAlerts(action.accountId).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n}\r\n","import { MembersService } from './../../../../services/members.service';\r\nimport { Injectable } from '@angular/core';\r\nimport { Actions, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { Router } from '@angular/router';\r\nimport { createEffect } from '@ngrx/effects';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class EditMemberEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n public toastr: ToastrService,\r\n private router: Router,\r\n private service: MembersService) {\r\n }\r\n\r\n getById$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.getView().pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n submit$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.SubmitRequestAction),\r\n switchMap((action: any) => this.service.updateMemberDetails(action.payload).pipe(\r\n map((data: any) => {\r\n this.toastr.success(data.message);\r\n return ActionsList.SubmitResponseAction({ payload: data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { BaseService } from './base.services';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from 'src/environments/environment';\r\nimport { PensionPaymentScheduleSubmissionModel } from '../model/pension-payment-schedule.model';\r\n\r\n@Injectable()\r\nexport class MemberPensionService extends BaseService {\r\n\r\n constructor(private http: HttpClient,\r\n public toastr: ToastrService,\r\n private store: Store) {\r\n super(toastr);\r\n }\r\n\r\n getPension(accountId: number): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/member/account/${accountId}/pension`, { headers: this.headers() });\r\n }\r\n\r\n getPaymentScheduleData(accountId:number): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/member/account/${accountId}/pension/schedule-data`, { headers: this.headers() });\r\n }\r\n\r\n savePaymentScheduleData(accountId:number, submissionData:PensionPaymentScheduleSubmissionModel): Observable {\r\n return this.http.put(environment.apiUrl + `/member-portal/member/account/${accountId}/pension/schedule-data/update`, submissionData, { headers: this.headers() });\r\n }\r\n\r\n getSubmittedRequests(accountId:number): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/member/account/${accountId}/pension/schedule-data/submitted`, { headers: this.headers() });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { Router } from '@angular/router';\r\nimport { MemberPensionService } from 'src/app/services/member-pension.service';\r\nimport { BeneficiaryService } from 'src/app/services/beneficiary.service';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class MemberPensionEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private router: Router,\r\n private service: MemberPensionService,\r\n private beneficiaryService: BeneficiaryService,\r\n ) {\r\n }\r\n\r\n getData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.getPension(action.accountId).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n getBeneficiaryData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestBeneficiariesAction),\r\n switchMap((action: any) => this.beneficiaryService.getMemberBeneficiaries(action.accountId).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseBeneficiariesAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n}\r\n","import { MembersService } from 'src/app/services/members.service';\r\nimport { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { Router } from '@angular/router';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class MemberViewOverviewEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private router: Router,\r\n private service: MembersService) {\r\n }\r\n\r\n getData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.getView().pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n // isLoggedIn$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ActionsList.IsLoggedInAction),\r\n // switchMap((action: any) => this.service.isLoggedIn().pipe(\r\n // map((data: any) => {\r\n // return ActionsList.LoggedInAction({ payload: '' });\r\n // }),\r\n // catchError(err => {\r\n // return EMPTY;\r\n // })\r\n // )),\r\n // ));\r\n}\r\n","import { MembersService } from 'src/app/services/members.service';\r\nimport { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class MemberEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private service: MembersService) {\r\n }\r\n\r\n // getData$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ActionsList.RequestAction),\r\n // switchMap((action: any) => this.service.getView().pipe(\r\n // map((data: any) => {\r\n // return ActionsList.ResponseAction({ payload: data.data });\r\n // }),\r\n // catchError(err => {\r\n // return EMPTY;\r\n // })\r\n // )),\r\n // ));\r\n\r\n}\r\n","// import { MemberNotesModel } from './../model/member-notes.model';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { BaseService } from './base.services';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from 'src/environments/environment';\r\nimport { NoticeOfIntentTaxDeductionFormSubmissionModel } from '../model/notice-of-intent-tax-deduction.model';\r\n\r\n\r\n@Injectable()\r\nexport class NoticeOfIntentTaxDeductionService extends BaseService {\r\n\r\n constructor(private http: HttpClient,\r\n public toastr: ToastrService,\r\n private store: Store) {\r\n super(toastr);\r\n }\r\n\r\n getApplicationList(accountId: number): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/NoticeOfIntentTaxDeduction/account/${accountId}/retrieveAllSubmissions`, { headers: this.headers() });\r\n }\r\n\r\n getFormData(accountId: number): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/NoticeOfIntentTaxDeduction/account/${accountId}/getFormData`, { headers: this.headers() });\r\n }\r\n\r\n submitForm(accountId: number, body: NoticeOfIntentTaxDeductionFormSubmissionModel): Observable {\r\n return this.http.post(environment.apiUrl + `/member-portal/NoticeOfIntentTaxDeduction/account/${accountId}/submit`, body, { headers: this.headers() });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { Router } from '@angular/router';\r\nimport { EMPTY, of } from 'rxjs';\r\nimport { NoticeOfIntentTaxDeductionService } from 'src/app/services/notice-of-intent-tax-deduction.service';\r\n\r\n@Injectable()\r\nexport class NoticeOfIntentTaxDeductionContainerComponentEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private router: Router,\r\n private service: NoticeOfIntentTaxDeductionService) {\r\n }\r\n\r\n getApplicationList$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.getApplicationList(action.accountId).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n getFormData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.GetFormDataAction),\r\n switchMap((action:any) => this.service.getFormData(action.accountId).pipe(\r\n map((data: any) => {\r\n return ActionsList.SetFormDataAction({ formData: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ))\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { Router } from '@angular/router';\r\nimport { EMPTY } from 'rxjs';\r\nimport { NoticeOfIntentTaxDeductionService } from 'src/app/services/notice-of-intent-tax-deduction.service';\r\n\r\n@Injectable()\r\nexport class NoticeOfIntentTaxDeductionFormComponentEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private router: Router,\r\n private service: NoticeOfIntentTaxDeductionService) {\r\n }\r\n\r\n submitForm$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.submitForm(action.accountId, action.payload).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction();\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { BaseService } from './base.services';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable()\r\nexport class NotificationService extends BaseService {\r\n\r\n constructor(private http: HttpClient,\r\n public toastr: ToastrService,\r\n private store: Store) {\r\n super(toastr);\r\n }\r\n\r\n getNewNotification(accountId: number): Observable {\r\n // const params = new HttpParams()\r\n // .set('memberId', memberId.toString())\r\n // .set('accountId', accountId.toString())\r\n // .set('page', page.toString());\r\n return this.http.get(environment.apiUrl + `/member-portal/Notification/account/${accountId}/new-notifications`, { headers: this.headers() });\r\n }\r\n\r\n getNotification(accountId: number): Observable {\r\n // const params = new HttpParams()\r\n // .set('memberId', memberId.toString())\r\n // .set('accountId', accountId.toString())\r\n // .set('page', page.toString());\r\n return this.http.get(environment.apiUrl + `/member-portal/Notification/account/${accountId}/notifications`, { headers: this.headers() });\r\n }\r\n\r\n}\r\n","import { NotificationService } from './../../../../services/notification.service';\r\nimport { Injectable } from '@angular/core';\r\nimport { Actions, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { Router } from '@angular/router';\r\nimport { createEffect } from '@ngrx/effects';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { AccountsService } from 'src/app/services/accounts.service';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class NotificationDropdownEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n public toastr: ToastrService,\r\n private router: Router,\r\n private service: NotificationService) {\r\n }\r\n\r\n getNotifications$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.getNewNotification(action.accountId).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { createEffect } from '@ngrx/effects';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { EMPTY } from 'rxjs';\r\nimport { MemberPensionService } from 'src/app/services/member-pension.service';\r\n\r\n@Injectable()\r\nexport class PensionChangePaymentScheduleRequestsEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n public toastr: ToastrService,\r\n private service: MemberPensionService) {\r\n }\r\n\r\n getData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.GetChangePaymentScheduleRequestsRequestAction),\r\n switchMap((action: any) => this.service.getSubmittedRequests(action.accountId).pipe(\r\n map((data: any) => {\r\n return ActionsList.GetChangePaymentScheduleRequestsResponseAction({ requests: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { createEffect } from '@ngrx/effects';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { EMPTY, of } from 'rxjs';\r\nimport { MemberPensionService } from 'src/app/services/member-pension.service';\r\n\r\n@Injectable()\r\nexport class PensionChangePaymentScheduleEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n public toastr: ToastrService,\r\n private service: MemberPensionService) {\r\n }\r\n\r\n getData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.GetPaymentScheduleRequestAction),\r\n switchMap((action: any) => this.service.getPaymentScheduleData(action.accountId).pipe(\r\n map((data: any) => {\r\n return ActionsList.GetPaymentScheduleResponseAction({ scheduleData: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n submit$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.SubmitPaymentScheduleRequestAction),\r\n switchMap((action: any) => this.service.savePaymentScheduleData(action.accountId, action.submissionData).pipe(\r\n map((data: any) => {\r\n return ActionsList.SubmitPaymentScheduleResponseAction();\r\n }),\r\n catchError(err => {\r\n return of(ActionsList.SubmitPaymentScheduleErrorResponseAction());\r\n })\r\n )),\r\n ));\r\n}\r\n","// import { MemberNotesModel } from './../model/member-notes.model';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { BaseService } from './base.services';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from 'src/environments/environment';\r\nimport { MemberModel } from '../model/member.model';\r\nimport { PersonalContributionModel } from '../model/personal-contribution.model';\r\n\r\n@Injectable()\r\nexport class PersonalContributionService extends BaseService {\r\n\r\n constructor(private http: HttpClient,\r\n public toastr: ToastrService,\r\n private store: Store) {\r\n super(toastr);\r\n }\r\n\r\n submitData(accountId: number, obj: PersonalContributionModel): Observable {\r\n return this.http.post(environment.apiUrl + `/member-portal/PersonalContributions/account/${accountId}`, obj, { headers: this.headers() });\r\n }\r\n\r\n\r\n bankDetails(): Observable {\r\n return this.http.get(environment.apiUrl + '/member-portal/PersonalContributions/bank-details', { headers: this.headers() });\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { createEffect } from '@ngrx/effects';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { PersonalContributionService } from 'src/app/services/personal-contrubution.service';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class PersonalContributionEditEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n public toastr: ToastrService,\r\n private service: PersonalContributionService) {\r\n }\r\n\r\n submit$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.SubmitRequestAction),\r\n switchMap((action: any) => this.service.submitData(action.accountId, action.payload).pipe(\r\n map((data: any) => {\r\n this.service.showOk(data.message);\r\n return ActionsList.SubmitResponseAction({ payload: data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n bankDetails$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.BankDetailsRequestAction),\r\n switchMap((action: any) => this.service.bankDetails().pipe(\r\n map((data: any) => {\r\n console.log(data)\r\n return ActionsList.BankDetailsResponseAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from 'src/environments/environment';\r\nimport { BaseService } from 'src/app/services/base.services';\r\n\r\n@Injectable()\r\nexport class EmploymentService extends BaseService {\r\n\r\n constructor(private http: HttpClient,\r\n public toastr: ToastrService,\r\n private store: Store) {\r\n super(toastr);\r\n }\r\n\r\n getBalances(accountId: number): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/Employment/account/${accountId}/balances`, { headers: this.headers() });\r\n }\r\n\r\n getCurrentEmployment(accountId: number): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/Employment/account/${accountId}/current`, { headers: this.headers() });\r\n }\r\n\r\n getRecentEmploymentDetails(accountId: number): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/Employment/account/${accountId}/recent-employment-details`, { headers: this.headers() });\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { Router } from '@angular/router';\r\nimport { EmploymentService } from 'src/app/modules/smrt/services/employment.service';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class RecentEmploymentDetailsEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private router: Router,\r\n private service: EmploymentService ) {\r\n }\r\n\r\n getData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.getRecentEmploymentDetails(action.accountId).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n \r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { createEffect } from '@ngrx/effects';\r\nimport { RollInService } from 'src/app/services/rollin.service';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class RollInEditEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private service: RollInService) {\r\n }\r\n\r\n submit$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.SubmitRequestAction),\r\n switchMap((action: any) => this.service.submit(action.accountId, action.payload).pipe(\r\n map((data: any) => {\r\n this.service.showOk(data.message);\r\n return ActionsList.SubmitResponseAction();\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from './base.services';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from 'src/environments/environment';\r\nimport {\r\n PensionApplicationAccountDetailsSubmissionModel, PensionApplicationBankDetailsSubmissionModel, PensionApplicationBeneficiarySubmissionModel,\r\n PensionApplicationEligibilitySubmissionModel, PensionApplicationPaymentDetailsSubmissionModel\r\n} from '../model/start-a-pension-form.model';\r\nimport { AppFileModel } from '@ifaa-components/ui-components';\r\n\r\n@Injectable()\r\nexport class StartAPensionService extends BaseService {\r\n\r\n constructor(private http: HttpClient,\r\n public toastr: ToastrService) {\r\n super(toastr);\r\n }\r\n\r\n getApplicationList(accountId: number): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/StartAPension/account/${accountId}/get-applications`, { headers: this.headers() });\r\n }\r\n\r\n cancelApplication(accountId: number, applicationId: number): Observable {\r\n return this.http.put(environment.apiUrl + `/member-portal/StartAPension/account/${accountId}/application/${applicationId}/cancel-application`, { headers: this.headers() });\r\n }\r\n\r\n getInitialFormData(accountId: number): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/StartAPension/account/${accountId}/get-initial-form`, { headers: this.headers() });\r\n }\r\n\r\n createBaseApplication(accountId: number, conditionId: number, submission: PensionApplicationEligibilitySubmissionModel): Observable {\r\n return this.http.post(environment.apiUrl + `/member-portal/StartAPension/account/${accountId}/condition/${conditionId}/create-application`, submission, { headers: this.headers() });\r\n }\r\n\r\n getApplicationData(accountId: number, applicationId: number, draft: boolean = true): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/StartAPension/account/${accountId}/application/${applicationId}/get-application-data?draft=${draft}`, { headers: this.headers() });\r\n }\r\n\r\n incrementCurrentStep(accountId: number, applicationId: number): Observable {\r\n return this.http.put(environment.apiUrl + `/member-portal/StartAPension/account/${accountId}/application/${applicationId}/update-current-step`, { headers: this.headers() });\r\n }\r\n\r\n saveAccountDetails(accountId: number, applicationId: number, submission: PensionApplicationAccountDetailsSubmissionModel): Observable {\r\n return this.http.post(environment.apiUrl + `/member-portal/StartAPension/account/${accountId}/application/${applicationId}/save-account-details`, submission, { headers: this.headers() });\r\n }\r\n\r\n savePaymentDetails(accountId: number, applicationId: number, submission: PensionApplicationPaymentDetailsSubmissionModel): Observable {\r\n return this.http.post(environment.apiUrl + `/member-portal/StartAPension/account/${accountId}/application/${applicationId}/save-payment-details`, submission, { headers: this.headers() });\r\n }\r\n\r\n searchBankName(bsb: any): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/Bank/getFinancialInstitutionName/${bsb}`,\r\n { headers: this.headers() });\r\n }\r\n\r\n saveBankDetails(accountId: number, applicationId: number, submission: PensionApplicationBankDetailsSubmissionModel): Observable {\r\n return this.http.post(environment.apiUrl + `/member-portal/StartAPension/account/${accountId}/application/${applicationId}/save-bank-details`, submission, { headers: this.headers() });\r\n }\r\n\r\n saveBeneficiary(accountId: number, applicationId: number, submission: PensionApplicationBeneficiarySubmissionModel): Observable {\r\n return this.http.post(environment.apiUrl + `/member-portal/StartAPension/account/${accountId}/application/${applicationId}/save-beneficiary-details`, submission, { headers: this.headers() });\r\n }\r\n\r\n saveDocument(accountId: any, applicationId: any, documentTypeId: any, payload: AppFileModel, draft: boolean = true): Observable {\r\n return this.http.put(environment.apiUrl + `/member-portal/StartAPension/account/${accountId}/application/${applicationId}/documentTypeId/${documentTypeId}/save-document?draft=${draft}`, payload,\r\n { headers: this.headers() });\r\n }\r\n\r\n deleteDocument(accountId: any, applicationId: any, uploadedDocumentId: any, draft: boolean = true): Observable {\r\n return this.http.delete(environment.apiUrl + `/member-portal/StartAPension/account/${accountId}/application/${applicationId}/uploadedDocumentId/${uploadedDocumentId}/delete-document?draft=${draft}`,\r\n { headers: this.headers() });\r\n }\r\n\r\n completeDocuments(accountId: any, applicationId: any): Observable {\r\n return this.http.put(environment.apiUrl + `/member-portal/StartAPension/account/${accountId}/application/${applicationId}/complete-documents`, null,\r\n { headers: this.headers() });\r\n }\r\n\r\n submitApplication(accountId: number, applicationId: number): Observable {\r\n return this.http.put(environment.apiUrl + `/member-portal/StartAPension/account/${accountId}/application/${applicationId}/submit`, { headers: this.headers() });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { EMPTY } from 'rxjs';\r\nimport { StartAPensionService } from 'src/app/services/start-a-pension.service';\r\n\r\n\r\n@Injectable()\r\nexport class StartAPensionFormComponentEffects {\r\n constructor(private actions$: Actions,\r\n private service: StartAPensionService) {\r\n }\r\n\r\n getInitialFormData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.GetInitialFormDataRequestAction),\r\n switchMap((action: any) => this.service.getInitialFormData(action.accountId).pipe(\r\n map((data: any) => {\r\n return ActionsList.GetInitialFormDataResponseAction({ data: data.data })\r\n }),\r\n catchError(_err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ))\r\n\r\n getApplicationData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.ApplicationDataRequestAction),\r\n switchMap((action: any) => this.service.getApplicationData(action.accountId, action.applicationId).pipe(\r\n map((data: any) => {\r\n return ActionsList.ApplicationDataResponseAction({ applicationData: data.data })\r\n }),\r\n catchError(_err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ))\r\n\r\n incrementCurrentStep$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.IncrementCurrentStepWithApiRequestAction),\r\n switchMap((action: any) => this.service.incrementCurrentStep(action.accountId, action.applicationId).pipe(\r\n map((_data: any) => {\r\n return ActionsList.IncrementCurrentStepWithApiResponseAction()\r\n }),\r\n catchError(_err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ))\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { of } from 'rxjs';\r\nimport { StartAPensionService } from 'src/app/services/start-a-pension.service';\r\nimport { SetApplicationSavedAccountDetailsAction } from '../actions';\r\n\r\n@Injectable()\r\nexport class StartAPensionAccountDetailsFormComponentEffects {\r\n constructor(private actions$: Actions,\r\n private service: StartAPensionService) {\r\n }\r\n\r\n saveAccountDetails$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.SubmitFormAction),\r\n switchMap((action: any) => this.service.saveAccountDetails(action.accountId, action.applicationId, action.submission).pipe(\r\n map((_data: any) => {\r\n return SetApplicationSavedAccountDetailsAction({ accountDetails: action.submission })\r\n }),\r\n catchError(_err => {\r\n return of(ActionsList.SubmitFormErrorAction());\r\n })\r\n )),\r\n ))\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { EMPTY, of } from 'rxjs';\r\nimport { StartAPensionService } from 'src/app/services/start-a-pension.service';\r\nimport { SetApplicationSavedBankDetailsAction } from '../actions';\r\n\r\n@Injectable()\r\nexport class StartAPensionBankDetailsFormComponentEffects {\r\n constructor(private actions$: Actions,\r\n private service: StartAPensionService) {\r\n }\r\n\r\n searchBankName$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.SearchBankNameAction),\r\n switchMap((action: any) => this.service.searchBankName(action.bsb).pipe(\r\n map((data: any) => {\r\n return ActionsList.SetBankNameAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n\r\n saveBankDetails$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.SubmitFormAction),\r\n switchMap((action: any) => this.service.saveBankDetails(action.accountId, action.applicationId, action.submission).pipe(\r\n map((_data: any) => {\r\n return SetApplicationSavedBankDetailsAction({ bankDetails: action.submission })\r\n }),\r\n catchError(_err => {\r\n return of(ActionsList.SubmitFormErrorAction());\r\n })\r\n )),\r\n ))\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { of } from 'rxjs';\r\nimport { StartAPensionService } from 'src/app/services/start-a-pension.service';\r\nimport { SetApplicationSavedBeneficiaryAction } from '../actions';\r\nimport { PensionApplicationBeneficiarySubmissionModel } from 'src/app/model/start-a-pension-form.model';\r\n\r\n@Injectable()\r\nexport class StartAPensionBeneficiaryFormComponentEffects {\r\n constructor(private actions$: Actions,\r\n private service: StartAPensionService) {\r\n }\r\n\r\n saveBeneficiary$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.SubmitFormAction),\r\n switchMap((action: any) => this.service.saveBeneficiary(action.accountId, action.applicationId, action.submission).pipe(\r\n map((_data: any) => {\r\n return SetApplicationSavedBeneficiaryAction({ beneficiary: action.submission })\r\n }),\r\n catchError(_err => {\r\n return of(ActionsList.SubmitFormErrorAction());\r\n })\r\n )),\r\n ))\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { catchError, map, mergeMap, switchMap } from 'rxjs/operators';\r\nimport * as ActionsList from './actions';\r\nimport { EMPTY, of } from 'rxjs';\r\nimport { StartAPensionService } from 'src/app/services/start-a-pension.service';\r\nimport { SetApplicationSavedDocumentsAction } from '../actions';\r\n\r\n@Injectable()\r\nexport class StartAPensionDocumentsFormComponentEffects {\r\n constructor(private actions$: Actions,\r\n private service: StartAPensionService) {\r\n }\r\n\r\n saveDocument$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.SaveDocumentAction),\r\n mergeMap((action: any) => this.service.saveDocument(action.accountId, action.applicationId, action.documentTypeId, action.payload, action.draft).pipe(\r\n map((data: any) => {\r\n return ActionsList.UpdateSavedDocumentAction({ uploadedDocumentId: data.data, fileName: action.fileName, documentTypeId: action.documentTypeId, documentIndex: action.documentIndex, controlId: action.controlId })\r\n }),\r\n catchError((err: any, caught: any) => {\r\n return of(ActionsList.SetFileRequestFailedAction({ controlId: action.controlId, file: action.payload }))\r\n })\r\n )),\r\n ))\r\n\r\n deleteDocument$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.DeleteDocumentAction),\r\n switchMap((action: any) => this.service.deleteDocument(action.accountId, action.applicationId, action.uploadedDocumentId, action.draft).pipe(\r\n map((data: any) => {\r\n return ActionsList.UpdateDeletedDocumentAction({ uploadedDocumentId: action.uploadedDocumentId, overviewIndex: action.overviewIndex, uploadIndex: action.uploadIndex, controlId: action.controlId })\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ))\r\n\r\n replaceDocument$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.ReplaceDocumentAction),\r\n switchMap((action: any) => this.service.deleteDocument(action.accountId, action.applicationId, action.uploadedDocumentId, action.draft).pipe(\r\n map((data: any) => {\r\n return ActionsList.UpdateReplacedDocumentAction({ documentTypeId: action.documentTypeId, controlId: action.controlId, documentIndex: action.documentIndex, fileName: action.fileName, payload: action.payload });\r\n }),\r\n catchError(err => {\r\n return of(ActionsList.SetFileRequestFailedAction({ controlId: action.controlId, file: action.originalFile }))\r\n })\r\n )),\r\n ))\r\n\r\n completeDocumentsComponent$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.SubmitFormAction),\r\n switchMap((action: any) => this.service.completeDocuments(action.accountId, action.applicationId).pipe(\r\n map(() => {\r\n return SetApplicationSavedDocumentsAction()\r\n }),\r\n catchError(_err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ))\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { of } from 'rxjs';\r\nimport { StartAPensionService } from 'src/app/services/start-a-pension.service';\r\nimport { SetApplicationIdAction } from '../actions';\r\n\r\n@Injectable()\r\nexport class StartAPensionEligibilityFormComponentEffects {\r\n constructor(private actions$: Actions,\r\n private service: StartAPensionService) {\r\n }\r\n\r\n createBaseApplication$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.SubmitFormAction),\r\n switchMap((action: any) => this.service.createBaseApplication(action.accountId, action.conditionId, action.submission).pipe(\r\n map((data: any) => {\r\n return SetApplicationIdAction({ applicationId: data.data })\r\n }),\r\n catchError(_err => {\r\n return of(ActionsList.SubmitFormErrorAction());\r\n })\r\n )),\r\n ))\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { of } from 'rxjs';\r\nimport { StartAPensionService } from 'src/app/services/start-a-pension.service';\r\nimport { SetApplicationSavedPaymentDetailsAction } from '../actions';\r\n\r\n@Injectable()\r\nexport class StartAPensionPaymentDetailsFormComponentEffects {\r\n constructor(private actions$: Actions,\r\n private service: StartAPensionService) {\r\n }\r\n\r\n savePaymentDetails$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.SubmitFormAction),\r\n switchMap((action: any) => this.service.savePaymentDetails(action.accountId, action.applicationId, action.submission).pipe(\r\n map((_data: any) => {\r\n return SetApplicationSavedPaymentDetailsAction({ paymentDetails: action.submission })\r\n }),\r\n catchError(_err => {\r\n return of(ActionsList.SubmitFormErrorAction());\r\n })\r\n )),\r\n ))\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { Store } from '@ngrx/store';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport * as ActionsList from './actions';\r\nimport { EMPTY } from 'rxjs';\r\nimport { StartAPensionService } from 'src/app/services/start-a-pension.service';\r\n\r\n@Injectable()\r\nexport class StartAPensionReviewComponentEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private service: StartAPensionService) {\r\n }\r\n\r\n submitApplication$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.SubmitApplicationAction),\r\n switchMap((action: any) => this.service.submitApplication(action.accountId, action.applicationId).pipe(\r\n map((data: any) => {\r\n return ActionsList.ApplicationSubmittedAction()\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n ))\r\n ))\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { EMPTY } from 'rxjs';\r\nimport { StartAPensionService } from 'src/app/services/start-a-pension.service';\r\nimport { ApplicationDataResponseAction } from '../start-a-pension-form/actions';\r\nimport { SaveApplicationDataForUpdateSubmittedAction } from '../start-a-pension-update-submitted/actions';\r\n\r\n@Injectable()\r\nexport class StartAPensionStartComponentEffects {\r\n constructor(private actions$: Actions,\r\n private service: StartAPensionService) {\r\n }\r\n\r\n getApplicationList$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.getApplicationList(action.accountId).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n cancelApplication$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.CancelApplicationAction),\r\n switchMap((action: any) => this.service.cancelApplication(action.accountId, action.applicationId).pipe(\r\n map((data: any) => {\r\n return ActionsList.SetApplicationToCancelledAction({ applicationId: action.applicationId })\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ))\r\n\r\n continueApplication$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.ContinueApplicationRequestAction),\r\n switchMap((action: any) => this.service.getApplicationData(action.accountId, action.applicationId).pipe(\r\n map((data: any) => {\r\n return ApplicationDataResponseAction({ applicationData: data.data })\r\n }),\r\n catchError(_err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ))\r\n\r\n updateSubmitted$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.UpdateSubmittedApplicationRequestAction),\r\n switchMap((action: any) => this.service.getApplicationData(action.accountId, action.applicationId, false).pipe(\r\n map((data: any) => {\r\n return SaveApplicationDataForUpdateSubmittedAction({ model: data.data })\r\n }),\r\n catchError(_err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ))\r\n}\r\n","import { Injectable } from '@angular/core';\r\n@Injectable()\r\nexport class StartAPensionUpdateSubmittedComponentEffects {\r\n constructor() {\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { Store } from '@ngrx/store';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { RollInService } from 'src/app/services/rollin.service';\r\nimport { RequestAction, ResponseAction } from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class SuperannuationProviderSearchEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n public toastr: ToastrService,\r\n private router: Router,\r\n private service: RollInService) {\r\n }\r\n\r\n providerSearch$ = createEffect(() => this.actions$.pipe(\r\n ofType(RequestAction),\r\n switchMap((action: any) => this.service.providerSearch(action.q).pipe(\r\n map((data: any) => {\r\n return ResponseAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n // submit$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ActionsList.SubmitRequestAction),\r\n // switchMap((action: any) => this.service.updateMemberDetails(action.payload).pipe(\r\n // map((data: any) => {\r\n // this.toastr.success(data.message);\r\n // return ActionsList.SubmitResponseAction({ payload: data });\r\n // }),\r\n // catchError(err => {\r\n // return EMPTY;\r\n // })\r\n // )),\r\n // ));\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Store } from '@ngrx/store';\r\nimport { BaseService } from './base.services';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from 'src/environments/environment';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class SwitchInvestmentsService extends BaseService {\r\n\r\n constructor(private http: HttpClient,\r\n public toastr: ToastrService,\r\n private store: Store) {\r\n super(toastr);\r\n }\r\n\r\n getOptions(accountId: number): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/SwitchInvestments/account/${accountId}/options`, { headers: this.headers() });\r\n }\r\n\r\n submit(accountId: number, selectedId: number): Observable {\r\n // const params = new HttpParams()\r\n // .set('accountId', accountId.toString());\r\n var obj = {\r\n selected: selectedId\r\n }\r\n return this.http.post(environment.apiUrl + `/member-portal/SwitchInvestments/account/${accountId}`, obj, { headers: this.headers() });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { Router } from '@angular/router';\r\nimport { createEffect } from '@ngrx/effects';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { SwitchInvestmentsService } from 'src/app/services/switch-investments.service';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class SwitchInvestmentsEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n public toastr: ToastrService,\r\n private router: Router,\r\n private service: SwitchInvestmentsService) {\r\n }\r\n\r\n getOptions$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestOptionsAction),\r\n switchMap((action: any) => this.service.getOptions(action.accountId).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseOptionsAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n submit$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestSwitchOptionAction),\r\n switchMap((action: any) => this.service.submit(action.accountId, action.selectedId).pipe(\r\n map((data: any) => {\r\n this.toastr.success(data.message);\r\n return ActionsList.ResponseSwitchOptionAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { BaseService } from './base.services';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable()\r\nexport class UnitPriceService extends BaseService {\r\n\r\n constructor(private http: HttpClient,\r\n public toastr: ToastrService,\r\n private store: Store) {\r\n super(toastr);\r\n }\r\n\r\n unitPrices(accountId: number): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/unit-price/account/${accountId}/unit-prices`, { headers: this.headers() });\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { Router } from '@angular/router';\r\nimport { UnitPriceService } from 'src/app/services/unit-price.service';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class UnitPricesViewEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private service: UnitPriceService) {\r\n }\r\n\r\n getData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.unitPrices(action.accountId).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { RouterModule, Routes } from \"@angular/router\";\r\n\r\nconst memberPortalSharedRoutes: Routes = [\r\n\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(memberPortalSharedRoutes)],\r\n exports: [RouterModule]\r\n})\r\nexport class MemberPortalSharedRoutingModule {}\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n provideHttpClient,\r\n withInterceptorsFromDi,\r\n} from '@angular/common/http';\r\nimport { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { IfaaUiComponentsModule } from '@ifaa-components/ui-components';\r\nimport { EffectsModule } from '@ngrx/effects';\r\nimport { StoreModule } from '@ngrx/store';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { NgApexchartsModule } from 'ng-apexcharts';\r\nimport { NgCircleProgressModule } from 'ng-circle-progress';\r\nimport { PdfJsViewerModule } from 'ng2-pdfjs-viewer';\r\nimport { NgrxFormsModule } from 'ngrx-forms';\r\nimport { MaterialModule } from 'src/app/app.material.module';\r\nimport { AccessYourSuperBankDetailsComponentEffects } from './components/access-your-super-bank-details/effects';\r\nimport { AccessYourSuperCeasedPaidEmploymentComponentEffects } from './components/access-your-super-custom-sections/access-your-super-ceased-paid-employment/effects';\r\nimport { AccessYourSuperCeasedWorkSixtyComponentEffects } from './components/access-your-super-custom-sections/access-your-super-ceased-work-sixty/effects';\r\nimport { AccessYourSuperCompassionateGroundsComponentEffects } from './components/access-your-super-custom-sections/access-your-super-compassionate-grounds/effects';\r\nimport { AccessYourSuperKiwiSaverComponentEffects } from './components/access-your-super-custom-sections/access-your-super-kiwi-saver/effects';\r\nimport { AccessYourSuperPensionCommutationsComponentEffects } from './components/access-your-super-custom-sections/access-your-super-pension-commutations/effects';\r\nimport { AccessYourSuperPermanentRetirementPreservationComponentEffects } from './components/access-your-super-custom-sections/access-your-super-permanent-retirement-preservation/effects';\r\nimport { AccessYourSuperRetirementComponentEffects } from './components/access-your-super-custom-sections/access-your-super-retirement/effects';\r\nimport { AccessYourSuperSevereFinancialHardshipComponentEffects } from './components/access-your-super-custom-sections/access-your-super-severe-financial-hardship/effects';\r\nimport { AccessYourSuperTerminalMedicalConditionComponentEffects } from './components/access-your-super-custom-sections/access-your-super-terminal-medical-condition/effects';\r\nimport { AccessYourSuperUnrestrictedNonPreservedComponentEffects } from './components/access-your-super-custom-sections/access-your-super-unrestricted-non-preserved/effects';\r\nimport { AccessYourSuperDocumentsComponentEffects } from './components/access-your-super-documents/effects';\r\nimport { AccessYourSuperFormComponentEffects } from './components/access-your-super-form/effects';\r\nimport { AccessYourSuperLastEmployerComponentEffects } from './components/access-your-super-last-employer/effects';\r\nimport { AccessYourSuperReviewComponentEffects } from './components/access-your-super-review/effects';\r\nimport { AccessYourSuperStartComponentEffects } from './components/access-your-super-start/effects';\r\nimport { AccessYourSuperTypeSelectionComponentEffects } from './components/access-your-super-type-selection/effects';\r\nimport { AccessYourSuperUpdateSubmittedComponentEffects } from './components/access-your-super-update-submitted/effects';\r\nimport { AccountFeesEffects } from './components/account-fees/effects';\r\nimport { AccountSummaryEffects } from './components/account-summary/effects';\r\nimport { AccountUnderlyingInvestmentSummaryViewEffects } from './components/account-underlying-investment-summary-view/effects';\r\nimport { AccountUnderlyingViewEffects } from './components/account-underlying-view/effects';\r\nimport { BeneficiariesEditEffects } from './components/beneficiaries-edit/effects';\r\nimport { BeneficiariesViewEffects } from './components/beneficiaries-view/effects';\r\nimport { BPAYDetailsEffects } from './components/bpay-details/effects';\r\nimport { CashTransactionsEffects } from './components/cash-transactions/effects';\r\nimport { ChatViewEffects } from './components/chat/effects';\r\nimport { ConsolidateSuperEffects } from './components/consolidate-super/effects';\r\nimport { ContributionsLimitsEffects } from './components/contributions-limits/effects';\r\nimport { DocumentViewerEffects } from './components/document-viewer/effects';\r\nimport { HistoricalChartViewEffects } from './components/historical-chart/effects';\r\nimport { InsuranceDetailsEffects } from './components/insurance-details/effects';\r\nimport { InsuranceQuestionnaireEffects } from './components/insurance-questionnaire/effects';\r\nimport { InsuranceQuestionnaireStartEffects } from './components/insurance-questionnaire-start/effects';\r\nimport { InsuranceUpdateHistoryComponentEffects } from './components/insurance-update-history/effects';\r\nimport { InsuranceUpdateComponentEffects } from './components/insurance-update/effects';\r\nimport { EditInvestmentEffects } from './components/investment-edit/effects';\r\nimport { InvestmentOptionsEffects } from './components/investment-options/effects';\r\nimport { InvestmentSwitchHistoryEffects } from './components/investment-switch-history/effects';\r\nimport { MemberAccountDropdownEffects } from './components/member-account-dropdown/effects';\r\nimport { MemberAlertViewEffects } from './components/member-alert/effects';\r\nimport { EditMemberEffects } from './components/member-edit/effects';\r\nimport { MemberPensionEffects } from './components/member-pension-view/effects';\r\nimport { MemberViewOverviewEffects } from './components/member-view-overview/effects';\r\nimport { MemberEffects } from './components/member-view/effects';\r\nimport { NoticeOfIntentTaxDeductionContainerComponentEffects } from './components/notice-of-intent-tax-deduction-container/effects';\r\nimport { NoticeOfIntentTaxDeductionFormComponentEffects } from './components/notice-of-intent-tax-deduction-form/effects';\r\nimport { NotificationDropdownEffects } from './components/notification-dropdown/effects';\r\nimport { PensionChangePaymentScheduleRequestsEffects } from './components/pension-change-schedule-requests/effects';\r\nimport { PensionChangePaymentScheduleEffects } from './components/pension-change-schedule/effects';\r\nimport { PersonalContributionEditEffects } from './components/personal-contribution-edit/effects';\r\nimport { RecentEmploymentDetailsEffects } from './components/recent-employment-details/effects';\r\nimport { RollInEditEffects } from './components/rollin-edit/effects';\r\nimport { StartAPensionFormComponentEffects } from './components/start-a-pension/start-a-pension-form/effects';\r\nimport { StartAPensionAccountDetailsFormComponentEffects } from './components/start-a-pension/start-a-pension-form/start-a-pension-account-details-form/effects';\r\nimport { StartAPensionBankDetailsFormComponentEffects } from './components/start-a-pension/start-a-pension-form/start-a-pension-bank-details-form/effects';\r\nimport { StartAPensionBeneficiaryFormComponentEffects } from './components/start-a-pension/start-a-pension-form/start-a-pension-beneficiary-form/effects';\r\nimport { StartAPensionDocumentsFormComponentEffects } from './components/start-a-pension/start-a-pension-form/start-a-pension-documents-form/effects';\r\nimport { StartAPensionEligibilityFormComponentEffects } from './components/start-a-pension/start-a-pension-form/start-a-pension-eligibility-form/effects';\r\nimport { StartAPensionPaymentDetailsFormComponentEffects } from './components/start-a-pension/start-a-pension-form/start-a-pension-payment-details-form/effects';\r\nimport { StartAPensionReviewComponentEffects } from './components/start-a-pension/start-a-pension-form/start-a-pension-review/effects';\r\nimport { StartAPensionStartComponentEffects } from './components/start-a-pension/start-a-pension-start/effects';\r\nimport { StartAPensionUpdateSubmittedComponentEffects } from './components/start-a-pension/start-a-pension-update-submitted/effects';\r\nimport { SuperannuationProviderSearchEffects } from './components/superannuation-provider-search/effects';\r\nimport { SwitchInvestmentsEffects } from './components/switch-investments-edit/effects';\r\nimport { UnitPricesViewEffects } from './components/unit-prices-view/effects';\r\nimport { MemberPortalSharedRoutingModule } from './shared-routing.module';\r\nimport {\r\n featureKey,\r\n reducers,\r\n localStorageSyncMetaReducer,\r\n} from './store/shared.reducers';\r\n\r\n@NgModule({\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n imports: [\r\n CommonModule,\r\n NgApexchartsModule,\r\n PdfJsViewerModule,\r\n IfaaUiComponentsModule,\r\n MemberPortalSharedRoutingModule,\r\n MaterialModule,\r\n NgrxFormsModule,\r\n ReactiveFormsModule,\r\n StoreModule.forFeature(featureKey, reducers, {\r\n metaReducers: [localStorageSyncMetaReducer],\r\n }),\r\n EffectsModule.forFeature([\r\n MemberEffects,\r\n MemberViewOverviewEffects,\r\n AccountUnderlyingViewEffects,\r\n AccountUnderlyingInvestmentSummaryViewEffects,\r\n BeneficiariesViewEffects,\r\n BPAYDetailsEffects,\r\n EditMemberEffects,\r\n EditInvestmentEffects,\r\n BeneficiariesEditEffects,\r\n CashTransactionsEffects,\r\n MemberAccountDropdownEffects,\r\n HistoricalChartViewEffects,\r\n InsuranceQuestionnaireStartEffects,\r\n InsuranceQuestionnaireEffects,\r\n InvestmentOptionsEffects,\r\n InsuranceDetailsEffects,\r\n SwitchInvestmentsEffects,\r\n RollInEditEffects,\r\n ContributionsLimitsEffects,\r\n SuperannuationProviderSearchEffects,\r\n PersonalContributionEditEffects,\r\n ConsolidateSuperEffects,\r\n UnitPricesViewEffects,\r\n DocumentViewerEffects,\r\n NotificationDropdownEffects,\r\n MemberPensionEffects,\r\n AccessYourSuperStartComponentEffects,\r\n AccessYourSuperTypeSelectionComponentEffects,\r\n AccessYourSuperFormComponentEffects,\r\n AccessYourSuperLastEmployerComponentEffects,\r\n AccessYourSuperBankDetailsComponentEffects,\r\n AccessYourSuperDocumentsComponentEffects,\r\n AccessYourSuperRetirementComponentEffects,\r\n AccessYourSuperCeasedWorkSixtyComponentEffects,\r\n AccessYourSuperPermanentRetirementPreservationComponentEffects,\r\n AccessYourSuperCeasedPaidEmploymentComponentEffects,\r\n AccessYourSuperPensionCommutationsComponentEffects,\r\n AccessYourSuperReviewComponentEffects,\r\n RecentEmploymentDetailsEffects,\r\n AccountSummaryEffects,\r\n AccessYourSuperTerminalMedicalConditionComponentEffects,\r\n AccessYourSuperSevereFinancialHardshipComponentEffects,\r\n AccessYourSuperCompassionateGroundsComponentEffects,\r\n AccessYourSuperUnrestrictedNonPreservedComponentEffects,\r\n AccessYourSuperKiwiSaverComponentEffects,\r\n ChatViewEffects,\r\n AccessYourSuperUpdateSubmittedComponentEffects,\r\n NoticeOfIntentTaxDeductionContainerComponentEffects,\r\n NoticeOfIntentTaxDeductionFormComponentEffects,\r\n MemberAlertViewEffects,\r\n AccountFeesEffects,\r\n PensionChangePaymentScheduleEffects,\r\n PensionChangePaymentScheduleRequestsEffects,\r\n InvestmentSwitchHistoryEffects,\r\n StartAPensionStartComponentEffects,\r\n StartAPensionFormComponentEffects,\r\n StartAPensionEligibilityFormComponentEffects,\r\n StartAPensionAccountDetailsFormComponentEffects,\r\n StartAPensionPaymentDetailsFormComponentEffects,\r\n StartAPensionBankDetailsFormComponentEffects,\r\n StartAPensionBeneficiaryFormComponentEffects,\r\n StartAPensionDocumentsFormComponentEffects,\r\n StartAPensionReviewComponentEffects,\r\n StartAPensionUpdateSubmittedComponentEffects,\r\n InsuranceUpdateComponentEffects,\r\n InsuranceUpdateHistoryComponentEffects,\r\n ]),\r\n TranslateModule.forChild(),\r\n NgCircleProgressModule.forRoot({\r\n radius: 100,\r\n outerStrokeWidth: 16,\r\n innerStrokeWidth: 8,\r\n animationDuration: 400,\r\n backgroundPadding: 0,\r\n animation: true,\r\n }),\r\n ],\r\n providers: [provideHttpClient(withInterceptorsFromDi())],\r\n})\r\nexport class MemberPortalSharedModule {}\r\n","import { MemberPortalSharedState } from './../../store/shared.states';\r\nimport { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { IConsolidateSuperState } from './state';\r\nimport { featureKey } from '../../store/shared.reducers';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const consolidateSuper = createSelector(memberPortalState, (state) => state.consolidateSuperState);\r\n\r\nexport const consolidateSuper_List = createSelector(\r\n consolidateSuper,\r\n (state: IConsolidateSuperState) => state.list\r\n);\r\n","import { consolidateSuper_List } from './selectors';\r\nimport { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { AppState } from '../../../../store/app.states';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { RequestAction } from './actions';\r\nimport { FeatureToggleName } from 'src/app/model/feature-toggle-name.model';\r\nimport {\r\n FeatureToggleCheckService,\r\n FeatureToggleHelper,\r\n} from 'src/app/helper/featureToggleHelper';\r\nimport { OnInit, OnDestroy } from '@angular/core';\r\nimport { NgIf, NgFor, NgClass, AsyncPipe } from '@angular/common';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { AppNoItemsComponent } from '@ifaa-components/ui-components';\r\nimport { FeatureToggleDirective } from '../../directives/feature-toggle.directive';\r\nimport { MessageDirective } from '../../directives/message.directive';\r\n\r\n@Component({\r\n selector: 'app-consolidate-super',\r\n templateUrl: './consolidate-super.component.html',\r\n styleUrls: ['./consolidate-super.component.scss'],\r\n imports: [\r\n FeatureToggleDirective,\r\n AppNoItemsComponent,\r\n NgIf,\r\n NgFor,\r\n NgClass,\r\n MatIcon,\r\n AsyncPipe,\r\n MessageDirective,\r\n ],\r\n})\r\nexport class ConsolidateSuperComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n list$ = this.store.pipe(select(consolidateSuper_List));\r\n rollInFeatureToggle = FeatureToggleName.member.account.rollIn.view;\r\n toggleHelper = new FeatureToggleHelper();\r\n\r\n constructor(\r\n public store: Store,\r\n public appStore: Store,\r\n public toggleCheck: FeatureToggleCheckService,\r\n private router: Router\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n this.checkAccountFeatureToggle(\r\n this.rollInFeatureToggle,\r\n (enabled, account) => {\r\n if (enabled) {\r\n this.dispatch(\r\n this.store,\r\n RequestAction({ accountId: account.accountId })\r\n );\r\n }\r\n }\r\n );\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n onStartClick() {\r\n this.router.navigate(['rollin']);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n
    1\">\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n hourglass_empty\r\n hourglass_empty\r\n done\r\n {{ item.status }}\r\n
\r\n
\r\n
{{ item.transferringFund }}
\r\n \r\n
\r\n
\r\n
\r\n
\r\n 1\"\r\n >\r\n keyboard_arrow_left\r\n \r\n 1\"\r\n >\r\n keyboard_arrow_right\r\n \r\n \r\n \r\n\r\n","import { featureKey } from './../../store/shared.reducers';\r\nimport { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { IHistoricalChartViewState } from './state';\r\n\r\nexport const memberPortalState =\r\n createFeatureSelector(featureKey);\r\n\r\nexport const historicalChartView = createSelector(\r\n memberPortalState,\r\n (state) => state.historicalChartViewState\r\n);\r\n\r\nexport const historicalChartView_Model = createSelector(\r\n historicalChartView,\r\n (state: IHistoricalChartViewState) => state.model\r\n);\r\n\r\nexport const historicalChartView_SelectedFilter = createSelector(\r\n historicalChartView,\r\n (state: IHistoricalChartViewState) => state.activeOptionButton\r\n);\r\n","import {\r\n historicalChartView_Model,\r\n historicalChartView_SelectedFilter,\r\n} from './../selectors';\r\nimport {\r\n AfterViewInit,\r\n Component,\r\n ElementRef,\r\n OnInit,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { RequestAction, SelectFilterAction } from './../actions';\r\nimport { ComponentBase } from '../../../../../views/component-base';\r\nimport { AppState } from '../../../../../store/app.states';\r\nimport { MemberPortalSharedState } from '../../../store/shared.states';\r\nimport {\r\n ChartComponent,\r\n ApexAxisChartSeries,\r\n ApexChart,\r\n ApexXAxis,\r\n ApexDataLabels,\r\n ApexTitleSubtitle,\r\n ApexStroke,\r\n ApexGrid,\r\n ApexTooltip,\r\n ApexFill,\r\n ApexYAxis,\r\n ApexMarkers,\r\n} from 'ng-apexcharts';\r\nimport { AsyncPipe, CurrencyPipe, DatePipe, NgIf } from '@angular/common';\r\nimport { memberAccountDropdown_SelectedAccount } from '../../member-account-dropdown/selectors';\r\nimport { debounceTime, map } from 'rxjs/operators';\r\nimport { combineLatest } from 'rxjs';\r\nimport { HistoricalGraphItemModel } from 'src/app/model/historical-graph.model';\r\nimport { TranslatePipe, TranslateService } from '@ngx-translate/core';\r\nimport { FeatureToggleName } from 'src/app/model/feature-toggle-name.model';\r\nimport { FeatureToggleHelper } from 'src/app/helper/featureToggleHelper';\r\nimport { AppButtonComponent, Helper } from '@ifaa-components/ui-components';\r\nimport moment from 'moment';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MatTooltip } from '@angular/material/tooltip';\r\nimport { RouterLink } from '@angular/router';\r\nimport { FeatureToggleDirective } from '../../../directives/feature-toggle.directive';\r\nimport {\r\n commomState_ScreenWidth,\r\n commonState_SystemConfig_AccountFeatureToggles,\r\n} from 'src/app/store/common/common.selectors';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport ApexCharts from 'apexcharts';\r\nimport { environment } from '../../../../../../environments/environment';\r\n\r\nexport type ChartOptions = {\r\n series: ApexAxisChartSeries;\r\n chart: ApexChart;\r\n xaxis: ApexXAxis;\r\n yaxis: ApexYAxis;\r\n dataLabels: ApexDataLabels;\r\n grid: ApexGrid;\r\n stroke: ApexStroke;\r\n title: ApexTitleSubtitle;\r\n tooltip: ApexTooltip;\r\n colors: string[];\r\n fill: ApexFill;\r\n markers: ApexMarkers;\r\n};\r\n\r\n@Component({\r\n selector: 'app-historical-chart-view',\r\n templateUrl: './historical-chart-view.component.html',\r\n styleUrls: ['./historical-chart-view.component.scss'],\r\n imports: [\r\n MatTooltip,\r\n CurrencyPipe,\r\n AsyncPipe,\r\n DatePipe,\r\n NgIf,\r\n MatIcon,\r\n // ChartComponent,\r\n AppButtonComponent,\r\n TranslatePipe,\r\n RouterLink,\r\n FeatureToggleDirective,\r\n ],\r\n})\r\nexport class HistoricalChartViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy, AfterViewInit\r\n{\r\n pipe = new DatePipe('en-AU');\r\n\r\n // chart one\r\n @ViewChild('chart') chart: ElementRef;\r\n chartOne: ApexCharts = null;\r\n\r\n // chart two\r\n @ViewChild('chart2') chart2: ElementRef;\r\n chartTwo: ApexCharts = null;\r\n public chartOptions: Partial;\r\n model$ = this.store.pipe(select(historicalChartView_Model));\r\n selectedFilter$ = this.store.pipe(select(historicalChartView_SelectedFilter));\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n accountFeatureToggles$ = this.appStore.pipe(\r\n select(commonState_SystemConfig_AccountFeatureToggles)\r\n );\r\n helper = new Helper();\r\n\r\n viewTransactionsFeatureToggle =\r\n FeatureToggleName.member.account.transactions.view;\r\n viewOtherStatementsFeatureToggle =\r\n FeatureToggleName.member.account.viewStatements.view;\r\n lodgeCirtClaimFeatureToggle =\r\n FeatureToggleName.member.account.lodgeCirtClaim.view;\r\n jetcoClaimFeatureToggle = FeatureToggleName.member.account.JetcoClaim.view;\r\n\r\n featureToggleHelper = new FeatureToggleHelper();\r\n currentFilter: string = '';\r\n data: HistoricalGraphItemModel[] = [];\r\n public updateOptionsData = {\r\n '1m': {\r\n xaxis: {\r\n min: this.subtractDate(1).getTime(),\r\n max: new Date().getTime(),\r\n },\r\n },\r\n '6m': {\r\n xaxis: {\r\n min: this.subtractDate(6).getTime(),\r\n max: new Date().getTime(),\r\n },\r\n },\r\n '1y': {\r\n xaxis: {\r\n min: this.subtractDate(12).getTime(),\r\n max: new Date().getTime(),\r\n },\r\n },\r\n\r\n all: {\r\n xaxis: {\r\n min: undefined,\r\n max: undefined,\r\n },\r\n },\r\n };\r\n\r\n public chartOptions2: Partial;\r\n constructor(\r\n public store: Store,\r\n public appStore: Store,\r\n public translate: TranslateService,\r\n public sanitizer: DomSanitizer\r\n ) {\r\n super();\r\n }\r\n ngAfterViewInit() {\r\n this.translate.get('HISTORICAL_CHART_VIEW').subscribe((chart) => {\r\n // chart one\r\n this.chartOptions = {\r\n tooltip: {\r\n enabled: true,\r\n custom: ({ series, seriesIndex, dataPointIndex, w }) => {\r\n return (\r\n '
' +\r\n '
Date:
' +\r\n this.pipe.transform(this.data[dataPointIndex].x, 'dd/MM/yyyy') +\r\n '
' +\r\n '
Amount:
$' +\r\n series[seriesIndex][dataPointIndex] +\r\n '
' +\r\n `
Units:
` +\r\n this.data[dataPointIndex].unit +\r\n '
' +\r\n '
'\r\n );\r\n },\r\n },\r\n series: [],\r\n\r\n chart: {\r\n redrawOnWindowResize: true,\r\n height: 350,\r\n type: chart.CHARTTYPE,\r\n id: 'historicalchart',\r\n selection: {},\r\n zoom: {\r\n type: 'x',\r\n enabled: false,\r\n autoScaleYaxis: true,\r\n },\r\n\r\n events: {\r\n click: function (e, chart, options) {\r\n var tt = '';\r\n },\r\n dataPointSelection: function (e, chart, options) {},\r\n },\r\n },\r\n markers: {\r\n colors: [chart.CHARTMARKERCOLOR],\r\n strokeColors: chart.CHARTMARKERBORDERCOLOR,\r\n },\r\n colors: [chart.CHARTLINECOLOR],\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n stroke: {\r\n curve: 'straight',\r\n },\r\n title: {\r\n text: '',\r\n align: 'left',\r\n },\r\n grid: {\r\n row: {\r\n colors: ['#f3f3f3', 'transparent'], // takes an array which will be repeated on columns\r\n opacity: 0.1,\r\n },\r\n },\r\n yaxis: {\r\n tickAmount: 6,\r\n labels: {\r\n formatter: function (value) {\r\n return '$' + Number(value).toFixed(2);\r\n },\r\n },\r\n },\r\n xaxis: {\r\n type: 'datetime',\r\n\r\n tooltip: {\r\n formatter: (value) => {\r\n return this.pipe.transform(\r\n new Date(value).toISOString(),\r\n 'dd/MM'\r\n );\r\n },\r\n },\r\n },\r\n };\r\n\r\n this.chartOne = new ApexCharts(\r\n this.chart.nativeElement,\r\n this.chartOptions\r\n );\r\n this.chartOne.render();\r\n\r\n // chart two\r\n var minDate = moment().subtract(20, 'days').valueOf() as number;\r\n var maxDate = moment().valueOf() as number;\r\n\r\n this.chartOptions2 = {\r\n tooltip: {\r\n enabled: false,\r\n },\r\n series: [],\r\n\r\n chart: {\r\n redrawOnWindowResize: true,\r\n height: 120,\r\n type: chart.CHARTTYPE,\r\n id: 'historicalchart1',\r\n selection: {\r\n enabled: true,\r\n xaxis: {\r\n min: minDate,\r\n max: maxDate,\r\n },\r\n },\r\n brush: {\r\n target: 'historicalchart',\r\n enabled: true,\r\n },\r\n zoom: {\r\n enabled: false,\r\n },\r\n\r\n events: {\r\n click: function (e, chart, options) {\r\n var tt = '';\r\n },\r\n dataPointSelection: function (e, chart, options) {},\r\n },\r\n },\r\n\r\n markers: {\r\n colors: [chart.CHARTMARKERCOLOR],\r\n strokeColors: chart.CHARTMARKERBORDERCOLOR,\r\n },\r\n colors: [chart.CHARTLINECOLOR],\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n stroke: {\r\n curve: 'straight',\r\n },\r\n title: {\r\n text: '',\r\n align: 'left',\r\n },\r\n grid: {\r\n row: {\r\n colors: ['#f3f3f3', 'transparent'], // takes an array which will be repeated on columns\r\n opacity: 0.1,\r\n },\r\n },\r\n fill: {},\r\n yaxis: {\r\n show: false,\r\n labels: {\r\n formatter: function (value) {\r\n return '$' + Number(value).toFixed(2);\r\n },\r\n },\r\n },\r\n xaxis: {\r\n type: 'datetime',\r\n\r\n tooltip: {\r\n formatter: (value) => {\r\n return this.pipe.transform(\r\n new Date(value).toISOString(),\r\n 'dd/MM'\r\n );\r\n },\r\n },\r\n },\r\n };\r\n\r\n this.chartTwo = new ApexCharts(\r\n this.chart2.nativeElement,\r\n this.chartOptions2\r\n );\r\n this.chartTwo.render();\r\n });\r\n }\r\n subtractDate(months: number): Date {\r\n var d = new Date();\r\n d.setMonth(d.getMonth() - months);\r\n return d;\r\n }\r\n lastSearch = {\r\n accountId: 0,\r\n from: null,\r\n to: null,\r\n };\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.sub = this.appStore\r\n .pipe(debounceTime(500), select(commomState_ScreenWidth))\r\n .subscribe(async (x) => {\r\n var filter = await this.helper.getValue(this.selectedFilter$);\r\n\r\n if (this.chartOne) {\r\n this.chartOne.updateOptions(\r\n this.updateOptionsData[filter],\r\n false,\r\n true,\r\n true\r\n );\r\n }\r\n\r\n if (this.chartTwo)\r\n this.chartTwo.updateOptions(\r\n this.updateOptionsData[filter],\r\n false,\r\n true,\r\n true\r\n );\r\n });\r\n\r\n this.sub = combineLatest([this.selectedAccount$, this.selectedFilter$])\r\n .pipe(map(([account, filter]) => ({ account, filter })))\r\n .subscribe(async (x) => {\r\n if (x.account && x.filter) {\r\n this.currentFilter = x.filter;\r\n if (this.chartOne)\r\n this.chartOne.updateOptions(\r\n this.updateOptionsData[x.filter],\r\n false,\r\n true,\r\n true\r\n );\r\n\r\n if (this.chartTwo) {\r\n this.chartTwo.updateOptions(\r\n this.updateOptionsData[x.filter],\r\n false,\r\n true,\r\n true\r\n );\r\n }\r\n\r\n var nextSearch = {\r\n accountId: x.account.accountId,\r\n from: this.updateOptionsData[x.filter].xaxis.min,\r\n to: this.updateOptionsData[x.filter].xaxis.max,\r\n };\r\n if (JSON.stringify(this.lastSearch) != JSON.stringify(nextSearch)) {\r\n this.lastSearch = nextSearch;\r\n this.dispatch(this.store, RequestAction(nextSearch));\r\n }\r\n }\r\n });\r\n\r\n this.sub = this.model$.subscribe((model) => {\r\n if (model.data.length > 0) {\r\n this.data = model.data;\r\n\r\n if (this.chartOne)\r\n this.chartOne.updateSeries([\r\n {\r\n data: model.data,\r\n },\r\n ]);\r\n\r\n if (this.chart2) {\r\n var days = this.screenWidth < 800 ? 60 : 90;\r\n if (this.currentFilter == '1m') {\r\n days = 20;\r\n }\r\n var minDate = moment().subtract(days, 'days').valueOf() as number;\r\n var maxDate = moment().valueOf() as number;\r\n\r\n this.chartTwo.updateOptions({\r\n chart: {\r\n selection: {\r\n enabled: true,\r\n xaxis: {\r\n min: minDate,\r\n max: maxDate,\r\n },\r\n },\r\n },\r\n });\r\n this.chartTwo.updateSeries([\r\n {\r\n data: model.data,\r\n },\r\n ]);\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n public updateOptions(option: any): void {\r\n this.store.dispatch(SelectFilterAction({ payload: option }));\r\n }\r\n}\r\n","
\r\n
\r\n

{{ model.totalAmount | currency }}

\r\n
Balance as at {{ model.asAt | date : \"dd/MM/yyyy\" }}
\r\n
\r\n\r\n
\r\n \r\n help_outline\r\n
\r\n
\r\n\r\n
\r\n \r\n 1M\r\n \r\n \r\n 6M\r\n \r\n \r\n 1Y\r\n \r\n \r\n All\r\n \r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n \r\n help_outline\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n\r\n","import { NgFor, NgClass } from '@angular/common';\r\nimport { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport {\r\n MatAccordion,\r\n MatExpansionPanel,\r\n MatExpansionPanelHeader,\r\n MatExpansionPanelTitle,\r\n} from '@angular/material/expansion';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { Router } from '@angular/router';\r\nimport { Store } from '@ngrx/store';\r\nimport { AccountFeatureToggle } from 'src/app/model/account-feature-toggles.model';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { AnimateCssDirective } from '../../directives/animatecss.directive';\r\n\r\n@Component({\r\n selector: 'app-limited-service-banner',\r\n templateUrl: './limited-service-banner.component.html',\r\n styleUrls: ['./limited-service-banner.component.scss'],\r\n imports: [\r\n AnimateCssDirective,\r\n MatAccordion,\r\n MatExpansionPanel,\r\n MatExpansionPanelHeader,\r\n MatExpansionPanelTitle,\r\n MatIcon,\r\n NgFor,\r\n NgClass,\r\n ],\r\n})\r\nexport class LimitedServiceBannerComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n @Input() set toggles(value: AccountFeatureToggle[]) {\r\n this.limitedServiceBanners = value;\r\n }\r\n\r\n limitedServiceBanners: AccountFeatureToggle[] = null;\r\n showMoreFlag = false;\r\n\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n showMore() {\r\n this.showMoreFlag = !this.showMoreFlag;\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n campaign\r\n Member portal is\r\n currently on 'limited-service'. \r\n \r\n\r\n \r\n\r\n
    \r\n
  • \r\n
\r\n\r\n
\r\n
\r\n
\r\n","import { AppState } from './../../../../store/app.states';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { ComponentBase } from '../../../../views/component-base';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n commomState_SystemConfig_Config,\r\n commonState_MemberData,\r\n} from 'src/app/store/common/common.selectors';\r\nimport { FeatureToggleName } from 'src/app/model/feature-toggle-name.model';\r\nimport { memberAccountDropdown_SelectedAccount } from '../member-account-dropdown/selectors';\r\nimport { NgIf, AsyncPipe, NgClass } from '@angular/common';\r\nimport {\r\n AppReadonlyComponent,\r\n AppButtonComponent,\r\n} from '@ifaa-components/ui-components';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { FeatureToggleDirective } from '../../directives/feature-toggle.directive';\r\nimport { AppComponentWrapperComponent } from '../app-component-wrapper/app-component-wrapper.component';\r\nimport { environment } from '../../../../../environments/environment';\r\n\r\n@Component({\r\n selector: 'app-member-view-overview',\r\n templateUrl: './member-view-overview.component.html',\r\n styleUrls: ['./member-view-overview.component.scss'],\r\n imports: [\r\n AppComponentWrapperComponent,\r\n NgIf,\r\n AsyncPipe,\r\n TranslatePipe,\r\n NgClass,\r\n AppReadonlyComponent,\r\n AppButtonComponent,\r\n FeatureToggleDirective,\r\n ],\r\n})\r\nexport class MemberViewOverviewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n data$ = this.appstore.pipe(select(commonState_MemberData));\r\n tenantConfig$ = this.appstore.pipe(select(commomState_SystemConfig_Config));\r\n\r\n viewProfileDetailsFeatureToggle =\r\n FeatureToggleName.member.personalDetails.view;\r\n changePasswordFeatureToggle = FeatureToggleName.member.changePassword.view;\r\n selected$ = this.store.pipe(select(memberAccountDropdown_SelectedAccount));\r\n\r\n displayMemberNumber =\r\n environment.views.memberViewOverview.displayMemberNumber;\r\n displayAccountNumber =\r\n environment.views.memberViewOverview.displayAccountNumber;\r\n showChosenName = environment.views.memberViewOverview.showChosenName;\r\n\r\n @Input() itemclass: string = 'w-50';\r\n\r\n constructor(\r\n public store: Store,\r\n public appstore: Store,\r\n private router: Router\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n // this.dispatch(this.store,RequestAction());\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n personalDetails() {\r\n this.router.navigate(['personal-details']);\r\n }\r\n\r\n changePassword() {\r\n this.router.navigate(['change-password']);\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ \"VIEWS.MemberViewOverview.greetings\" | translate }}\r\n
\r\n
\r\n
\r\n 0 && showChosenName\"\r\n class=\"member-name\"\r\n title=\"{{ data.preferredName }}\"\r\n >\r\n {{ data.preferredName }}\r\n
\r\n \r\n {{ data.firstName }}\r\n
\r\n \r\n {{ data.firstName }} {{ data.lastName }}\r\n
\r\n \r\n {{ \"VIEWS.MemberViewOverview.post-greetings\" | translate }}\r\n \r\n
\r\n
\r\n\r\n = 992\"\r\n [ngClass]=\"{\r\n animate__bounde: (tenantConfig$ | async)?.overviewWelcomeBackJump\r\n }\"\r\n >\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n 992\">\r\n \r\n \r\n \r\n
\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { insuranceQuestionnaire_ShowQuestionnaire } from 'src/app/modules/shared/components/insurance-questionnaire/selectors';\r\nimport { memberAccountDropdown_SelectedAccount } from 'src/app/modules/shared/components/member-account-dropdown/selectors';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { FeatureToggleName } from 'src/app/model/feature-toggle-name.model';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n commonState_SystemConfig_AccountFeatureToggles,\r\n commonState_SystemConfig_LimitedServiceToggles,\r\n} from 'src/app/store/common/common.selectors';\r\nimport { AccountFeatureToggle } from 'src/app/model/account-feature-toggles.model';\r\nimport { combineLatest } from 'rxjs';\r\nimport { FeatureToggleValue } from 'src/app/model/feature-toggle-value.model';\r\nimport { NgIf, NgClass } from '@angular/common';\r\nimport {\r\n AppToolbarOptionsComponent,\r\n AppButtonComponent,\r\n} from '@ifaa-components/ui-components';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { ConsolidateSuperComponent } from 'src/app/modules/shared/components/consolidate-super/consolidate-super.component';\r\nimport { HistoricalChartViewComponent } from 'src/app/modules/shared/components/historical-chart/account-bal-with-graph/historical-chart-view.component';\r\nimport { LimitedServiceBannerComponent } from 'src/app/modules/shared/components/limited-service-banner/limited-service-banner.component';\r\nimport { MemberViewOverviewComponent } from 'src/app/modules/shared/components/member-view-overview/member-view-overview.component';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { FeatureToggleDirective } from 'src/app/modules/shared/directives/feature-toggle.directive';\r\n\r\n@Component({\r\n selector: 'app-tenant-dashboard',\r\n templateUrl: './dashboard.component.html',\r\n styleUrls: ['./dashboard.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n AppToolbarOptionsComponent,\r\n NgIf,\r\n LimitedServiceBannerComponent,\r\n AnimateCssDirective,\r\n FeatureToggleDirective,\r\n MemberViewOverviewComponent,\r\n NgClass,\r\n AppComponentWrapperComponent,\r\n ConsolidateSuperComponent,\r\n AppButtonComponent,\r\n HistoricalChartViewComponent,\r\n TranslatePipe,\r\n ],\r\n})\r\nexport class TenantDashboardComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n showQuestionnaire$ = this.store.pipe(\r\n select(insuranceQuestionnaire_ShowQuestionnaire)\r\n );\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n limitedServiceToggles$ = this.store.pipe(\r\n select(commonState_SystemConfig_LimitedServiceToggles)\r\n );\r\n featureToggles$ = this.store.pipe(\r\n select(commonState_SystemConfig_AccountFeatureToggles)\r\n );\r\n limitedServiceToggles: AccountFeatureToggle[] = null;\r\n\r\n memberProfileSummaryFeatureToggle =\r\n FeatureToggleName.member.memberProfileSummary.view;\r\n consolidateSuperFeatureToggle = FeatureToggleName.member.account.rollIn.view;\r\n accountBalWithGraphFeatureToggle =\r\n FeatureToggleName.member.account.accountBalWithGraph.view;\r\n\r\n addSpacingForWidget: boolean = false;\r\n\r\n constructor(public store: Store, public router: Router) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.sub = this.limitedServiceToggles$.subscribe((x) => {\r\n if (x) {\r\n this.limitedServiceToggles = x.filter(\r\n (flag) => flag.name !== FeatureToggleName.member.maintenance.view\r\n );\r\n }\r\n });\r\n\r\n this.sub = combineLatest([\r\n this.featureToggles$,\r\n this.selectedAccount$,\r\n ]).subscribe((x) => {\r\n if (x[0] && x[1]) {\r\n // If account is insurance, dont even check the toggles so we dont need the widget space\r\n if (x[1].accountClassificationId === 5) {\r\n return;\r\n } else {\r\n var accountSummary = x[0].find(\r\n (flag) =>\r\n flag.name === FeatureToggleName.member.account.accountSummary.view\r\n );\r\n var rollIn = x[0].find(\r\n (flag) => flag.name === FeatureToggleName.member.account.rollIn.view\r\n );\r\n\r\n if (\r\n accountSummary.value === FeatureToggleValue.available &&\r\n x[1].accountClassificationId === 1\r\n ) {\r\n this.addSpacingForWidget = true;\r\n } else if (\r\n rollIn.value === FeatureToggleValue.available &&\r\n x[1].accountClassificationId === 1\r\n ) {\r\n this.addSpacingForWidget = true;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n onStartClick() {\r\n this.router.navigate(['rollin']);\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
0\" class=\"mb-3\">\r\n \r\n
\r\n
\r\n\r\n
Overview
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
992?'flex-row':'flex-column'}} w-100\">\r\n 992}\">\r\n \r\n\r\n 992}\">\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n\r\n \r\n\r\n\r\n
\r\n
\r\n","import { VerveAcademyViewComponent } from './views/verve-academy/verve-academy-view.component';\r\nimport { NotLoggedInMasterComponent } from './layout/not-loggedin/not-loggedin.master';\r\nimport { FooterComponent } from './layout/footer/footer.master';\r\nimport { MainLayoutEffects } from './layout/main/effects';\r\nimport {\r\n provideHttpClient,\r\n withInterceptorsFromDi,\r\n} from '@angular/common/http';\r\nimport { EffectsModule } from '@ngrx/effects';\r\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StoreModule } from '@ngrx/store';\r\nimport { VerveRoutingModule } from './verve-routing.module';\r\nimport { featureKey, reducers } from './store/verve.reducers';\r\nimport { MainMasterComponent } from './layout/main/main.master';\r\nimport { IfaaUiComponentsModule } from '@ifaa-components/ui-components';\r\nimport { MemberPortalSharedModule } from '../shared/shared.module';\r\nimport { TenantDashboardComponent } from './views/dashboard/dashboard.component';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { FeatureTogglePipe } from '../shared/pipes/featureToggle';\r\n\r\n@NgModule({\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n imports: [\r\n CommonModule,\r\n VerveRoutingModule,\r\n TranslateModule.forChild(),\r\n IfaaUiComponentsModule,\r\n StoreModule.forFeature(featureKey, reducers),\r\n EffectsModule.forFeature([MainLayoutEffects]),\r\n MemberPortalSharedModule,\r\n MainMasterComponent,\r\n FooterComponent,\r\n NotLoggedInMasterComponent,\r\n VerveAcademyViewComponent,\r\n TenantDashboardComponent,\r\n ],\r\n exports: [\r\n MainMasterComponent,\r\n NotLoggedInMasterComponent,\r\n TenantDashboardComponent,\r\n ],\r\n providers: [FeatureTogglePipe, provideHttpClient(withInterceptorsFromDi())],\r\n})\r\nexport class VervModule {}\r\n","import { featureKey } from './../../store/cirt.reducers';\r\nimport { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { IJetcoClaimAmountState } from './state';\r\nimport { MemberPortalSharedState } from 'src/app/modules/shared/store/shared.states';\r\nimport { CIRTState } from '../../store/cirt.states';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const jetcoClaimAmount = createSelector(memberPortalState, (state) => state.jetcoClaimAmountState);\r\n\r\nexport const jetcoClaimAmount_Amount = createSelector(\r\n jetcoClaimAmount,\r\n (state: IJetcoClaimAmountState) => state.amount\r\n);\r\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { featureKey } from '../../../store/cirt.reducers';\r\nimport { CIRTState } from '../../../store/cirt.states';\r\nimport { ICurrentEmployerViewState } from './state';\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const currentEmployer = createSelector(memberPortalState, (state) => state.currentEmployer);\r\n\r\nexport const currentEmployer_Employer = createSelector(\r\n currentEmployer,\r\n (state: ICurrentEmployerViewState) => state.employer\r\n);\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { CIRTState } from '../../../store/cirt.states';\r\nimport { MemberPortalSharedState } from 'src/app/modules/shared/store/shared.states';\r\nimport { currentEmployer_Employer } from './selectors';\r\nimport { memberAccountDropdown_SelectedAccount } from 'src/app/modules/shared/components/member-account-dropdown/selectors';\r\nimport { RequestAction } from './actions';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { AsyncPipe, DatePipe, NgIf } from '@angular/common';\r\nimport { MatIcon } from '@angular/material/icon';\r\n\r\n@Component({\r\n selector: 'cirt-current-employer-view',\r\n templateUrl: './current-employer-view.component.html',\r\n styleUrls: ['./current-employer-view.component.scss'],\r\n imports: [AppComponentWrapperComponent, NgIf, AsyncPipe, MatIcon, DatePipe],\r\n})\r\nexport class CurrentEmployerViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n employer$ = this.cirtstore.pipe(select(currentEmployer_Employer));\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n\r\n constructor(\r\n public store: Store,\r\n public cirtstore: Store\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n this.sub = this.selectedAccount$.subscribe((x) => {\r\n console.warn(x);\r\n if (x) {\r\n this.dispatch(this.store, RequestAction({ accountId: x.accountId }));\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n work\r\n
\r\n
\r\n

{{employer.employerName}}

\r\n
\r\n
\r\n
\r\n person\r\n
Number
\r\n
{{employer.payrollNumber}}
\r\n
\r\n
\r\n
\r\n
\r\n event\r\n
Joined
\r\n
{{employer.joinDate | date:'dd/MM/yyyy'}}
\r\n
\r\n
\r\n
\r\n
\r\n event\r\n
Last contribution
\r\n
{{employer.lastContribution | date:'dd/MM/yyyy'}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n","import { featureKey } from './../../store/cirt.reducers';\r\nimport { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { IEmployerBalancesState } from './state';\r\nimport { MemberPortalSharedState } from 'src/app/modules/shared/store/shared.states';\r\nimport { CIRTState } from '../../store/cirt.states';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const employerBalances = createSelector(memberPortalState, (state) => state.employerBalancesState);\r\n\r\nexport const employerBalances_Data = createSelector(\r\n employerBalances,\r\n (state: IEmployerBalancesState) => state.data\r\n);\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { RequestAction } from './actions';\r\nimport { ComponentBase } from '../../../../views/component-base';\r\nimport { employerBalances_Data } from './selectors';\r\nimport { memberAccountDropdown_SelectedAccount } from 'src/app/modules/shared/components/member-account-dropdown/selectors';\r\nimport { CIRTState } from '../../store/cirt.states';\r\nimport { MemberPortalSharedState } from 'src/app/modules/shared/store/shared.states';\r\nimport { AsyncPipe, CurrencyPipe, DatePipe, NgFor } from '@angular/common';\r\nimport { DashPipe } from '@ifaa-components/ui-components';\r\n\r\n@Component({\r\n selector: 'app-employer-balances',\r\n templateUrl: './employer-balances.component.html',\r\n styleUrls: ['./employer-balances.component.scss'],\r\n imports: [NgFor, AsyncPipe, DatePipe, DashPipe, CurrencyPipe],\r\n})\r\nexport class EmployerBalancesComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n data$ = this.cirtstore.pipe(select(employerBalances_Data));\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n\r\n constructor(\r\n public store: Store,\r\n public cirtstore: Store\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n this.sub = this.selectedAccount$.subscribe((x) => {\r\n if (x) {\r\n this.dispatch(this.store, RequestAction({ accountId: x.accountId }));\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Employer NameStart DateEnd DateCIRT Severance Contribution TotalAmount ClaimedAvailable Balance
{{item.employerName}}{{item.startDate | date:'dd/MM/yyyy'}}{{item.endDate | date:'dd/MM/yyyy'}}{{item.employerSeverance | currency | dash}}{{item.severanceClaimed | currency | dash}}{{item.availableBalance | currency | dash}}
\r\n\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { RequestAction } from './actions';\r\nimport { ComponentBase } from '../../../../views/component-base';\r\nimport { memberAccountDropdown_SelectedAccount } from 'src/app/modules/shared/components/member-account-dropdown/selectors';\r\nimport { MemberPortalSharedState } from 'src/app/modules/shared/store/shared.states';\r\nimport { jetcoClaimAmount_Amount } from './selectors';\r\nimport { Helper } from '@ifaa-components/ui-components';\r\nimport { CIRTState } from '../../store/cirt.states';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { AsyncPipe, CurrencyPipe } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-jetco-claim-amount',\r\n templateUrl: './jetco-claim-amount.component.html',\r\n styleUrls: ['./jetco-claim-amount.component.scss'],\r\n imports: [AppComponentWrapperComponent, MatIcon, AsyncPipe, CurrencyPipe],\r\n})\r\nexport class JetcoClaimComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n amount$ = this.cirtstore.pipe(select(jetcoClaimAmount_Amount));\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n fy: string = '';\r\n\r\n constructor(\r\n public store: Store,\r\n public cirtstore: Store\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n var helper = new Helper();\r\n var fy = helper.getFinancialYear(new Date());\r\n this.fy = fy.from.getFullYear() + '/' + fy.to.getFullYear();\r\n\r\n this.sub = this.selectedAccount$.subscribe((x) => {\r\n if (x) {\r\n this.dispatch(\r\n this.store,\r\n RequestAction({\r\n start: fy.from.toISOString(),\r\n end: fy.to.toISOString(),\r\n })\r\n );\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n work\r\n
\r\n
\r\n

Jetco Claim Amount

\r\n
{{fy}}
\r\n\r\n
\r\n \r\n {{amount$ | async | currency}}\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { insuranceQuestionnaire_ShowQuestionnaire } from 'src/app/modules/shared/components/insurance-questionnaire/selectors';\r\nimport { memberAccountDropdown_SelectedAccount } from 'src/app/modules/shared/components/member-account-dropdown/selectors';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { CIRTState } from '../../store/cirt.states';\r\nimport { jetcoClaimAmount_Amount } from '../../components/jetco-claim-amount/selectors';\r\nimport { FeatureToggleName } from 'src/app/model/feature-toggle-name.model';\r\nimport { NgClass, NgIf, AsyncPipe } from '@angular/common';\r\nimport { AppToolbarOptionsComponent } from '@ifaa-components/ui-components';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { HistoricalChartViewComponent } from 'src/app/modules/shared/components/historical-chart/account-bal-with-graph/historical-chart-view.component';\r\nimport { MemberViewOverviewComponent } from 'src/app/modules/shared/components/member-view-overview/member-view-overview.component';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { FeatureToggleDirective } from 'src/app/modules/shared/directives/feature-toggle.directive';\r\nimport { CurrentEmployerViewComponent } from '../../components/current-employer/current-employer/current-employer-view.component';\r\nimport { EmployerBalancesComponent } from '../../components/employer-balances/employer-balances.component';\r\nimport { JetcoClaimComponent } from '../../components/jetco-claim-amount/jetco-claim-amount.component';\r\n\r\n@Component({\r\n selector: 'app-tenant-dashboard',\r\n templateUrl: './dashboard.component.html',\r\n styleUrls: ['./dashboard.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n\r\n imports: [\r\n AppToolbarOptionsComponent,\r\n AnimateCssDirective,\r\n MemberViewOverviewComponent,\r\n FeatureToggleDirective,\r\n NgClass,\r\n NgIf,\r\n AsyncPipe,\r\n CurrentEmployerViewComponent,\r\n JetcoClaimComponent,\r\n AppComponentWrapperComponent,\r\n HistoricalChartViewComponent,\r\n EmployerBalancesComponent,\r\n ],\r\n})\r\nexport class TenantDashboardComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n showQuestionnaire$ = this.store.pipe(\r\n select(insuranceQuestionnaire_ShowQuestionnaire)\r\n );\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n jetco_amount$ = this.cirtstore.pipe(select(jetcoClaimAmount_Amount));\r\n\r\n memberProfileSummaryFeatureToggle =\r\n FeatureToggleName.member.memberProfileSummary.view;\r\n currentEmployerSummaryFeatureToggle =\r\n FeatureToggleName.member.account.currentEmployer.view;\r\n jetcoClaimSummaryFeatureToggle =\r\n FeatureToggleName.member.account.JetcoClaim.view;\r\n accountBalWithGraphFeatureToggle =\r\n FeatureToggleName.member.account.accountBalWithGraph.view;\r\n employerBalancesSummaryFeatureToggle =\r\n FeatureToggleName.member.account.employerBalances.view;\r\n\r\n constructor(\r\n public store: Store,\r\n public cirtstore: Store\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
Overview
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n 992 ? 'flex-row' : 'flex-column'\r\n }} w-100\"\r\n >\r\n 992 }\"\r\n >\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n \r\n\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n\r\n","import { AppState } from 'src/app/store/app.states';\r\nimport { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { IAccountFeesState } from './state';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { featureKey } from '../../store/shared.reducers';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const accountFees = createSelector(memberPortalState, (state) => state.accountFeesState);\r\n\r\nexport const accountFees_Model = createSelector(\r\n accountFees,\r\n (state: IAccountFeesState) => state.model\r\n);\r\n","import { AppState } from './../../../../store/app.states';\r\nimport { accountFees_Model } from './selectors';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { RequestAction } from './actions';\r\nimport { ComponentBase } from '../../../../views/component-base';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { Router } from '@angular/router';\r\nimport { commomState_SystemConfig_Config } from 'src/app/store/common/common.selectors';\r\nimport { FeatureToggleName } from 'src/app/model/feature-toggle-name.model';\r\nimport { memberAccountDropdown_SelectedAccount } from '../member-account-dropdown/selectors';\r\nimport { NgIf, AsyncPipe, CurrencyPipe } from '@angular/common';\r\nimport { AppReadonlyComponent, DashPipe } from '@ifaa-components/ui-components';\r\n\r\n@Component({\r\n selector: 'app-account-fees',\r\n templateUrl: './account-fees.component.html',\r\n styleUrls: ['./account-fees.component.scss'],\r\n imports: [NgIf, AppReadonlyComponent, AsyncPipe, CurrencyPipe, DashPipe],\r\n})\r\nexport class AccountFeesComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n model$ = this.appstore.pipe(select(accountFees_Model));\r\n tenantConfig$ = this.appstore.pipe(select(commomState_SystemConfig_Config));\r\n\r\n viewProfileDetailsFeatureToggle =\r\n FeatureToggleName.member.personalDetails.view;\r\n changePasswordFeatureToggle = FeatureToggleName.member.changePassword.view;\r\n selected$ = this.store.pipe(select(memberAccountDropdown_SelectedAccount));\r\n\r\n @Input() itemclass: string = 'w-50';\r\n\r\n constructor(\r\n public store: Store,\r\n public appstore: Store\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.sub = this.selected$.subscribe((account) => {\r\n if (account) {\r\n this.dispatch(\r\n this.store,\r\n RequestAction({ accountId: account.accountId })\r\n );\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { featureKey } from '../../store/shared.reducers';\r\nimport { IAccountSummaryState } from './state';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const accountSumary = createSelector(memberPortalState, (state) => state.accountSummaryState);\r\n\r\nexport const accountSummary_Data = createSelector(\r\n accountSumary,\r\n (state: IAccountSummaryState) => state.accountSummary\r\n);\r\n","import { accountSummary_Data } from './selectors';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { ComponentBase } from '../../../../views/component-base';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { memberAccountDropdown_SelectedAccount } from '../member-account-dropdown/selectors';\r\nimport { AccountSummaryRequestAction } from './actions';\r\nimport { ProgressBarMode } from '@angular/material/progress-bar';\r\nimport { NgIf, AsyncPipe, CurrencyPipe, DatePipe } from '@angular/common';\r\nimport { AppReadonlyComponent } from '@ifaa-components/ui-components';\r\nimport { AppComponentWrapperComponent } from '../app-component-wrapper/app-component-wrapper.component';\r\n\r\n@Component({\r\n selector: 'app-account-summary',\r\n templateUrl: './account-summary.component.html',\r\n styleUrls: ['./account-summary.component.scss'],\r\n imports: [\r\n AppComponentWrapperComponent,\r\n NgIf,\r\n AppReadonlyComponent,\r\n AsyncPipe,\r\n CurrencyPipe,\r\n DatePipe,\r\n ],\r\n})\r\nexport class AccountSummaryComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n accountSummary$ = this.store.pipe(select(accountSummary_Data));\r\n mode: ProgressBarMode = 'determinate';\r\n\r\n constructor(public store: Store) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n this.sub = this.selectedAccount$.subscribe((x) => {\r\n if (x) {\r\n this.dispatch(\r\n this.store,\r\n AccountSummaryRequestAction({ accountId: x.accountId })\r\n );\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { AppComponentWrapperComponent } from '../app-component-wrapper/app-component-wrapper.component';\r\n\r\n@Component({\r\n selector: 'app-defined-benefit-account-summary',\r\n templateUrl: './defined-benefit-account-summary.component.html',\r\n styleUrls: ['./defined-benefit-account-summary.component.scss'],\r\n imports: [AppComponentWrapperComponent, MatIcon],\r\n})\r\nexport class DefinedBenefitAccountSummaryComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n constructor(public store: Store) {\r\n super();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInitBase();\r\n }\r\n}\r\n","\r\n
\r\n
Account Summary
\r\n
\r\n info

Please get in touch with the smartMonday Contact Centre if you require a defined benefit estimate on 1300 614 644 or enquiry@smartmonday.com.au.

\r\n
\r\n
\r\n
","import { historicalChartView_Model } from './../selectors';\r\nimport { AfterViewInit, Component, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { ComponentBase } from '../../../../../views/component-base';\r\nimport { AppState } from '../../../../../store/app.states';\r\nimport { MemberPortalSharedState } from '../../../store/shared.states';\r\nimport { memberAccountDropdown_SelectedAccount } from '../../member-account-dropdown/selectors';\r\nimport { TranslatePipe, TranslateService } from '@ngx-translate/core';\r\nimport { FeatureToggleName } from 'src/app/model/feature-toggle-name.model';\r\nimport { FeatureToggleHelper } from 'src/app/helper/featureToggleHelper';\r\nimport { commonState_SystemConfig_AccountFeatureToggles } from 'src/app/store/common/common.selectors';\r\nimport { RequestAction } from '../actions';\r\nimport { NgIf, AsyncPipe, CurrencyPipe, DatePipe } from '@angular/common';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MatTooltip } from '@angular/material/tooltip';\r\nimport { RouterLink } from '@angular/router';\r\nimport { AppButtonComponent } from '@ifaa-components/ui-components';\r\nimport { FeatureToggleDirective } from '../../../directives/feature-toggle.directive';\r\n\r\n@Component({\r\n selector: 'app-account-bal-without-graph',\r\n templateUrl: './account-bal-without-graph.component.html',\r\n styleUrls: ['./account-bal-without-graph.component.scss'],\r\n imports: [\r\n MatIcon,\r\n NgIf,\r\n MatTooltip,\r\n FeatureToggleDirective,\r\n AppButtonComponent,\r\n RouterLink,\r\n AsyncPipe,\r\n CurrencyPipe,\r\n DatePipe,\r\n TranslatePipe,\r\n ],\r\n})\r\nexport class AccountBalWithoutGraphComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy, AfterViewInit\r\n{\r\n model$ = this.store.pipe(select(historicalChartView_Model));\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n accountFeatureToggles$ = this.appStore.pipe(\r\n select(commonState_SystemConfig_AccountFeatureToggles)\r\n );\r\n\r\n viewTransactionsFeatureToggle =\r\n FeatureToggleName.member.account.transactions.view;\r\n viewOtherStatementsFeatureToggle =\r\n FeatureToggleName.member.account.viewStatements.view;\r\n lodgeCirtClaimFeatureToggle =\r\n FeatureToggleName.member.account.lodgeCirtClaim.view;\r\n jetcoClaimFeatureToggle = FeatureToggleName.member.account.JetcoClaim.view;\r\n\r\n featureToggleHelper = new FeatureToggleHelper();\r\n\r\n constructor(\r\n public store: Store,\r\n public appStore: Store,\r\n public translate: TranslateService\r\n ) {\r\n super();\r\n }\r\n\r\n ngAfterViewInit() {}\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n this.sub = this.selectedAccount$.subscribe((x) => {\r\n if (x) {\r\n var nextSearch = {\r\n accountId: x.accountId,\r\n from: null,\r\n to: null,\r\n };\r\n this.dispatch(this.store, RequestAction(nextSearch));\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n \r\n \r\n
\r\n
\r\n
\r\n paid\r\n
\r\n
\r\n
\r\n

{{ (model$ | async).totalAmount | currency }}

\r\n

\r\n {{ \"HISTORICAL_CHART_VIEW.BALANCE_AS_AT\" | translate }}\r\n {{ (model$ | async).asAt | date : \"dd MMM yyyy\" }}\r\n\r\n help_outline\r\n

\r\n
\r\n
\r\n \r\n info\r\n
\r\n {{ \"HISTORICAL_CHART_VIEW.TEMPORARILY_UNAVAILABLE\" | translate }}\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n
\r\n\r\n","import { MemberPortalSharedState } from './../../store/shared.states';\r\nimport { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { featureKey } from '../../store/shared.reducers';\r\n\r\nimport { IInvestmentEditState } from './state';\r\nimport { stat } from 'fs';\r\n\r\nexport const investmentPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const editinvestment = createSelector(investmentPortalState, (state) => state.investmentEditState);\r\n\r\nexport const editinvestment_Form = createSelector(\r\n editinvestment,\r\n (state: IInvestmentEditState) => state.form\r\n);\r\n\r\nexport const editinvestment_LastModified = createSelector(\r\n editinvestment,\r\n (state: IInvestmentEditState) => state.lastModifiedTime\r\n);\r\n\r\nexport const editinvestment_CurrentStep = createSelector(\r\n editinvestment,\r\n (state: IInvestmentEditState) => state.currentStep\r\n);\r\nexport const editinvestment_originalCurrentInfo = createSelector(\r\n editinvestment,\r\n (state: IInvestmentEditState) => state.originalCurrentInfo\r\n);\r\n\r\nexport const editinvestment_FailedPerformanceMessage = createSelector(\r\n editinvestment,\r\n (state: IInvestmentEditState) => state.failedPerformanceMessage\r\n);\r\n\r\nexport const editinvestment_Steps = createSelector(\r\n editinvestment,\r\n (state: IInvestmentEditState) => state.steps\r\n);\r\n\r\nexport const editinvestment_SubmitText = createSelector(\r\n editinvestment,\r\n (state: IInvestmentEditState) => state.submitText\r\n);\r\n\r\nexport const editinvestment_currentInfo = createSelector(\r\n editinvestment,\r\n (state: IInvestmentEditState) => state.currentInfo\r\n);\r\n\r\nexport const editinvestment_InvestmentCustomWording = createSelector(\r\n editinvestment,\r\n (state: IInvestmentEditState) => state.options?.investmentCustomWording\r\n);\r\n\r\nexport const editinvestment_CurrentIsSum100Percent = createSelector(\r\n editinvestment,\r\n (state: IInvestmentEditState) => state.form.value.current.reduce((a, b) => a + b.percentage, 0) == 100 && state.form.isValid\r\n);\r\n\r\nexport const editinvestment_CurrentTotalPercent = createSelector(\r\n editinvestment,\r\n (state: IInvestmentEditState) => state.form.value.current.reduce((a, b) => a + b.percentage, 0)\r\n);\r\n\r\nexport const editinvestment_FutureIsSum100Percent = createSelector(\r\n editinvestment,\r\n (state: IInvestmentEditState) => state.form.value.future.reduce((a, b) => a + b.percentage, 0) == 100 && state.form.isValid\r\n);\r\n\r\nexport const editinvestment_FutureTotalPercent = createSelector(\r\n editinvestment,\r\n (state: IInvestmentEditState) => state.form.value.future.reduce((a, b) => a + b.percentage, 0)\r\n);\r\n\r\nexport const editinvestment_IsLastStep = createSelector(\r\n editinvestment,\r\n (state: IInvestmentEditState) => {\r\n var last = state.steps[state.steps.length - 1];\r\n return state.currentStep == last;\r\n }\r\n);\r\n\r\nexport const editinvestment_AllDisclaimerChecked = createSelector(\r\n editinvestment,\r\n (state: IInvestmentEditState) => {\r\n\r\n return state.form.value.disclaimer;\r\n }\r\n);\r\n\r\nexport const editinvestment_IsSimpleSwitch = createSelector(\r\n editinvestment,\r\n (state: IInvestmentEditState) => {\r\n return state.isSimpleSwitch;\r\n }\r\n)\r\n","import { NgIf, NgFor, CurrencyPipe } from '@angular/common';\r\nimport { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { InvestmentItemModel } from 'src/app/model/investment-item.model';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\n\r\n@Component({\r\n selector: 'app-investment-edit-hover',\r\n templateUrl: './investment-edit-hover.component.html',\r\n styleUrls: ['./investment-edit-hover.component.scss'],\r\n imports: [NgIf, NgFor, CurrencyPipe, TranslatePipe],\r\n})\r\nexport class InvestmentEditHoverComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n @Input() set hiddenOptions(value: InvestmentItemModel[]) {\r\n this.hiddenOps = value;\r\n }\r\n\r\n @Input() set option(value: InvestmentItemModel) {\r\n this.compositeOption = value;\r\n }\r\n\r\n @Input() showDollarCol: boolean = false;\r\n\r\n compositeOption: InvestmentItemModel = null;\r\n hiddenOps: InvestmentItemModel[] = [];\r\n relevantOptions: InvestmentItemModel[] = [];\r\n\r\n ngOnDestroy(): void {\r\n super.ngOnDestroyBase();\r\n }\r\n ngOnInit(): void {\r\n this.relevantOptions = this.hiddenOps.filter(\r\n (x) => x.compositeOptionId === this.compositeOption.optionId\r\n );\r\n }\r\n}\r\n"," 0\">\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Option%$
{{hiddenItem.option}}{{hiddenItem.percentage}}%{{hiddenItem.amount | currency}}
\r\n
\r\n
\r\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { FeatureToggleName } from 'src/app/model/feature-toggle-name.model';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { MemberPortalSharedState } from '../../../store/shared.states';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { MatBottomSheet } from '@angular/material/bottom-sheet';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { Router, RouterLink } from '@angular/router';\r\nimport {\r\n GoToStepAction,\r\n RequestAction,\r\n RequestCurrentDataAction,\r\n RequestOptionsDataAction,\r\n SetIsPensionAction,\r\n SetStepsAction,\r\n SetSubmitText,\r\n} from '../actions';\r\nimport {\r\n editinvestment_CurrentStep,\r\n editinvestment_LastModified,\r\n editinvestment_currentInfo,\r\n} from '../selectors';\r\nimport {\r\n commomState_SystemConfig_Config,\r\n commomState_SystemConfig_FeatureToggle,\r\n} from 'src/app/store/common/common.selectors';\r\nimport { memberAccountDropdown_SelectedAccount } from '../../member-account-dropdown/selectors';\r\nimport { Helper } from '@ifaa-components/ui-components';\r\nimport { CurrentInvestmentModel } from '../state';\r\nimport {\r\n NgIf,\r\n AsyncPipe,\r\n NgClass,\r\n NgFor,\r\n CurrencyPipe,\r\n DatePipe,\r\n} from '@angular/common';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MatTooltip } from '@angular/material/tooltip';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { FeatureToggleDirective } from '../../../directives/feature-toggle.directive';\r\nimport { InvestmentEditHoverComponent } from '../investment-edit-hover/investment-edit-hover.component';\r\n\r\n@Component({\r\n selector: 'app-investment-complex-view',\r\n templateUrl: './investment-complex-view.component.html',\r\n styleUrls: ['./investment-complex-view.component.scss'],\r\n imports: [\r\n FeatureToggleDirective,\r\n NgIf,\r\n AsyncPipe,\r\n NgClass,\r\n MatIcon,\r\n MatTooltip,\r\n NgFor,\r\n InvestmentEditHoverComponent,\r\n RouterLink,\r\n CurrencyPipe,\r\n DatePipe,\r\n TranslatePipe,\r\n ],\r\n})\r\nexport class InvestmentComplexViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n public _showOptions: boolean = true;\r\n @Input() set showOptions(showOptions: boolean) {\r\n if (showOptions) this.maxShow = -1;\r\n else {\r\n this.maxShow = 3;\r\n\r\n this._showOptions = showOptions;\r\n }\r\n }\r\n @Input() isDashboardView: boolean = false;\r\n\r\n updateInvestmentsFeatureToggle =\r\n FeatureToggleName.member.account.manageInvestments.update;\r\n\r\n lastModified$ = this.store.pipe(select(editinvestment_LastModified));\r\n tenantConfig$ = this.appstore.pipe(select(commomState_SystemConfig_Config));\r\n featuretoggle$ = this.appstore.pipe(\r\n select(commomState_SystemConfig_FeatureToggle)\r\n );\r\n currentStep$ = this.appstore.pipe(select(editinvestment_CurrentStep));\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n currentInfo$ = this.store.pipe(select(editinvestment_currentInfo));\r\n accountId = 0;\r\n submitText = '';\r\n helper = new Helper();\r\n isPensionAccount: boolean = false;\r\n steps: number[] = [];\r\n maxShow: number = -1;\r\n\r\n constructor(\r\n public store: Store,\r\n public appstore: Store,\r\n private bottomSheet: MatBottomSheet,\r\n private router: Router\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n this.sub = this.lastModified$.subscribe(async (x) => {\r\n if (x) {\r\n this.dispatch(this.store, GoToStepAction({ step: 4 }));\r\n }\r\n });\r\n\r\n this.sub = this.selectedAccount$.subscribe((x) => {\r\n if (x) {\r\n this.dispatch(this.store, RequestAction());\r\n\r\n this.isPensionAccount = x.accountTypeName == 'Pension' || x.isTtrType;\r\n this.accountId = x.accountId;\r\n this.dispatch(\r\n this.store,\r\n SetIsPensionAction({ payload: this.isPensionAccount })\r\n );\r\n this.dispatch(\r\n this.store,\r\n RequestCurrentDataAction({ account: x.accountId })\r\n );\r\n this.dispatch(\r\n this.store,\r\n RequestOptionsDataAction({ account: x.accountId })\r\n );\r\n }\r\n });\r\n }\r\n filterCurrent(list) {\r\n if (!list) return list;\r\n\r\n if (this.maxShow == 3) {\r\n return list.slice(0, 3);\r\n } else {\r\n return list;\r\n }\r\n }\r\n\r\n filterFuture(list: any[]) {\r\n if (!list) return list;\r\n list = list.filter((o) => o.percentage > 0);\r\n if (this.maxShow == 3) {\r\n return list.slice(0, 3);\r\n } else {\r\n return list;\r\n }\r\n }\r\n\r\n getAsAtBalanceDate(data: CurrentInvestmentModel) {\r\n if (data.current.length > 0) return data.current[0].asAt;\r\n return '';\r\n }\r\n\r\n trackByFn(index, item) {\r\n return index;\r\n }\r\n\r\n onEditItemClick(step: number, steps: number[], isDisabled: boolean) {\r\n if (isDisabled) return;\r\n\r\n this.setupMessage(step, steps);\r\n\r\n this.dispatch(this.store, GoToStepAction({ step }));\r\n if (steps.length > 0) {\r\n this.steps = steps;\r\n this.dispatch(this.store, SetStepsAction({ steps }));\r\n }\r\n }\r\n\r\n setupMessage(step: number, steps: number[]) {\r\n if (steps.length == 3) {\r\n if (step == 1) {\r\n if (this.isPensionAccount) {\r\n this.submitText = `

We have received your request to update your current investment balance.

\r\n

This will be processed when the unit price for today is advised (Approx. 2 business days).

\r\n

You will be notified when the investment switch has been processed.

`;\r\n } else {\r\n this.submitText = `

We have received your request to update your current investment balance.

\r\n

This will be processed when the unit price for today is advised (Approx 2 business days).

\r\n

You will be notified when the investment switch has been processed.

`;\r\n }\r\n this.dispatch(\r\n this.store,\r\n SetSubmitText({ submitText: this.submitText })\r\n );\r\n }\r\n if (step == 2) {\r\n if (this.isPensionAccount) {\r\n this.submitText = `

We have received your request to update your future pension payment drawdown.

\r\n

This will be actioned immediately.

`;\r\n } else {\r\n this.submitText = `

We have received your request to update your future contribution and rollover investments.

\r\n

This will be actioned immediately.

`;\r\n }\r\n this.dispatch(\r\n this.store,\r\n SetSubmitText({ submitText: this.submitText })\r\n );\r\n }\r\n return;\r\n }\r\n if (steps.length == 4) {\r\n if (this.isPensionAccount) {\r\n this.submitText = `

We have received your request to update your current investment options and your future pension payment drawdown.

\r\n

Any change to the future pension payments will be effective immediately.

\r\n

Any change to your investment options will be processed when the unit price for today is advised (Approx 2 business days).

\r\n

You will be notified when the investment switch has been processed.

`;\r\n } else {\r\n this.submitText = `

We have received your request to update your current investment balance and your future contributions.

\r\n

Any change to the future contributions will be effective immediately.

\r\n

Any change to your investment balance (switch) will be processed when the unit price for today is advised (Approx 2 business days).

\r\n

You will be notified when the investment switch has been processed.

`;\r\n }\r\n this.dispatch(this.store, SetSubmitText({ submitText: this.submitText }));\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n onShowMoreOrLess() {\r\n this.maxShow = this.maxShow == 3 ? -1 : 3;\r\n }\r\n}\r\n","
\r\n \r\n
\r\n

What would you like to do?

\r\n
\r\n
\r\n \r\n
\r\n currency_exchange\r\n
\r\n
\r\n Change where my balance is currently invested\r\n
\r\n
\r\n keyboard_arrow_right\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n monetization_on\r\n
\r\n
\r\n \r\n Change where my future contributions are invested\r\n \r\n \r\n Change where my pension payments are paid from\r\n \r\n
\r\n
\r\n keyboard_arrow_right\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n display_settings\r\n
\r\n
\r\n \r\n Change where both my current balance and future contributions\r\n are invested\r\n \r\n \r\n Change both my current balance and future pension payments\r\n \r\n
\r\n
\r\n keyboard_arrow_right\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n

Current Options

\r\n
\r\n
\r\n
\r\n

\r\n
\r\n Your balance is currently invested in\r\n \r\n help_outline\r\n
\r\n\r\n \r\n hourglass_top\r\n Pending Changes\r\n

\r\n \r\n
\r\n \r\n \r\n \r\n Option\r\n %\r\n $\r\n \r\n \r\n \r\n \r\n \r\n {{ item.option }}\r\n {{ item.percentage }}%\r\n {{ item.amount | currency }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n

\r\n \r\n Any future contributions or rollovers received into the fund will be\r\n invested in\r\n

\r\n \r\n Any future pension payments to be paid from\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Option\r\n %\r\n \r\n \r\n \r\n \r\n \r\n {{ item.option }}\r\n {{ item.percentage }}%\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n 3 ||\r\n (currentInfo$ | async)?.future?.length > 3\r\n \"\r\n class=\"moreLess\"\r\n >\r\n {{\r\n maxShow == 3 ? \"Read more\" : \"Read less\"\r\n }}\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n\r\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { MemberPortalSharedState } from '../../../store/shared.states';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { MatBottomSheet } from '@angular/material/bottom-sheet';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { Router } from '@angular/router';\r\nimport { AppButtonComponent, Helper } from '@ifaa-components/ui-components';\r\nimport { FeatureToggleName } from 'src/app/model/feature-toggle-name.model';\r\nimport {\r\n editinvestment_CurrentStep,\r\n editinvestment_LastModified,\r\n editinvestment_currentInfo,\r\n} from '../selectors';\r\nimport {\r\n commomState_SystemConfig_Config,\r\n commomState_SystemConfig_FeatureToggle,\r\n} from 'src/app/store/common/common.selectors';\r\nimport { memberAccountDropdown_SelectedAccount } from '../../member-account-dropdown/selectors';\r\nimport {\r\n GoToStepAction,\r\n RequestAction,\r\n RequestCurrentDataAction,\r\n RequestOptionsDataAction,\r\n SetIsPensionAction,\r\n SetIsSimpleSwitch,\r\n SetStepsAction,\r\n SetSubmitText,\r\n} from '../actions';\r\nimport { CurrentInvestmentModel } from '../state';\r\nimport {\r\n NgIf,\r\n NgFor,\r\n AsyncPipe,\r\n CurrencyPipe,\r\n DatePipe,\r\n} from '@angular/common';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MatTooltip } from '@angular/material/tooltip';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { AppButtonDirective } from '../../../directives/appbutton.directive';\r\nimport { FeatureToggleDirective } from '../../../directives/feature-toggle.directive';\r\n\r\n@Component({\r\n selector: 'app-investment-simple-view',\r\n templateUrl: './investment-simple-view.component.html',\r\n styleUrls: ['./investment-simple-view.component.scss'],\r\n imports: [\r\n NgIf,\r\n MatIcon,\r\n MatTooltip,\r\n NgFor,\r\n FeatureToggleDirective,\r\n AppButtonComponent,\r\n AppButtonDirective,\r\n AsyncPipe,\r\n CurrencyPipe,\r\n DatePipe,\r\n TranslatePipe,\r\n ],\r\n})\r\nexport class InvestmentSimpleViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n public _showOptions: boolean = true;\r\n @Input() set showOptions(showOptions: boolean) {\r\n if (showOptions) this.maxShow = -1;\r\n else {\r\n this.maxShow = 3;\r\n\r\n this._showOptions = showOptions;\r\n }\r\n }\r\n @Input() isDashboardView: boolean = false;\r\n\r\n updateInvestmentsFeatureToggle =\r\n FeatureToggleName.member.account.manageInvestments.update;\r\n\r\n lastModified$ = this.store.pipe(select(editinvestment_LastModified));\r\n tenantConfig$ = this.appstore.pipe(select(commomState_SystemConfig_Config));\r\n featuretoggle$ = this.appstore.pipe(\r\n select(commomState_SystemConfig_FeatureToggle)\r\n );\r\n currentStep$ = this.appstore.pipe(select(editinvestment_CurrentStep));\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n currentInfo$ = this.store.pipe(select(editinvestment_currentInfo));\r\n accountId = 0;\r\n submitText = '';\r\n helper = new Helper();\r\n isPensionAccount: boolean = false;\r\n steps: number[] = [];\r\n maxShow: number = -1;\r\n\r\n constructor(\r\n public store: Store,\r\n public appstore: Store,\r\n private bottomSheet: MatBottomSheet,\r\n private router: Router\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.dispatch(this.store, SetIsSimpleSwitch());\r\n this.sub = this.lastModified$.subscribe(async (x) => {\r\n if (x) {\r\n this.dispatch(this.store, GoToStepAction({ step: 4 }));\r\n }\r\n });\r\n\r\n this.sub = this.selectedAccount$.subscribe((x) => {\r\n if (x) {\r\n this.dispatch(this.store, RequestAction());\r\n\r\n this.isPensionAccount = x.accountTypeName == 'Pension' || x.isTtrType;\r\n this.accountId = x.accountId;\r\n this.dispatch(\r\n this.store,\r\n SetIsPensionAction({ payload: this.isPensionAccount })\r\n );\r\n this.dispatch(\r\n this.store,\r\n RequestCurrentDataAction({ account: x.accountId })\r\n );\r\n this.dispatch(\r\n this.store,\r\n RequestOptionsDataAction({ account: x.accountId })\r\n );\r\n }\r\n });\r\n }\r\n filterCurrent(list) {\r\n if (!list) return list;\r\n\r\n if (this.maxShow == 3) {\r\n return list.slice(0, 3);\r\n } else {\r\n return list;\r\n }\r\n }\r\n\r\n filterFuture(list: any[]) {\r\n if (!list) return list;\r\n list = list.filter((o) => o.percentage > 0);\r\n if (this.maxShow == 3) {\r\n return list.slice(0, 3);\r\n } else {\r\n return list;\r\n }\r\n }\r\n\r\n getAsAtBalanceDate(data: CurrentInvestmentModel) {\r\n if (data.current.length > 0) return data.current[0].asAt;\r\n return '';\r\n }\r\n\r\n trackByFn(index, item) {\r\n return index;\r\n }\r\n\r\n onEditItemClick(step: number, steps: number[], isDisabled: boolean) {\r\n if (isDisabled) return;\r\n\r\n this.setupMessage(step, steps);\r\n\r\n this.dispatch(this.store, GoToStepAction({ step }));\r\n if (steps.length > 0) {\r\n this.steps = steps;\r\n this.dispatch(this.store, SetStepsAction({ steps }));\r\n }\r\n }\r\n\r\n setupMessage(step: number, steps: number[]) {\r\n if (steps.length == 3) {\r\n this.submitText = `

We have received your request to update your current investment options and your future contributions or rollovers.

\r\n

The change to the future contributions will be effective immediately.

\r\n

The change to your investment options will be processed when the unit price for today is advised (Approx 2 business days)

\r\n

You will be notified when the investment switch has been processed.

`;\r\n\r\n this.dispatch(this.store, SetSubmitText({ submitText: this.submitText }));\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n onShowMoreOrLess() {\r\n this.maxShow = this.maxShow == 3 ? -1 : 3;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n Your current balance and future contributions or rollovers\r\n received into the fund will be invested in\r\n

\r\n

\r\n Your current balance is invested in\r\n

\r\n \r\n help_outline\r\n
\r\n 0\r\n \"\r\n >\r\n Your entire balance is currently invested in\r\n {{ filterCurrent((currentInfo$ | async)?.current)[0].option }} and\r\n this is where your future pension payments will be paid from\r\n
\r\n\r\n \r\n hourglass_top\r\n Pending Changes\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Option\r\n %\r\n $\r\n \r\n \r\n \r\n \r\n \r\n {{ item.option }}\r\n {{ item.percentage }}%\r\n {{ item.amount | currency }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n You have a pending switch request which will be processed as soon as the\r\n unit price for the requested date has been loaded.\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n\r\n","import {\r\n editinvestment_AllDisclaimerChecked,\r\n editinvestment_currentInfo,\r\n editinvestment_CurrentIsSum100Percent,\r\n editinvestment_CurrentStep,\r\n editinvestment_CurrentTotalPercent,\r\n editinvestment_Form,\r\n editinvestment_FutureIsSum100Percent,\r\n editinvestment_FutureTotalPercent,\r\n editinvestment_IsLastStep,\r\n editinvestment_LastModified,\r\n editinvestment_Steps,\r\n editinvestment_SubmitText,\r\n editinvestment_InvestmentCustomWording,\r\n editinvestment_FailedPerformanceMessage,\r\n editinvestment_IsSimpleSwitch,\r\n editinvestment_originalCurrentInfo,\r\n} from './selectors';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport {\r\n GoToStepAction,\r\n RequestAction,\r\n ResetAction,\r\n SetIsPensionAction,\r\n SubmitRequestAction,\r\n} from './actions';\r\nimport { ComponentBase } from '../../../../views/component-base';\r\nimport { AppState } from '../../../../store/app.states';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n commomState_SystemConfig_Config,\r\n commomState_SystemConfig_FeatureToggle,\r\n commonState_IsSending,\r\n} from 'src/app/store/common/common.selectors';\r\nimport { CurrentInvestmentModel } from './state';\r\nimport { memberAccountDropdown_SelectedAccount } from '../member-account-dropdown/selectors';\r\nimport {\r\n AppButtonComponent,\r\n EntryCheckboxFieldComponent,\r\n Helper,\r\n NumberEntryFieldComponent,\r\n} from '@ifaa-components/ui-components';\r\nimport { MatBottomSheet } from '@angular/material/bottom-sheet';\r\nimport { FeatureToggleName } from 'src/app/model/feature-toggle-name.model';\r\nimport { distinctUntilChanged } from 'rxjs/operators';\r\nimport {\r\n FormArrayState,\r\n FormGroupState,\r\n NgrxFormsModule,\r\n SetErrorsAction,\r\n} from 'ngrx-forms';\r\nimport { InvestmentItemModel } from 'src/app/model/investment-item.model';\r\nimport { NgIf, AsyncPipe, NgFor, CurrencyPipe, NgClass } from '@angular/common';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { AnimateCssDirective } from '../../directives/animatecss.directive';\r\nimport { AppButtonDirective } from '../../directives/appbutton.directive';\r\nimport { FeatureToggleDirective } from '../../directives/feature-toggle.directive';\r\nimport { InputScrollDirective } from '../../directives/input-scroll.directive';\r\nimport { InvestmentComplexViewComponent } from './investment-complex-view/investment-complex-view.component';\r\nimport { InvestmentSimpleViewComponent } from './investment-simple-view/investment-simple-view.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { environment } from '../../../../../environments/environment';\r\n\r\n@Component({\r\n selector: 'app-investment-edit',\r\n templateUrl: './investment-edit.component.html',\r\n styleUrls: ['./investment-edit.component.scss'],\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n AnimateCssDirective,\r\n InvestmentComplexViewComponent,\r\n TranslatePipe,\r\n InvestmentSimpleViewComponent,\r\n FeatureToggleDirective,\r\n NgFor,\r\n CurrencyPipe,\r\n NumberEntryFieldComponent,\r\n InputScrollDirective,\r\n NgClass,\r\n AppButtonComponent,\r\n EntryCheckboxFieldComponent,\r\n AppButtonDirective,\r\n NgrxFormsModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ],\r\n})\r\nexport class InvestmentEditComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n public _showOptions: boolean = true;\r\n @Input() set showOptions(showOptions: boolean) {\r\n if (showOptions) this.maxShow = -1;\r\n else {\r\n this.maxShow = 3;\r\n\r\n this._showOptions = showOptions;\r\n }\r\n }\r\n @Input() isDashboardView: boolean = false;\r\n\r\n updateInvestmentsFeatureToggle =\r\n FeatureToggleName.member.account.manageInvestments.update;\r\n\r\n form$ = this.store.pipe(select(editinvestment_Form));\r\n lastModified$ = this.store.pipe(select(editinvestment_LastModified));\r\n submitText$ = this.store.pipe(select(editinvestment_SubmitText));\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n currentInfo$ = this.store.pipe(select(editinvestment_currentInfo));\r\n originalCurrentInfo$ = this.store.pipe(\r\n select(editinvestment_originalCurrentInfo)\r\n );\r\n currentIsSum100Percent$ = this.store.pipe(\r\n select(editinvestment_CurrentIsSum100Percent)\r\n );\r\n currentTotalPercent$ = this.store.pipe(\r\n select(editinvestment_CurrentTotalPercent)\r\n );\r\n isLastStep$ = this.store.pipe(select(editinvestment_IsLastStep));\r\n futureIsSum100Percent$ = this.store.pipe(\r\n select(editinvestment_FutureIsSum100Percent)\r\n );\r\n futureTotalPercent$ = this.store.pipe(\r\n select(editinvestment_FutureTotalPercent)\r\n );\r\n allDisclaimerChecked$ = this.store.pipe(\r\n select(editinvestment_AllDisclaimerChecked)\r\n );\r\n customWording$ = this.store.pipe(\r\n select(editinvestment_InvestmentCustomWording)\r\n );\r\n isSimpleSwitch$ = this.store.pipe(select(editinvestment_IsSimpleSwitch));\r\n\r\n tenantConfig$ = this.appstore.pipe(select(commomState_SystemConfig_Config));\r\n featuretoggle$ = this.appstore.pipe(\r\n select(commomState_SystemConfig_FeatureToggle)\r\n );\r\n currentStep$ = this.appstore.pipe(select(editinvestment_CurrentStep));\r\n failedPerformanceMessage$ = this.appstore.pipe(\r\n select(editinvestment_FailedPerformanceMessage)\r\n );\r\n isSending$ = this.appstore.pipe(select(commonState_IsSending));\r\n steps$ = this.appstore.pipe(select(editinvestment_Steps));\r\n\r\n accountId = 0;\r\n communicationPreference = null;\r\n submitText = '';\r\n helper = new Helper();\r\n isPensionAccount: boolean = false;\r\n steps: number[] = [];\r\n maxShow: number = -1;\r\n currentStep: number = 0;\r\n\r\n submitting: boolean = false;\r\n\r\n showComplexComponent = environment.views.investmentEdit.showComplexComponent;\r\n showFeesColumnToggle =\r\n FeatureToggleName.member.account.manageInvestments.showFees.view;\r\n myForm: string;\r\n\r\n constructor(\r\n public store: Store,\r\n public appstore: Store,\r\n private bottomSheet: MatBottomSheet,\r\n private router: Router\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n this.sub = this.currentStep$.subscribe((x) => {\r\n this.currentStep = x;\r\n window.scrollTo(0, 0);\r\n });\r\n\r\n this.sub = this.isSending$.subscribe((x) => {\r\n this.submitting = x;\r\n });\r\n\r\n this.sub = this.lastModified$.subscribe(async (x) => {\r\n if (x) {\r\n this.dispatch(this.store, GoToStepAction({ step: 4 }));\r\n }\r\n });\r\n\r\n this.sub = this.form$.subscribe(async (form) => {\r\n if (form) {\r\n if (JSON.stringify(form.value) == this.myForm) {\r\n return;\r\n }\r\n\r\n var data: FormArrayState = null;\r\n var originalValues = await this.helper.getValue(\r\n this.originalCurrentInfo$\r\n );\r\n this.myForm = JSON.stringify(form.value);\r\n\r\n switch (this.currentStep) {\r\n case 1:\r\n //console.log('Current');\r\n data = form.controls.current as FormArrayState;\r\n break;\r\n\r\n case 2:\r\n //console.log('Future');\r\n data = form.controls.future as FormArrayState;\r\n\r\n break;\r\n\r\n default:\r\n return;\r\n }\r\n\r\n data.controls.forEach((element: FormGroupState) => {\r\n this.store.dispatch(\r\n new SetErrorsAction(element.controls.percentage.id, {})\r\n );\r\n\r\n if (element.value.percentage == 0) {\r\n return;\r\n }\r\n\r\n if (element.value.investmentOptionStatusId == 3) {\r\n var investmentOptions: InvestmentItemModel[] = null;\r\n switch (this.currentStep) {\r\n case 1:\r\n //console.log('Current');\r\n investmentOptions = originalValues.current?.filter(\r\n (x) => x.optionId == element.value.optionId\r\n );\r\n break;\r\n\r\n case 2:\r\n //console.log('Future');\r\n investmentOptions = originalValues.future?.filter(\r\n (x) => x.optionId == element.value.optionId\r\n );\r\n\r\n break;\r\n\r\n default:\r\n return;\r\n }\r\n if (investmentOptions?.length > 0) {\r\n if (element.value.percentage < 5) {\r\n var errors = {};\r\n errors['customError'] =\r\n 'Value must be greater than or equal to 5.';\r\n this.store.dispatch(\r\n new SetErrorsAction(element.controls.percentage.id, errors)\r\n );\r\n return;\r\n }\r\n\r\n if (element.value.percentage > investmentOptions[0].percentage) {\r\n var errors = {};\r\n errors['customError'] =\r\n 'Allocation in this option cannot be more than the current (%) allocation.';\r\n this.store.dispatch(\r\n new SetErrorsAction(element.controls.percentage.id, errors)\r\n );\r\n } else {\r\n this.store.dispatch(\r\n new SetErrorsAction(element.controls.percentage.id, {})\r\n );\r\n }\r\n }\r\n } else {\r\n if (element.value.percentage < 5) {\r\n var errors = {};\r\n errors['customError'] =\r\n 'Value must be greater than or equal to 5.';\r\n this.store.dispatch(\r\n new SetErrorsAction(element.controls.percentage.id, errors)\r\n );\r\n }\r\n }\r\n });\r\n }\r\n });\r\n\r\n this.sub = this.submitText$.subscribe(async (x) => {\r\n if (x) {\r\n this.submitText = x;\r\n }\r\n });\r\n\r\n this.sub = this.selectedAccount$\r\n .pipe(distinctUntilChanged((x, y) => x.accountId === y?.accountId))\r\n .subscribe((x) => {\r\n if (x) {\r\n this.dispatch(this.store, RequestAction());\r\n\r\n this.isPensionAccount = x.accountTypeName == 'Pension' || x.isTtrType;\r\n this.accountId = x.accountId;\r\n this.dispatch(\r\n this.store,\r\n SetIsPensionAction({ payload: this.isPensionAccount })\r\n );\r\n }\r\n });\r\n\r\n this.sub = this.steps$.subscribe((x) => {\r\n this.steps = x;\r\n });\r\n }\r\n\r\n onGoToDashboardClick() {\r\n this.bottomSheet.dismiss();\r\n this.router.navigate(['/']);\r\n }\r\n\r\n getCurrentPercentage(option: string, current: InvestmentItemModel[]): number {\r\n var s = current?.filter((x) => x.option == option);\r\n if (s?.length > 0) {\r\n return s[0].percentage;\r\n }\r\n return 0;\r\n }\r\n\r\n getCurrentAmount(option: string, current: InvestmentItemModel[]) {\r\n var s = current?.filter((x) => x.option == option);\r\n if (s?.length > 0) return s[0].amount;\r\n return 0;\r\n }\r\n\r\n trackByFn(index, item) {\r\n return index;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.store.dispatch(ResetAction());\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n async onSubmitClick(data: CurrentInvestmentModel) {\r\n var isSimpleSwitch = await this.helper.getValue(this.isSimpleSwitch$);\r\n var dataClone = this.helper.clone(data);\r\n\r\n // if its simple switch we need to assign current allocation to future\r\n if (isSimpleSwitch) {\r\n dataClone.future = dataClone.current;\r\n }\r\n\r\n this.dispatch(\r\n this.store,\r\n SubmitRequestAction({ accountId: this.accountId, obj: dataClone })\r\n );\r\n }\r\n\r\n async onNextItemClick() {\r\n var current = await this.helper.getValue(this.currentStep$);\r\n var i = this.steps.indexOf(current);\r\n this.dispatch(this.store, GoToStepAction({ step: this.steps[i + 1] }));\r\n }\r\n\r\n async onBackItemClick() {\r\n var current = await this.helper.getValue(this.currentStep$);\r\n var i = this.steps.indexOf(current);\r\n this.dispatch(this.store, GoToStepAction({ step: this.steps[i - 1] }));\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n

\r\n Please provide the percentage of your balance you would like to be\r\n invested in each option. The percentage should be a whole number, can be a\r\n minimum of 5% and must total 100%.\r\n

\r\n

\r\n Once submitted you will not be able to change this request. You will not\r\n be able to submit an additional request until your request has been\r\n processed.\r\n

\r\n

\r\n Investment switches will be processed when the price for the requested\r\n date has been loaded.\r\n

\r\n\r\n \r\n \r\n \r\n 992\">Option\r\n \r\n 992\">Investment Fee*\r\n \r\n 992\">Current (%)\r\n 992\">Current ($)\r\n 992\">%\r\n Options\r\n \r\n \r\n \r\n \r\n 992\">\r\n {{ item.value.option }}\r\n *\r\n \r\n \r\n 992\">\r\n {{ item.value.investmentOptionFee }}\r\n \r\n \r\n 992\">\r\n {{\r\n getCurrentPercentage(\r\n item.value.option,\r\n (currentInfo$ | async)?.current\r\n )\r\n }}%\r\n \r\n 992\">\r\n {{\r\n getCurrentAmount(\r\n item.value.option,\r\n (currentInfo$ | async)?.current\r\n ) | currency\r\n }}\r\n \r\n 992\">\r\n \r\n \r\n \r\n \r\n \r\n

\r\n {{ item.value.option }}\r\n *\r\n

\r\n\r\n
\r\n \r\n
Investment Fee*:
\r\n
\r\n {{ item.value.investmentOptionFee }}\r\n
\r\n
\r\n
\r\n
Current (%):
\r\n
\r\n {{\r\n getCurrentPercentage(\r\n item.value.option,\r\n (currentInfo$ | async)?.current\r\n )\r\n }}%\r\n
\r\n
\r\n
\r\n
Current ($):
\r\n
\r\n {{\r\n getCurrentAmount(\r\n item.value.option,\r\n (currentInfo$ | async)?.current\r\n ) | currency\r\n }}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n 992\">\r\n 992\">\r\n 992\">\r\n\r\n \r\n 992\">\r\n \r\n \r\n 0\"\r\n class=\"alert\"\r\n [ngClass]=\"{\r\n 'alert-success': currentIsSum100Percent$ | async,\r\n 'alert-danger': !(currentIsSum100Percent$ | async)\r\n }\"\r\n >\r\n Total: {{ currentTotalPercent$ | async }}% of 100%\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n
\r\n

\r\n Where would you like to invest future contributions?\r\n

\r\n

\r\n Where would you like your future pension payments paid from?\r\n

\r\n\r\n

\r\n Please provide the percentage of your balance you would like to be\r\n invested in each option. The percentage should be a whole number, can be a\r\n minimum of 5% and must total 100%.\r\n

\r\n

\r\n Please indicate from which option(s) you wish to be paid from. The\r\n percentage should be a whole number, can be a minimum of 5% and must total\r\n 100%.\r\n

\r\n

This update will be immediate.

\r\n\r\n \r\n \r\n \r\n 992\">Option\r\n \r\n 992\">Investment Fee*\r\n \r\n 992\">Current (%)\r\n 992\">%\r\n Options\r\n \r\n \r\n \r\n \r\n 992\">\r\n {{ item.value.option }}\r\n *\r\n \r\n \r\n 992\">\r\n {{ item.value.investmentOptionFee }}\r\n \r\n \r\n 992\">\r\n {{\r\n getCurrentPercentage(\r\n item.value.option,\r\n (currentInfo$ | async)?.future\r\n )\r\n }}%\r\n \r\n 992\">\r\n \r\n \r\n \r\n \r\n \r\n

\r\n {{ item.value.option }}\r\n *\r\n

\r\n
\r\n \r\n
Investment Fee*:
\r\n
\r\n {{ item.value.investmentOptionFee }}\r\n
\r\n
\r\n
\r\n
Current (%):
\r\n
\r\n {{\r\n getCurrentPercentage(\r\n item.value.option,\r\n (currentInfo$ | async)?.future\r\n )\r\n }}%\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n 992\">\r\n 992\">\r\n\r\n \r\n 992\">\r\n \r\n \r\n 0\"\r\n class=\"alert\"\r\n [ngClass]=\"{\r\n 'alert-success': futureIsSum100Percent$ | async,\r\n 'alert-danger': !(futureIsSum100Percent$ | async)\r\n }\"\r\n >\r\n Total: {{ futureTotalPercent$ | async }}% of 100%\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n

Disclaimer

\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n
\r\n

We have received your request

\r\n

\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n","import { featureKey } from './../../store/shared.reducers';\r\nimport { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { IMemberAlertViewState } from './state';\r\n\r\nexport const state = createFeatureSelector(featureKey);\r\n\r\nexport const alertState = createSelector(state, (state) => state.memberAlertViewState);\r\n\r\nexport const memberAlertView_Model = createSelector(\r\n alertState,\r\n (state: IMemberAlertViewState) => state.model\r\n);\r\n","import { memberAlertView_Model } from './selectors';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { RequestAction } from './actions';\r\nimport { ComponentBase } from '../../../../views/component-base';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { memberAccountDropdown_SelectedAccount } from '../member-account-dropdown/selectors';\r\n\r\nimport { Helper } from '@ifaa-components/ui-components';\r\nimport { Router } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MemberAlertModel } from 'src/app/model/member-alert.model';\r\nimport { NgIf, NgFor } from '@angular/common';\r\nimport {\r\n MatExpansionPanel,\r\n MatExpansionPanelHeader,\r\n MatExpansionPanelDescription,\r\n MatExpansionPanelTitle,\r\n} from '@angular/material/expansion';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { environment } from '../../../../../environments/environment';\r\n\r\n@Component({\r\n selector: 'app-member-alert-view',\r\n templateUrl: './member-alert-view.component.html',\r\n styleUrls: ['./member-alert-view.component.scss'],\r\n imports: [\r\n NgIf,\r\n MatExpansionPanel,\r\n MatExpansionPanelHeader,\r\n MatExpansionPanelDescription,\r\n MatExpansionPanelTitle,\r\n MatIcon,\r\n NgFor,\r\n ],\r\n})\r\nexport class MemberAlertViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n helper = new Helper();\r\n model$ = this.store.pipe(select(memberAlertView_Model));\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n list: MemberAlertModel[] = [];\r\n\r\n constructor(\r\n public store: Store,\r\n public router: Router,\r\n public translateService: TranslateService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.sub = this.selectedAccount$.subscribe((x) => {\r\n if (x) {\r\n this.dispatch(this.store, RequestAction({ accountId: x.accountId }));\r\n }\r\n });\r\n\r\n this.sub = this.model$.subscribe((x) => {\r\n this.list = [];\r\n if (x) {\r\n x.forEach(async (item) => {\r\n var isVisible = environment.views.memberAlerts[item.alertType];\r\n if (isVisible) {\r\n this.list.push(item);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n async getLink(link: string) {\r\n if (link.startsWith('[')) {\r\n var name = link.replace('[', '').replace(']', '');\r\n var url = await this.helper.getValue(\r\n this.translateService.get('MEMBER_ALERTS.' + name)\r\n );\r\n window.open(url, '_blank');\r\n }\r\n }\r\n}\r\n","
\r\n 0\" class=\"animate__animated animate__fadeInDown\">\r\n \r\n \r\n\r\n \r\n\r\n \r\n notifications_active\r\n You have a new notification\r\n 1\">You have {{list.length}} new notifications\r\n \r\n \r\n
\r\n
\r\n
{{item.text}}
\r\n
\r\n
\r\n
\r\n {{item.actionName}}\r\n chevron_right\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { IRecentEmploymentDetailsState } from './state';\r\nimport { featureKey } from '../../store/shared.reducers';\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const recentEmployment = createSelector(memberPortalState, (state) => state.recentEmploymentDetailState);\r\n\r\nexport const recentEmployment_Employer = createSelector(\r\n recentEmployment,\r\n (state: IRecentEmploymentDetailsState) => state.employer\r\n);\r\n","import { AppState } from 'src/app/store/app.states';\r\nimport {\r\n Directive,\r\n Renderer2,\r\n Input,\r\n ViewContainerRef,\r\n TemplateRef,\r\n OnChanges,\r\n OnDestroy,\r\n} from '@angular/core';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { commonState_SystemConfig_AccountFeatureToggles } from 'src/app/store/common/common.selectors';\r\nimport { Subscription, combineLatest } from 'rxjs';\r\nimport { distinctUntilChanged } from 'rxjs/operators';\r\nimport { FeatureToggleLevel } from 'src/app/model/feature-toggle-level.model';\r\nimport { FeatureToggleValue } from 'src/app/model/feature-toggle-value.model';\r\n\r\n@Directive({\r\n selector: '[featuretoggleglobal]',\r\n})\r\nexport class FeatureToggleGlobalDirective implements OnChanges, OnDestroy {\r\n featuretoggle$ = this.store.pipe(\r\n select(commonState_SystemConfig_AccountFeatureToggles)\r\n );\r\n\r\n sub: Subscription = null;\r\n\r\n @Input() featuretoggleglobal: string;\r\n\r\n constructor(\r\n public store: Store,\r\n public renderer: Renderer2,\r\n public view: ViewContainerRef,\r\n public template: TemplateRef\r\n ) {}\r\n\r\n ngOnDestroy(): void {\r\n this.sub.unsubscribe();\r\n }\r\n\r\n ngOnChanges() {\r\n this.sub = this.featuretoggle$\r\n .pipe(\r\n distinctUntilChanged((x, y) => {\r\n if (JSON.stringify(x[0]) !== JSON.stringify(y[0])) return false;\r\n\r\n return true;\r\n })\r\n )\r\n .subscribe((featureToggles) => {\r\n if (featureToggles) {\r\n var globalFlag = featureToggles.find(\r\n (x) =>\r\n x.level === FeatureToggleLevel.global &&\r\n x.name === this.featuretoggleglobal &&\r\n x.value === FeatureToggleValue.available\r\n );\r\n\r\n // Check if global flag is turned on\r\n if (globalFlag) {\r\n this.view.createEmbeddedView(this.template);\r\n return;\r\n }\r\n }\r\n this.view.clear();\r\n });\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { MemberPortalSharedState } from 'src/app/modules/shared/store/shared.states';\r\nimport { memberAccountDropdown_SelectedAccount } from 'src/app/modules/shared/components/member-account-dropdown/selectors';\r\nimport { RequestAction } from './actions';\r\nimport { recentEmployment_Employer } from './selectors';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { FeatureToggleName } from 'src/app/model/feature-toggle-name.model';\r\nimport {\r\n NgIf,\r\n AsyncPipe,\r\n NgFor,\r\n NgClass,\r\n DatePipe,\r\n CurrencyPipe,\r\n} from '@angular/common';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MatTooltip } from '@angular/material/tooltip';\r\nimport {\r\n AppNoItemsComponent,\r\n AppReadonlyComponent,\r\n DashPipe,\r\n} from '@ifaa-components/ui-components';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { FeatureToggleGlobalDirective } from '../../directives/feature-toggle-global.directive';\r\nimport { MessageDirective } from '../../directives/message.directive';\r\n\r\n@Component({\r\n selector: 'app-recent-employment-details',\r\n templateUrl: './recent-employment-details.component.html',\r\n styleUrls: ['./recent-employment-details.component.scss'],\r\n imports: [\r\n AppNoItemsComponent,\r\n NgIf,\r\n AsyncPipe,\r\n NgFor,\r\n NgClass,\r\n AppReadonlyComponent,\r\n FeatureToggleGlobalDirective,\r\n DatePipe,\r\n DashPipe,\r\n CurrencyPipe,\r\n MatIcon,\r\n MatTooltip,\r\n TranslatePipe,\r\n MessageDirective,\r\n ],\r\n})\r\nexport class RecentEmploymentDetailsComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n employer$ = this.store.pipe(select(recentEmployment_Employer));\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n recentEmployerDetailDatesFeatureToggle =\r\n FeatureToggleName.member.account.recentEmployerDetails\r\n .recentEmployerDetailDates.view;\r\n\r\n constructor(\r\n public store: Store,\r\n public appstore: Store\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n this.screenWidthChange(this.appstore, (width: number) => {});\r\n\r\n this.sub = this.selectedAccount$.subscribe((x) => {\r\n if (x) {\r\n this.dispatch(this.store, RequestAction({ accountId: x.accountId }));\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n\r\n
\r\n
    1\">\r\n
  1. \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
Employer
\r\n
\r\n {{employer.employerName}}\r\n
\r\n
\r\n 992?'w-50 p-1': 'w-100'\"\r\n [value]=\"employer.startDate | date:'dd/MM/yyyy'\">\r\n 992?'w-50 p-1': 'w-100'\"\r\n [value]=\"employer.endDate | date:'dd/MM/yyyy' | dash\">\r\n 992?'w-50 p-1': 'w-100'\"\r\n [value]=\"employer.lastContributionAmount | currency\">\r\n 992?'w-50 p-1': 'w-100'\">\r\n\r\n \r\n file_download\r\n Employer\r\n plan details\r\n\r\n
\r\n
Click here to view your employer plan\r\n\r\n
\r\n help_outline\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n 1\">\r\n keyboard_arrow_left\r\n \r\n 1\">\r\n keyboard_arrow_right\r\n \r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { SMRTState } from '../../store/smrt.states';\r\nimport { FeatureToggleName } from 'src/app/model/feature-toggle-name.model';\r\nimport {\r\n commonState_SystemConfig_AccountFeatureToggles,\r\n commonState_SystemConfig_LimitedServiceToggles,\r\n} from 'src/app/store/common/common.selectors';\r\nimport { memberAccountDropdown_SelectedAccount } from 'src/app/modules/shared/components/member-account-dropdown/selectors';\r\nimport { insuranceQuestionnaire_ShowQuestionnaire } from 'src/app/modules/shared/components/insurance-questionnaire/selectors';\r\nimport { AccountFeatureToggle } from 'src/app/model/account-feature-toggles.model';\r\nimport { FeatureToggleValue } from 'src/app/model/feature-toggle-value.model';\r\nimport { combineLatest } from 'rxjs';\r\nimport { Router, RouterLink } from '@angular/router';\r\nimport { NgIf, NgClass } from '@angular/common';\r\nimport {\r\n AppToolbarOptionsComponent,\r\n AppButtonComponent,\r\n} from '@ifaa-components/ui-components';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { AccountFeesComponent } from 'src/app/modules/shared/components/account-fees/account-fees.component';\r\nimport { AccountSummaryComponent } from 'src/app/modules/shared/components/account-summary/account-summary.component';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { ConsolidateSuperComponent } from 'src/app/modules/shared/components/consolidate-super/consolidate-super.component';\r\nimport { DefinedBenefitAccountSummaryComponent } from 'src/app/modules/shared/components/defined-benefit-account-summary/defined-benefit-account-summary.component';\r\nimport { HistoricalChartViewComponent } from 'src/app/modules/shared/components/historical-chart/account-bal-with-graph/historical-chart-view.component';\r\nimport { AccountBalWithoutGraphComponent } from 'src/app/modules/shared/components/historical-chart/account-bal-without-graph/account-bal-without-graph.component';\r\nimport { InvestmentEditComponent } from 'src/app/modules/shared/components/investment-edit/investment-edit.component';\r\nimport { LimitedServiceBannerComponent } from 'src/app/modules/shared/components/limited-service-banner/limited-service-banner.component';\r\nimport { MemberAlertViewComponent } from 'src/app/modules/shared/components/member-alert/member-alert-view.component';\r\nimport { MemberViewOverviewComponent } from 'src/app/modules/shared/components/member-view-overview/member-view-overview.component';\r\nimport { RecentEmploymentDetailsComponent } from 'src/app/modules/shared/components/recent-employment-details/recent-employment-details.component';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { AppButtonDirective } from 'src/app/modules/shared/directives/appbutton.directive';\r\nimport { FeatureToggleDirective } from 'src/app/modules/shared/directives/feature-toggle.directive';\r\n\r\n@Component({\r\n selector: 'app-tenant-dashboard',\r\n templateUrl: './dashboard.component.html',\r\n styleUrls: ['./dashboard.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n AppToolbarOptionsComponent,\r\n NgIf,\r\n LimitedServiceBannerComponent,\r\n AnimateCssDirective,\r\n MemberAlertViewComponent,\r\n FeatureToggleDirective,\r\n MemberViewOverviewComponent,\r\n NgClass,\r\n AppComponentWrapperComponent,\r\n AccountFeesComponent,\r\n AccountSummaryComponent,\r\n DefinedBenefitAccountSummaryComponent,\r\n HistoricalChartViewComponent,\r\n AccountBalWithoutGraphComponent,\r\n InvestmentEditComponent,\r\n AppButtonComponent,\r\n AppButtonDirective,\r\n RouterLink,\r\n RecentEmploymentDetailsComponent,\r\n ConsolidateSuperComponent,\r\n TranslatePipe,\r\n ],\r\n})\r\nexport class TenantDashboardComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n memberProfileSummaryFeatureToggle =\r\n FeatureToggleName.member.memberProfileSummary.view;\r\n accountSummaryFeatureToggle =\r\n FeatureToggleName.member.account.accountSummary.view;\r\n manageInvestmentsFeatureToggle =\r\n FeatureToggleName.member.account.manageInvestments.view;\r\n updateInvestmentsFeatureToggle =\r\n FeatureToggleName.member.account.manageInvestments.update;\r\n rollInFeatureToggle = FeatureToggleName.member.account.rollIn.view;\r\n recentEmployerDetailsFeatureToggle =\r\n FeatureToggleName.member.account.recentEmployerDetails.view;\r\n dbAccountSummaryFeatureToggle =\r\n FeatureToggleName.member.account.definedBenefitAccountSummary.view;\r\n accountBalWithGraphFeatureToggle =\r\n FeatureToggleName.member.account.accountBalWithGraph.view;\r\n accountBalWithoutGraphFeatureToggle =\r\n FeatureToggleName.member.account.accountBalWithoutGraph.view;\r\n accountFeesFeatureToggle = FeatureToggleName.member.account.accountFees.view;\r\n\r\n showQuestionnaire$ = this.store.pipe(\r\n select(insuranceQuestionnaire_ShowQuestionnaire)\r\n );\r\n featureToggles$ = this.store.pipe(\r\n select(commonState_SystemConfig_AccountFeatureToggles)\r\n );\r\n limitedServiceToggles$ = this.store.pipe(\r\n select(commonState_SystemConfig_LimitedServiceToggles)\r\n );\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n\r\n addSpacingForWidget: boolean = false;\r\n\r\n limitedServiceToggles: AccountFeatureToggle[] = null;\r\n\r\n constructor(\r\n public store: Store,\r\n private router: Router,\r\n public smrtstore: Store\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.sub = this.limitedServiceToggles$.subscribe((x) => {\r\n if (x) {\r\n this.limitedServiceToggles = x.filter(\r\n (flag) => flag.name !== FeatureToggleName.member.maintenance.view\r\n );\r\n }\r\n });\r\n\r\n this.sub = combineLatest([\r\n this.featureToggles$,\r\n this.selectedAccount$,\r\n ]).subscribe((x) => {\r\n if (x[0] && x[1]) {\r\n // If account is insurance, dont even check the toggles so we dont need the widget space\r\n if (x[1].accountClassificationId === 5) {\r\n return;\r\n } else {\r\n var accountSummary = x[0].find(\r\n (flag) =>\r\n flag.name === FeatureToggleName.member.account.accountSummary.view\r\n );\r\n var dbAccountSummary = x[0].find(\r\n (flag) =>\r\n flag.name ===\r\n FeatureToggleName.member.account.definedBenefitAccountSummary.view\r\n );\r\n\r\n if (\r\n accountSummary.value === FeatureToggleValue.available &&\r\n x[1].accountClassificationId !== 6\r\n ) {\r\n this.addSpacingForWidget = true;\r\n } else if (\r\n dbAccountSummary.value === FeatureToggleValue.available &&\r\n x[1].accountClassificationId === 6\r\n ) {\r\n this.addSpacingForWidget = true;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n onStartClick() {\r\n this.router.navigate(['rollin']);\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
0\">\r\n \r\n
\r\n
\r\n\r\n
Overview
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
992?'flex-row':'flex-column'}} w-100\">\r\n \r\n \r\n\r\n 992}\">\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n 992}\">\r\n 992}\">\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n 992}\">\r\n
\r\n\r\n \r\n \r\n\r\n
\r\n
\r\n\r\n 992}\">\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { FUTRState } from '../../store/futr.states';\r\nimport { FeatureToggleName } from 'src/app/model/feature-toggle-name.model';\r\nimport {\r\n commomState_LoggedinInfo,\r\n commonState_SystemConfig_AccountFeatureToggles,\r\n commonState_SystemConfig_LimitedServiceToggles,\r\n} from 'src/app/store/common/common.selectors';\r\nimport { memberAccountDropdown_SelectedAccount } from 'src/app/modules/shared/components/member-account-dropdown/selectors';\r\nimport { insuranceQuestionnaire_ShowQuestionnaire } from 'src/app/modules/shared/components/insurance-questionnaire/selectors';\r\nimport { AccountFeatureToggle } from 'src/app/model/account-feature-toggles.model';\r\nimport { FeatureToggleValue } from 'src/app/model/feature-toggle-value.model';\r\nimport { combineLatest } from 'rxjs';\r\nimport { Router, RouterLink } from '@angular/router';\r\nimport { NgIf, AsyncPipe, NgClass } from '@angular/common';\r\nimport { MatProgressBar } from '@angular/material/progress-bar';\r\nimport {\r\n AppToolbarOptionsComponent,\r\n AppButtonComponent,\r\n} from '@ifaa-components/ui-components';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { ConsolidateSuperComponent } from 'src/app/modules/shared/components/consolidate-super/consolidate-super.component';\r\nimport { HistoricalChartViewComponent } from 'src/app/modules/shared/components/historical-chart/account-bal-with-graph/historical-chart-view.component';\r\nimport { AccountBalWithoutGraphComponent } from 'src/app/modules/shared/components/historical-chart/account-bal-without-graph/account-bal-without-graph.component';\r\nimport { InvestmentEditComponent } from 'src/app/modules/shared/components/investment-edit/investment-edit.component';\r\nimport { LimitedServiceBannerComponent } from 'src/app/modules/shared/components/limited-service-banner/limited-service-banner.component';\r\nimport { MemberViewOverviewComponent } from 'src/app/modules/shared/components/member-view-overview/member-view-overview.component';\r\nimport { RecentEmploymentDetailsComponent } from 'src/app/modules/shared/components/recent-employment-details/recent-employment-details.component';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { AppButtonDirective } from 'src/app/modules/shared/directives/appbutton.directive';\r\nimport { FeatureToggleDirective } from 'src/app/modules/shared/directives/feature-toggle.directive';\r\n\r\n@Component({\r\n selector: 'app-tenant-dashboard',\r\n templateUrl: './dashboard.component.html',\r\n styleUrls: ['./dashboard.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n AppToolbarOptionsComponent,\r\n NgIf,\r\n LimitedServiceBannerComponent,\r\n AsyncPipe,\r\n MatProgressBar,\r\n AnimateCssDirective,\r\n MemberViewOverviewComponent,\r\n NgClass,\r\n AppComponentWrapperComponent,\r\n RecentEmploymentDetailsComponent,\r\n AppButtonComponent,\r\n RouterLink,\r\n HistoricalChartViewComponent,\r\n AccountBalWithoutGraphComponent,\r\n InvestmentEditComponent,\r\n AppButtonDirective,\r\n ConsolidateSuperComponent,\r\n TranslatePipe,\r\n FeatureToggleDirective,\r\n ],\r\n})\r\nexport class TenantDashboardComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n viewTransactionsFeatureToggle =\r\n FeatureToggleName.member.account.transactions.view;\r\n memberProfileSummaryFeatureToggle =\r\n FeatureToggleName.member.memberProfileSummary.view;\r\n accountSummaryFeatureToggle =\r\n FeatureToggleName.member.account.accountSummary.view;\r\n manageInvestmentsFeatureToggle =\r\n FeatureToggleName.member.account.manageInvestments.view;\r\n updateInvestmentsFeatureToggle =\r\n FeatureToggleName.member.account.manageInvestments.update;\r\n rollInFeatureToggle = FeatureToggleName.member.account.rollIn.view;\r\n recentEmployerDetailsFeatureToggle =\r\n FeatureToggleName.member.account.recentEmployerDetails.view;\r\n dbAccountSummaryFeatureToggle =\r\n FeatureToggleName.member.account.definedBenefitAccountSummary.view;\r\n accountBalWithGraphFeatureToggle =\r\n FeatureToggleName.member.account.accountBalWithGraph.view;\r\n accountBalWithoutGraphFeatureToggle =\r\n FeatureToggleName.member.account.accountBalWithoutGraph.view;\r\n\r\n showQuestionnaire$ = this.store.pipe(\r\n select(insuranceQuestionnaire_ShowQuestionnaire)\r\n );\r\n featureToggles$ = this.store.pipe(\r\n select(commonState_SystemConfig_AccountFeatureToggles)\r\n );\r\n loggedIn$ = this.store.pipe(select(commomState_LoggedinInfo));\r\n limitedServiceToggles$ = this.store.pipe(\r\n select(commonState_SystemConfig_LimitedServiceToggles)\r\n );\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n\r\n addSpacingForWidget: boolean = false;\r\n isPensionAccount: boolean = false;\r\n\r\n limitedServiceToggles: AccountFeatureToggle[] = null;\r\n\r\n constructor(\r\n public store: Store,\r\n private router: Router,\r\n public futrstore: Store\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.sub = this.limitedServiceToggles$.subscribe((x) => {\r\n if (x) {\r\n this.limitedServiceToggles = x.filter(\r\n (flag) => flag.name !== FeatureToggleName.member.maintenance.view\r\n );\r\n }\r\n });\r\n\r\n this.sub = combineLatest([\r\n this.featureToggles$,\r\n this.selectedAccount$,\r\n ]).subscribe((x) => {\r\n if (x[0] && x[1]) {\r\n // If account is insurance, dont even check the toggles so we dont need the widget space\r\n if (x[1].accountClassificationId === 5) {\r\n return;\r\n } else {\r\n var accountSummary = x[0].find(\r\n (flag) =>\r\n flag.name === FeatureToggleName.member.account.accountSummary.view\r\n );\r\n var dbAccountSummary = x[0].find(\r\n (flag) =>\r\n flag.name ===\r\n FeatureToggleName.member.account.definedBenefitAccountSummary.view\r\n );\r\n this.isPensionAccount =\r\n x[1].accountTypeName == 'Pension' || x[1].isTtrType;\r\n\r\n if (\r\n accountSummary.value === FeatureToggleValue.available &&\r\n x[1].accountClassificationId !== 6\r\n ) {\r\n this.addSpacingForWidget = true;\r\n } else if (\r\n dbAccountSummary.value === FeatureToggleValue.available &&\r\n x[1].accountClassificationId === 6\r\n ) {\r\n this.addSpacingForWidget = true;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n onStartClick() {\r\n this.router.navigate(['rollin']);\r\n }\r\n\r\n onTellMyEmployerClick() {\r\n this.router.navigate(['tell-your-employer']);\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
0\">\r\n \r\n
\r\n
\r\n\r\n
Dashboard
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
992?'flex-row':'flex-column'}} w-100\">\r\n \r\n \r\n\r\n \r\n
\r\n\r\n \r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n 992}\">\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n 992}\">\r\n
\r\n\r\n

\r\n Have you recently moved jobs?\r\n

\r\n

Click below to get the details needed to make sure they start paying your super.

\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n
992\">\r\n
\r\n
\r\n
\r\n \r\n
\"Screenshot
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
","import { MenuModel } from './../../../../model/menu.model';\r\n// import { MemberModel } from '../../../model/member.model';\r\nimport { createAction } from '@ngrx/store';\r\nimport { props } from '@ngrx/store';\r\n\r\nexport const MainExpandedRequestAction = createAction('[Main View] expand item',\r\n props<{ menuItem: MenuModel }>());\r\n\r\n export const MainSetAnimatedPageAction = createAction('[Main View] animated');\r\n\r\n// export const MainSearchResetPageAction = createAction('[Main View] set 0 to current page');\r\n\r\n","import { IMainLayoutState } from './state';\r\nimport { createReducer, on, Action } from '@ngrx/store';\r\nimport {\r\n onNgrxForms, onNgrxFormsAction, SetValueAction\r\n} from 'ngrx-forms';\r\nimport { MainExpandedRequestAction, MainSetAnimatedPageAction } from './actions';\r\nimport { Helper } from '@ifaa-components/ui-components';\r\n\r\nexport const mainLayoutState: IMainLayoutState = {\r\n page: 0,\r\n expanded: [],\r\n animated: false\r\n};\r\nvar helper = new Helper();\r\n\r\nconst reducer = createReducer(mainLayoutState,\r\n onNgrxForms(),\r\n onNgrxFormsAction(SetValueAction, (state, action) => {\r\n return state;\r\n }),\r\n on(MainSetAnimatedPageAction, (state) => {\r\n return {\r\n ...state,\r\n animated: true\r\n };\r\n }),\r\n on(MainExpandedRequestAction, (state, { menuItem }) => {\r\n var clone = helper.clone(state);\r\n\r\n var expanded = clone.expanded.filter(x => x.id == menuItem.id);\r\n\r\n if (expanded.length == 0) {\r\n clone.expanded = [menuItem];\r\n }\r\n else {\r\n clone.expanded = clone.expanded.filter(x => x.id !== menuItem.id);\r\n }\r\n\r\n return {\r\n ...state,\r\n expanded: clone.expanded\r\n };\r\n })\r\n\r\n);\r\n\r\nexport function mainLayoutReducer(state: any | undefined, action: Action) {\r\n return reducer(state, action);\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { ActionReducerMap } from '@ngrx/store';\r\n\r\nimport { mainLayoutReducer } from '../layout/main/reducer'\r\nimport { FUTRState } from './futr.states';\r\n\r\nexport const featureKey = 'futr';\r\n\r\nexport const reducers = new InjectionToken>(featureKey, {\r\n factory: () => ({\r\n mainLayout: mainLayoutReducer\r\n })\r\n});\r\n","import { featureKey } from './../../store/futr.reducers';\r\nimport { FUTRState } from './../../store/futr.states';\r\nimport { AppState } from './../../../../store/app.states';\r\nimport { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { IMainLayoutState } from './state';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const mainLayout = createSelector(memberPortalState, (state) => state.mainLayout);\r\n\r\n\r\nexport const mainLayout_Expanded = createSelector(\r\n mainLayout,\r\n (state: IMainLayoutState) => state.expanded\r\n);\r\n\r\nexport const mainLayout_Animated = createSelector(\r\n mainLayout,\r\n (state: IMainLayoutState) => state.animated\r\n);\r\n\r\n// export const mainSearchMembers_CurrentPage = createSelector(\r\n// mainSearchMembers,\r\n// (state: IMainSearchMemberState) => state.page\r\n// );\r\n\r\n// export const mainSearchMembers_CurrentElevatedAccess = createSelector(\r\n// mainSearchMembers,\r\n// (state: IMainSearchMemberState) => state.currentElevatedAccess\r\n// );\r\n\r\n// export const mainSearchMembers_Form = createSelector(\r\n// mainSearchMembers,\r\n// (state: IMainSearchMemberState) => state.form\r\n// );\r\n\r\n// export const mainSearchMembers_Form_Q = createSelector(\r\n// mainSearchMembers,\r\n// (state: IMainSearchMemberState) => state.form.value.q\r\n// );\r\n","import { AppState } from 'src/app/store/app.states';\r\nimport { Component } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { Router } from '@angular/router';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ComponentBase } from '../../../../views/component-base';\r\nimport { commomState_SystemConfig_Config } from 'src/app/store/common/common.selectors';\r\nimport { AsyncPipe, NgIf } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './footer.master.html',\r\n styleUrls: ['./footer.master.scss'],\r\n imports: [NgIf, AsyncPipe],\r\n})\r\nexport class FooterComponent extends ComponentBase {\r\n tenantConfig$ = this.store.pipe(select(commomState_SystemConfig_Config));\r\n\r\n constructor(\r\n public store: Store,\r\n public dialog: MatDialog,\r\n private router: Router\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n\r\n
\r\n\r\n
\r\n

\r\n\r\n Contact us\r\n \r\n \r\n

\r\n

Information provided is of a general nature only and we have not taken your personal financial objectives,\r\n situation or needs into account. You should consider whether Future Super’s products are right for your\r\n individual objectives and needs and consider seeking personal financial advice. Before making a decision to\r\n acquire, hold or continue to hold an interest in Future Super, please read the Product Disclosure Statement\r\n (PDS), Financial Services Guide (FSG) and check our Target Market Determination (TMD) available at Documents and\r\n Forms | Future Super. Future Super does not accept any responsibility for any loss or damage that may\r\n result\r\n from reliance on, or the use of, any information contained on this site. The contents of this website are\r\n exclusively owned by Future Super. You must not use or disclose them for any other reason than for the purposes\r\n for which they were supplied.\r\n

\r\n
\r\n

\r\n The Promoter of the Fund is Future Super Services Pty Ltd (ABN 88 652 577 930; AFS Representative No.\r\n 001312077), which is a Corporate Authorised Representative of Future Group Financial Services Pty Ltd (ABN 90\r\n 167 800 580; AFSL 482684).\r\n

\r\n
\r\n

\r\n Equity Trustees Superannuation Limited (ABN 50 055 641 757, RSE Licence L0001458, AFSL 229757) is Trustee of the\r\n Future Super Fund (ABN 45 960 194 277; RSE Registration R1072914). The Trustee does not in any way endorse,\r\n warrant or accept responsibility for any services provided by the Promoter in its own right or directly to\r\n members or prospective members. Learn more about our Trustee including their Privacy Statement here. The Fund is\r\n administered by APEX Superannuation (Australia) Pty Ltd (ABN 28 081 966 243; AFSL 238507). Insurance cover is\r\n provided to eligible members by AIA Australia Limited (ABN 79 004 837 861; AFSL 230043). The Investment Manager\r\n is Future Group Investment Management Pty Ltd (ABN 55 321 040 702; AFS Representative No. 001271441) which is a\r\n Corporate Authorised Representative of Future Group Financial Services Pty Ltd (ABN 90 167 800 580; AFSL\r\n 482684).\r\n

\r\n
\r\n

\r\n When considering a new fund, you should consider checking the costs and amount of any cover offered and any\r\n relevant information before you make a decision to transfer your super, such as differences in insurance cover\r\n and fees.\r\n

\r\n\r\n
\r\n\r\n\r\n
\r\n
992?'flex-row':'flex-column'}} w-100 container mt-4\">\r\n

Fund Information\r\n   •   Terms & Conditions\r\n   •   Privacy Policy   •   Complaints\r\n

\r\n
\r\n

ABN ‍45 ‍960 ‍194 ‍277\r\n   \r\n

\r\n

USI‍ 45 ‍960 ‍194 ‍277 ‍010

\r\n
\r\n
\r\n
","import {\r\n AppButtonComponent,\r\n AppScrollUpComponent,\r\n Helper,\r\n} from '@ifaa-components/ui-components';\r\nimport { AccountModel } from './../../../../model/account.model';\r\nimport { combineLatest } from 'rxjs';\r\nimport { SetMenuAction } from './../../../../store/common/common.actions';\r\nimport { mainLayout_Animated, mainLayout_Expanded } from './selectors';\r\nimport { MenuModel } from './../../../../model/menu.model';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport {\r\n AfterViewInit,\r\n Component,\r\n TemplateRef,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport {\r\n Router,\r\n RouterLink,\r\n RouterLinkActive,\r\n RouterOutlet,\r\n RoutesRecognized,\r\n} from '@angular/router';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport {\r\n commomState_IsLoading,\r\n commomState_LoggedinInfo,\r\n commomState_MenuList,\r\n commonState_IsFetching,\r\n commonState_SystemConfig_AccountFeatureToggles,\r\n} from 'src/app/store/common/common.selectors';\r\nimport {\r\n MainExpandedRequestAction,\r\n MainSetAnimatedPageAction,\r\n} from './actions';\r\nimport { FUTRState } from '../../store/futr.states';\r\nimport { MatDrawer } from '@angular/material/sidenav';\r\nimport { insuranceQuestionnaire_ShowQuestionnaire } from 'src/app/modules/shared/components/insurance-questionnaire/selectors';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { memberViewOverview_Model } from 'src/app/modules/shared/components/member-view-overview/selectors';\r\nimport { MatBottomSheet } from '@angular/material/bottom-sheet';\r\nimport { filter } from 'rxjs/operators';\r\nimport { memberAccountDropdown_SelectedAccount } from 'src/app/modules/shared/components/member-account-dropdown/selectors';\r\nimport { MsalService } from '@azure/msal-angular';\r\nimport { AccountFeatureToggle } from 'src/app/model/account-feature-toggles.model';\r\nimport { FeatureToggleValue } from 'src/app/model/feature-toggle-value.model';\r\nimport { FeatureToggleName } from 'src/app/model/feature-toggle-name.model';\r\nimport { FeatureToggleHelper } from 'src/app/helper/featureToggleHelper';\r\nimport { environment } from 'src/environments/environment';\r\nimport {\r\n NgClass,\r\n AsyncPipe,\r\n NgIf,\r\n NgTemplateOutlet,\r\n NgFor,\r\n} from '@angular/common';\r\nimport {\r\n MatAccordion,\r\n MatExpansionPanel,\r\n MatExpansionPanelHeader,\r\n MatExpansionPanelTitle,\r\n} from '@angular/material/expansion';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MatMenuTrigger, MatMenu, MatMenuItem } from '@angular/material/menu';\r\nimport { MatProgressSpinner } from '@angular/material/progress-spinner';\r\nimport { MemberAccountDropdownComponent } from 'src/app/modules/shared/components/member-account-dropdown/member-account-dropdown.component';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { ScreenWidthDirective } from 'src/app/modules/shared/directives/screen-width.directive';\r\nimport { FeatureTogglePipe } from 'src/app/modules/shared/pipes/featureToggle';\r\nimport { TextTransformPipe } from 'src/app/modules/shared/pipes/textTransform';\r\nimport { FooterComponent } from '../footer/footer.master';\r\n\r\n@Component({\r\n selector: 'login-master',\r\n templateUrl: './main.master.html',\r\n styleUrls: ['./main.master.scss'],\r\n imports: [\r\n ScreenWidthDirective,\r\n NgClass,\r\n AsyncPipe,\r\n MemberAccountDropdownComponent,\r\n NgIf,\r\n AppButtonComponent,\r\n MatMenuTrigger,\r\n MatIcon,\r\n MatMenu,\r\n MatMenuItem,\r\n AnimateCssDirective,\r\n NgTemplateOutlet,\r\n AppScrollUpComponent,\r\n RouterOutlet,\r\n MatProgressSpinner,\r\n RouterLink,\r\n RouterLinkActive,\r\n FooterComponent,\r\n MatAccordion,\r\n MatExpansionPanel,\r\n NgFor,\r\n FeatureTogglePipe,\r\n MatExpansionPanelHeader,\r\n MatExpansionPanelTitle,\r\n TextTransformPipe,\r\n ],\r\n})\r\nexport class MainMasterComponent\r\n extends ComponentBase\r\n implements AfterViewInit\r\n{\r\n helper = new Helper();\r\n expanded: MenuModel[] = [];\r\n animated$ = this.store.pipe(select(mainLayout_Animated));\r\n expanded$ = this.futrstore.pipe(select(mainLayout_Expanded));\r\n menuList$ = this.store.pipe(select(commomState_MenuList));\r\n loggedInUser$ = this.store.pipe(select(commomState_LoggedinInfo));\r\n isLoading$ = this.store.pipe(select(commomState_IsLoading));\r\n isFetching$ = this.store.pipe(select(commonState_IsFetching));\r\n isQuestionnarieVisible$ = this.store.pipe(\r\n select(insuranceQuestionnaire_ShowQuestionnaire)\r\n );\r\n user$ = this.store.pipe(select(memberViewOverview_Model));\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n accountFeatureToggles$ = this.store.pipe(\r\n select(commonState_SystemConfig_AccountFeatureToggles)\r\n );\r\n\r\n accountFeatureToggles: AccountFeatureToggle[] = null;\r\n featureToggleValues: any = null;\r\n featureToggleHelper = new FeatureToggleHelper();\r\n selectedParentMenu = '';\r\n menuMode = 'side';\r\n menuOpened = true;\r\n showMenuIconTop = true;\r\n selectedAccount: AccountModel = null;\r\n @ViewChild('templateBottomSheet') TemplateBottomSheet: TemplateRef;\r\n // @ViewChild('video') video: ElementRef;\r\n\r\n menu = [];\r\n\r\n @ViewChild('drawer') drawer: MatDrawer;\r\n\r\n constructor(\r\n public store: Store,\r\n public futrstore: Store,\r\n public dialog: MatDialog,\r\n private titleService: Title,\r\n private bottomSheet: MatBottomSheet,\r\n private router: Router,\r\n private msalInstance: MsalService\r\n ) {\r\n super();\r\n this.titleService.setTitle('Future Super Member Portal');\r\n }\r\n\r\n loadMenu(isQuestionnarieVisible: boolean) {\r\n this.menu = [\r\n {\r\n id: '1',\r\n name: 'Dashboard',\r\n link: '/dashboard',\r\n icon: 'house',\r\n children: [],\r\n } as MenuModel,\r\n {\r\n id: '3',\r\n name: 'Personal Details',\r\n icon: 'account_box',\r\n children: [\r\n {\r\n id: '3-3',\r\n name: 'Change your password',\r\n link: '/change-password',\r\n icon: 'lock',\r\n children: [],\r\n featureFlag: FeatureToggleName.member.changePassword.view,\r\n } as MenuModel,\r\n {\r\n id: '3-1',\r\n name: 'Update your details',\r\n link: '/personal-details',\r\n icon: 'create',\r\n children: [],\r\n featureFlag: FeatureToggleName.member.personalDetails.view,\r\n relatedLink: '/personal-edit',\r\n } as MenuModel,\r\n // { id: '3-2', name: 'Employment details', link: '/', icon: 'business', children: [] } as MenuModel,\r\n {\r\n id: '3-4',\r\n name: 'Beneficiaries',\r\n link: '/beneficiaries',\r\n icon: 'supervisor_account',\r\n children: [],\r\n featureFlag: FeatureToggleName.member.account.beneficiaries.view,\r\n relatedLink: '/beneficiaries-edit',\r\n } as MenuModel,\r\n {\r\n id: '3-5',\r\n name: 'Adviser',\r\n link: '/',\r\n icon: 'psychology',\r\n children: [],\r\n featureFlag: FeatureToggleName.member.account.advisors.view,\r\n } as MenuModel,\r\n {\r\n id: '3-6',\r\n name: 'Tell your employer',\r\n link: '/tell-your-employer',\r\n icon: 'tour',\r\n children: [],\r\n featureFlag: FeatureToggleName.member.account.takeMeWithYou.view,\r\n } as MenuModel,\r\n ],\r\n } as MenuModel,\r\n {\r\n id: '2',\r\n name: 'Account Details',\r\n icon: 'manage_accounts',\r\n children: [\r\n {\r\n id: '2-1',\r\n name: 'Transactions',\r\n link: '/transaction-listing',\r\n icon: 'list',\r\n children: [],\r\n featureFlag: FeatureToggleName.member.account.transactions.view,\r\n } as MenuModel,\r\n {\r\n id: '2-2',\r\n name: 'Manage Investments',\r\n link: '/investment',\r\n icon: 'currency_exchange',\r\n children: [],\r\n featureFlag:\r\n FeatureToggleName.member.account.manageInvestments.update,\r\n } as MenuModel,\r\n {\r\n id: '2-7',\r\n name: 'Investment Switch History',\r\n link: '/investment/switch-history',\r\n icon: 'manage_history',\r\n children: [],\r\n featureFlag:\r\n FeatureToggleName.member.account.manageInvestments.update,\r\n } as MenuModel,\r\n {\r\n id: '2-3',\r\n name: 'Unit price listing',\r\n link: '/unit-prices',\r\n icon: 'paid',\r\n children: [],\r\n featureFlag: FeatureToggleName.member.unitPriceListing.view,\r\n } as MenuModel,\r\n {\r\n id: '2-4',\r\n name: 'Asset Allocation',\r\n link: '/asset-allocation',\r\n icon: 'request_quote',\r\n children: [],\r\n featureFlag:\r\n FeatureToggleName.member.account.underlyingInvestmentSummary.view,\r\n } as MenuModel,\r\n {\r\n id: '2-5',\r\n name: isQuestionnarieVisible\r\n ? 'Request insurance'\r\n : 'Insurance details',\r\n link: '/insurance',\r\n icon: 'security',\r\n children: [],\r\n featureFlag: FeatureToggleName.member.account.insuranceDetails.view,\r\n } as MenuModel,\r\n {\r\n id: '2-6',\r\n name: 'Start a pension',\r\n link: '/start-a-pension',\r\n icon: 'attach_money',\r\n children: [],\r\n featureFlag: FeatureToggleName.member.account.startAPension.view,\r\n } as MenuModel,\r\n ],\r\n } as MenuModel,\r\n {\r\n id: '15',\r\n name: 'Contributions',\r\n icon: 'paid',\r\n children: [\r\n {\r\n id: '15-1',\r\n name: 'Make a contribution',\r\n link: '/make-a-contribution',\r\n icon: 'note_add',\r\n children: [],\r\n featureFlag:\r\n FeatureToggleName.member.account.makeAContribution.view,\r\n } as MenuModel,\r\n {\r\n id: '15-2',\r\n name: 'Contribution cap limits',\r\n link: '/contributions',\r\n icon: 'settings_ethernet',\r\n children: [],\r\n featureFlag:\r\n FeatureToggleName.member.account.contributionCapLimits.view,\r\n } as MenuModel,\r\n {\r\n id: '15-3',\r\n name: 'Consolidate your super',\r\n link: '/rollin',\r\n icon: 'merge_type',\r\n children: [],\r\n featureFlag: FeatureToggleName.member.account.rollIn.view,\r\n } as MenuModel,\r\n {\r\n id: '15-4',\r\n name: 'Notice of intent to claim a tax deduction',\r\n link: '/claim-a-tax-deduction',\r\n icon: 'price_change',\r\n children: [],\r\n featureFlag:\r\n FeatureToggleName.member.account.intentToClaimTaxDeduction.view,\r\n } as MenuModel,\r\n {\r\n id: '15-6',\r\n name: 'SuperMatch',\r\n link: '/rollin',\r\n icon: 'join_inner',\r\n children: [],\r\n featureFlag: FeatureToggleName.member.account.superMatch.view,\r\n } as MenuModel,\r\n ],\r\n } as MenuModel,\r\n {\r\n id: '54',\r\n name: 'Pension',\r\n icon: 'savings',\r\n children: [\r\n {\r\n id: '54-1',\r\n name: 'Pension schedule',\r\n link: '/pension-details',\r\n icon: 'event',\r\n children: [],\r\n featureFlag: FeatureToggleName.member.account.pensionDetails.view,\r\n } as MenuModel,\r\n {\r\n id: '54-2',\r\n name: 'Centrelink schedule',\r\n link: '/',\r\n icon: 'event',\r\n children: [],\r\n featureFlag:\r\n FeatureToggleName.member.account.centrelinkSchedule.view,\r\n } as MenuModel,\r\n ],\r\n } as MenuModel,\r\n {\r\n id: '16',\r\n name: 'Access Your Super',\r\n link: '/access-your-super',\r\n icon: 'price_change',\r\n children: [],\r\n featureFlag: FeatureToggleName.member.account.accessYourSuper.view,\r\n } as MenuModel,\r\n {\r\n id: '7',\r\n name: 'Documents',\r\n icon: 'folder',\r\n children: [\r\n {\r\n id: '7-1',\r\n name: 'View statements',\r\n link: '/member-statements',\r\n icon: 'text_snippet',\r\n children: [],\r\n featureFlag: FeatureToggleName.member.account.viewStatements.view,\r\n } as MenuModel,\r\n {\r\n id: '7-2',\r\n name: 'Other documents',\r\n link: '/other-documents',\r\n icon: 'article',\r\n children: [],\r\n featureFlag: FeatureToggleName.member.account.otherDocuments.view,\r\n } as MenuModel,\r\n ],\r\n } as MenuModel,\r\n ];\r\n }\r\n ngAfterViewInit() {}\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n // this.store.dispatch(RequestAction());\r\n\r\n this.router.events.subscribe(async (x: any) => {\r\n this.selectedParentMenu = '';\r\n var currentUrl = x.routerEvent?.url.toLowerCase();\r\n var menu = await this.helper.getValue(this.menuList$);\r\n menu.forEach((element) => {\r\n var parentName = element.name;\r\n element.children.forEach((child) => {\r\n if (\r\n child.link.toLowerCase() == currentUrl ||\r\n child.relatedLink == currentUrl\r\n ) {\r\n this.selectedParentMenu = parentName;\r\n }\r\n });\r\n });\r\n });\r\n\r\n this.featureToggleValues = {\r\n available: FeatureToggleValue.available,\r\n hidden: FeatureToggleValue.hidden,\r\n disabled: FeatureToggleValue.disabled,\r\n };\r\n\r\n this.sub = this.selectedAccount$.subscribe((x) => {\r\n this.selectedAccount = x;\r\n });\r\n\r\n this.screenWidthChange(this.store, (width: number) => {\r\n this.menuMode = 'side';\r\n this.menuOpened = true;\r\n\r\n if (width < 1300) {\r\n this.menuMode = 'over';\r\n this.menuOpened = false;\r\n }\r\n this.sub = this.router.events\r\n .pipe(filter((event) => event instanceof RoutesRecognized))\r\n .subscribe((event) => {\r\n this.bottomSheet.dismiss(this.TemplateBottomSheet);\r\n });\r\n });\r\n setTimeout(() => {\r\n this.store.dispatch(MainSetAnimatedPageAction());\r\n }, 1000);\r\n\r\n this.sub = this.expanded$.subscribe((x) => {\r\n this.expanded = x;\r\n });\r\n\r\n // Filter menu items based on insurance questionnaire and feature toggles, and then push to redux state\r\n combineLatest([\r\n this.selectedAccount$,\r\n this.accountFeatureToggles$,\r\n this.isQuestionnarieVisible$,\r\n ]).subscribe(([selectedAccount, featureToggles, isVisible]) => {\r\n if (selectedAccount) this.loadMenu(isVisible);\r\n\r\n if (\r\n selectedAccount &&\r\n featureToggles &&\r\n (isVisible === true || isVisible === false)\r\n ) {\r\n var newMenu = [...this.menu];\r\n\r\n //Filter questionnaire stuff first\r\n if (!isVisible) {\r\n for (let i = 0; i < newMenu.length; i++) {\r\n newMenu[i] = {\r\n ...newMenu[i],\r\n children: newMenu[i].children?.filter((c) => c.id != '6-2'),\r\n };\r\n }\r\n } else {\r\n for (let i = 0; i < newMenu.length; i++) {\r\n newMenu[i] = {\r\n ...newMenu[i],\r\n children: newMenu[i].children?.filter((c) => c.id != '6-1'),\r\n };\r\n }\r\n }\r\n\r\n // Filter feature toggles\r\n var returnMenu = [];\r\n for (let i = 0; i < newMenu.length; i++) {\r\n // If the menu item has children we should check that at least 1 child item will be available/disabled\r\n // If there are 0 child items available/disabled, we dont show the top level menu item\r\n if (newMenu[i].children.length > 0) {\r\n var topLevelMenuItem = {\r\n ...newMenu[i],\r\n children: newMenu[i].children?.filter((c) =>\r\n this.featureToggleHelper.checkToggle(\r\n c.featureFlag,\r\n featureToggles,\r\n selectedAccount\r\n )\r\n ),\r\n };\r\n\r\n if (topLevelMenuItem.children.length > 0) {\r\n returnMenu.push(topLevelMenuItem);\r\n }\r\n } else {\r\n // If there are 0 children, we just check the feature toggle on the top level item and add it if its not hidden (e.g. AYS)\r\n if (\r\n this.featureToggleHelper.checkToggle(\r\n newMenu[i].featureFlag,\r\n featureToggles,\r\n selectedAccount\r\n )\r\n ) {\r\n returnMenu.push(newMenu[i]);\r\n }\r\n }\r\n }\r\n this.setMenu(returnMenu);\r\n }\r\n });\r\n }\r\n bs: any = null;\r\n\r\n openMenu() {\r\n if (this.bs) {\r\n this.bs.dismiss();\r\n this.bs = null;\r\n return;\r\n }\r\n this.bs = this.bottomSheet.open(this.TemplateBottomSheet, {\r\n panelClass: 'menu-items',\r\n });\r\n }\r\n\r\n openedChange() {\r\n if (this.drawer) {\r\n this.menuOpened = this.drawer.opened;\r\n }\r\n }\r\n onSwipeToggle(event) {\r\n this.menuOpened = !this.menuOpened;\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n onItemSelectedClick(item: MenuModel) {\r\n this.store.dispatch(MainExpandedRequestAction({ menuItem: item }));\r\n\r\n if (item.link?.startsWith('http')) {\r\n window.open(item.link, '_blank');\r\n } else {\r\n if (item.link) this.router.navigate([item.link]);\r\n }\r\n }\r\n\r\n isMenuExpanded(item: MenuModel) {\r\n return this.expanded.filter((x) => x.id == item.id).length > 0;\r\n }\r\n\r\n onSignoutClick(): void {\r\n this.msalInstance.logoutRedirect({\r\n postLogoutRedirectUri: environment.b2cLogoutUrl,\r\n });\r\n }\r\n\r\n setMenu(menu: MenuModel[]) {\r\n this.store.dispatch(SetMenuAction({ data: menu }));\r\n }\r\n}\r\n","\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n =992?'form-inline float-right':'d-flex flex-row w-100 ps-3'}} \"\r\n >\r\n 992?'':'margin-auto'}} \"\r\n >\r\n 992\">\r\n 500\"\r\n href=\"https://www.futuresuper.com.au/support-and-faqs\"\r\n target=\"_blank\"\r\n >FAQs\r\n \r\n\r\n 500\"\r\n href=\"https://www.futuresuper.com.au/contact-us\"\r\n target=\"_blank\"\r\n >Contact us\r\n \r\n\r\n \r\n \r\n \r\n \r\n more_horiz\r\n \r\n\r\n \r\n\r\n \r\n \r\n
FAQs
\r\n quiz\r\n \r\n\r\n \r\n
Contact us
\r\n email\r\n \r\n\r\n \r\n
Logout
\r\n logout\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n =992 && selectedAccount\"\r\n appanimatecss=\"animate__fadeInDown\"\r\n >\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n\r\n \r\n\r\n
\r\n \r\n
\r\n \r\n\r\n \r\n \r\n more_horiz\r\n \r\n
\r\n \r\n house\r\n \r\n \r\n \r\n person\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n {{item.icon}}{{item.name | textTransform}}\r\n \r\n \r\n
    \r\n
  • \r\n \r\n \r\n {{child.icon}}\r\n
    {{child.name|textTransform}}
    \r\n \r\n \r\n {{child.icon}}\r\n
    {{child.name|textTransform}}
    \r\n \r\n \r\n
  • \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n 0?menu:null\"\r\n aria-expanded=\"false\"\r\n >\r\n {{item.icon}}{{item.name|textTransform}}\r\n 0\" class=\"item-arrow\"\r\n >expand_more\r\n \r\n \r\n
    \r\n
  • \r\n \r\n \r\n {{child.icon}}\r\n
    {{child.name|textTransform}}
    \r\n \r\n \r\n {{child.icon}}\r\n
    {{child.name|textTransform}}
    \r\n \r\n \r\n
  • \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n","import { Router, RouterOutlet } from '@angular/router';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Component } from '@angular/core';\r\nimport { ComponentBase } from '../../../../views/component-base';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { Meta } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'login-master',\r\n templateUrl: './not-loggedin.master.html',\r\n styleUrls: ['./not-loggedin.master.scss'],\r\n imports: [RouterOutlet],\r\n})\r\nexport class NotLoggedInMasterComponent extends ComponentBase {\r\n bg: string = '';\r\n constructor(\r\n private titleService: Title,\r\n public dialog: MatDialog,\r\n private meta: Meta,\r\n private router: Router\r\n ) {\r\n super();\r\n this.titleService.setTitle('CIRT Super – Member Portal');\r\n this.meta.addTag({\r\n name: 'description',\r\n content:\r\n 'CIRT Super Member Portal. Log in to access your super account details, super balance and change your details.',\r\n });\r\n this.meta.addTag({\r\n name: 'keywords',\r\n content: 'CIRT Super, CIRT Super Member Portal, CIRT Super Login',\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n var list = [\r\n 'https://as2.ftcdn.net/v2/jpg/04/22/33/97/1000_F_422339759_dX0ZCAhPlzgbTR5jO1lJ9avu1UGhY2L1.jpg',\r\n 'https://as2.ftcdn.net/v2/jpg/04/73/14/93/1000_F_473149388_Lmaa23qUD8WXvywJHdwO5oIr9heu6uXZ.jpg',\r\n 'https://as1.ftcdn.net/v2/jpg/03/90/12/42/1000_F_390124234_aUpkLP5zVGAoYLIYYM9dIDq0cJAWHPHi.jpg',\r\n 'https://as1.ftcdn.net/v2/jpg/04/43/87/80/1000_F_443878003_b906ywdMm2N4fPBnhA3vxp74llnWQwPE.jpg',\r\n 'https://as1.ftcdn.net/v2/jpg/04/01/01/48/1000_F_401014880_2Q1pcdLY4KRQUHwBdYgaDhlb4Vsp3PNv.jpg',\r\n 'https://as2.ftcdn.net/v2/jpg/02/96/45/65/1000_F_296456565_LyHIBM4QdbExDQHZiotNJfEQLMk1tbG4.jpg',\r\n ];\r\n this.bg = list[Math.floor(Math.random() * list.length)];\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n","import { Router, RouterOutlet } from '@angular/router';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { Component } from '@angular/core';\r\nimport { ComponentBase } from '../../../../views/component-base';\r\nimport { UIComponentState } from '@ifaa-components/ui-components/lib/store/app.states';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { Meta } from '@angular/platform-browser';\r\nimport { AppState } from 'src/app/store/app.states';\r\n\r\n@Component({\r\n selector: 'login-master',\r\n templateUrl: './not-loggedin.master.html',\r\n styleUrls: ['./not-loggedin.master.scss'],\r\n imports: [RouterOutlet],\r\n})\r\nexport class NotLoggedInMasterComponent extends ComponentBase {\r\n bg: string = '';\r\n\r\n constructor(\r\n public store: Store,\r\n public appstore: Store,\r\n private titleService: Title,\r\n public dialog: MatDialog,\r\n private meta: Meta,\r\n private router: Router\r\n ) {\r\n super();\r\n this.titleService.setTitle('Future Super – Member Portal');\r\n this.meta.addTag({\r\n name: 'description',\r\n content:\r\n 'Future Super Member Portal. Log in to access your super account details, super balance and change your details.',\r\n });\r\n this.meta.addTag({\r\n name: 'keywords',\r\n content: 'Future Super, Future Super Member Portal, Future Super Login',\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n //this.appstore.dispatch(SetLoginVideoUrlAction({ url: 'https://sharedassetstorage.blob.core.windows.net/web/FUTR/FS_HomePage_Hero_02.mp4' }));\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n","import { Router, RouterOutlet } from '@angular/router';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Store } from '@ngrx/store';\r\nimport { Component } from '@angular/core';\r\nimport { ComponentBase } from '../../../../views/component-base';\r\nimport { UIComponentState } from '@ifaa-components/ui-components/lib/store/app.states';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { Meta } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'login-master',\r\n templateUrl: './not-loggedin.master.html',\r\n styleUrls: ['./not-loggedin.master.scss'],\r\n imports: [RouterOutlet],\r\n})\r\nexport class NotLoggedInMasterComponent extends ComponentBase {\r\n bg: string = '';\r\n constructor(\r\n public store: Store,\r\n private titleService: Title,\r\n public dialog: MatDialog,\r\n private meta: Meta,\r\n private router: Router\r\n ) {\r\n super();\r\n this.titleService.setTitle('Smart Monday – Member Portal');\r\n this.meta.addTag({\r\n name: 'description',\r\n content:\r\n 'Smart Monday Member Portal. Log in to access your super account details, super balance and change your details.',\r\n });\r\n this.meta.addTag({\r\n name: 'keywords',\r\n content: 'Smart Monday, Smart Monday Member Portal, Smart Monday Login',\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n var list = [\r\n 'https://as2.ftcdn.net/v2/jpg/04/22/33/97/1000_F_422339759_dX0ZCAhPlzgbTR5jO1lJ9avu1UGhY2L1.jpg',\r\n 'https://as2.ftcdn.net/v2/jpg/04/73/14/93/1000_F_473149388_Lmaa23qUD8WXvywJHdwO5oIr9heu6uXZ.jpg',\r\n 'https://as1.ftcdn.net/v2/jpg/03/90/12/42/1000_F_390124234_aUpkLP5zVGAoYLIYYM9dIDq0cJAWHPHi.jpg',\r\n 'https://as1.ftcdn.net/v2/jpg/04/43/87/80/1000_F_443878003_b906ywdMm2N4fPBnhA3vxp74llnWQwPE.jpg',\r\n 'https://as1.ftcdn.net/v2/jpg/04/01/01/48/1000_F_401014880_2Q1pcdLY4KRQUHwBdYgaDhlb4Vsp3PNv.jpg',\r\n 'https://as2.ftcdn.net/v2/jpg/02/96/45/65/1000_F_296456565_LyHIBM4QdbExDQHZiotNJfEQLMk1tbG4.jpg',\r\n ];\r\n this.bg = list[Math.floor(Math.random() * list.length)];\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { createEffect } from '@ngrx/effects';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class MainLayoutEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n //private service: MembersService\r\n ) {\r\n }\r\n\r\n // searchRequest$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ActionsList.MainSearchRequestAction),\r\n // switchMap((action: any) => this.service.get(action.search, action.page).pipe(\r\n // map((data: any) => {\r\n // return ActionsList.MainSearchResponseAction({ payload: data.members });\r\n // }),\r\n // catchError(err => {\r\n // return EMPTY;\r\n // })\r\n // )),\r\n // ));\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from 'src/environments/environment';\r\nimport { BaseService } from 'src/app/services/base.services';\r\nimport { JetcoLodgeClaimModel } from '../views/jetco/lodge-claim/state';\r\n\r\n@Injectable()\r\nexport class JetcoService extends BaseService {\r\n\r\n constructor(private http: HttpClient,\r\n public toastr: ToastrService,\r\n private store: Store) {\r\n super(toastr);\r\n }\r\n\r\n submit(accountId: number, obj: JetcoLodgeClaimModel): Observable {\r\n return this.http.post(environment.apiUrl + `/member-portal/TrainingPaymentClaim/${accountId}/submit`, obj, { headers: this.headers() });\r\n }\r\n\r\n jetcoClaimAmount(start: string, end: string): Observable {\r\n const params = new HttpParams()\r\n .set('start', start)\r\n if(end) {\r\n params.set('end', end);\r\n }\r\n return this.http.get(environment.apiUrl + `/member-portal/TrainingPaymentClaim/jetco-claim-account`, { headers: this.headers(), params: params });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { createEffect } from '@ngrx/effects';\r\nimport { JetcoService } from '../../../services/jetco.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class JetcoLodgeClaimEffects {\r\n constructor(private store: Store,\r\n public toastr: ToastrService,\r\n private actions$: Actions,\r\n private service: JetcoService\r\n ) {\r\n }\r\n\r\n submit$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.SubmitRequestAction),\r\n switchMap((action: any) => this.service.submit(action.accountId, action.payload).pipe(\r\n map((data: any) => {\r\n this.toastr.success(data.message);\r\n return ActionsList.SubmitResponseAction({ payload: data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n\r\n claimAmount$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.JetcoClaimAmountRequestAction),\r\n switchMap((action: any) => this.service.jetcoClaimAmount(action.start, action.end).pipe(\r\n map((data: any) => {\r\n return ActionsList.JetcoClaimAmountResponseAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from 'src/environments/environment';\r\nimport { BaseService } from 'src/app/services/base.services';\r\n\r\n@Injectable()\r\nexport class EmploymentService extends BaseService {\r\n\r\n constructor(private http: HttpClient,\r\n public toastr: ToastrService,\r\n private store: Store) {\r\n super(toastr);\r\n }\r\n\r\n getBalances(accountId: number): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/Employment/account/${accountId}/balances`, { headers: this.headers() });\r\n }\r\n\r\n getCurrentEmployment(accountId: number): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/Employment/account/${accountId}/current`, { headers: this.headers() });\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { Router } from '@angular/router';\r\nimport { EmploymentService } from '../../services/employment.service';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class EmployerHistoryViewEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private router: Router,\r\n private service: EmploymentService) {\r\n }\r\n\r\n getData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.getBalances(action.accountId).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n }))\r\n ),\r\n ));\r\n\r\n // isLoggedIn$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ActionsList.IsLoggedInAction),\r\n // switchMap((action: any) => this.service.isLoggedIn().pipe(\r\n // map((data: any) => {\r\n // return ActionsList.LoggedInAction({ payload: '' });\r\n // }),\r\n // catchError(err => {\r\n // return EMPTY;\r\n // })\r\n // )),\r\n // ));\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from 'src/environments/environment';\r\nimport { BaseService } from 'src/app/services/base.services';\r\nimport { LodgeClaimModel } from '../views/lodge-claim/state';\r\n\r\n@Injectable()\r\nexport class LodgeClaimService extends BaseService {\r\n\r\n constructor(private http: HttpClient,\r\n public toastr: ToastrService) {\r\n super(toastr);\r\n }\r\n\r\n submit(accountId: number, obj: LodgeClaimModel): Observable {\r\n return this.http.post(environment.apiUrl + `/member-portal/BenefitPaymentClaim/${accountId}/submit`, obj, { headers: this.headers() });\r\n }\r\n\r\n getEmployers(accountId: number): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/BenefitPaymentClaim/${accountId}/employers`, { headers: this.headers() });\r\n }\r\n\r\n checkForMemberTfn(accountId: number): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/BenefitPaymentClaim/${accountId}/hastfn`, { headers: this.headers() });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { createEffect } from '@ngrx/effects';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { LodgeClaimService } from '../../services/lodge-claim.service';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class LodgeClaimEffects {\r\n constructor(public toastr: ToastrService,\r\n private actions$: Actions,\r\n private service: LodgeClaimService) {\r\n }\r\n\r\n submit$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.SubmitRequestAction),\r\n switchMap((action: any) => this.service.submit(action.accountId, action.payload).pipe(\r\n map((data: any) => {\r\n if (data.message)\r\n this.toastr.success(data.message);\r\n\r\n return ActionsList.SubmitResponseAction({ payload: data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n list$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.EmployerListRequestAction),\r\n switchMap((action: any) =>\r\n this.service.getEmployers(action.accountId).pipe(\r\n map((data: any) => {\r\n return ActionsList.EmployerListResponseAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n getData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.MemberDataRequestAction),\r\n switchMap((action: any) => this.service.checkForMemberTfn(action.accountId).pipe(\r\n map((data: any) => {\r\n return ActionsList.MemberDataResponseAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { Router } from '@angular/router';\r\nimport { JetcoService } from '../../services/jetco.service';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class JetcoClaimAmountEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private service: JetcoService) {\r\n }\r\n\r\n getData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.jetcoClaimAmount(action.start, action.end).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n}\r\n","import { EmploymentService } from '../../services/employment.service';\r\nimport { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { Router } from '@angular/router';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class EmployerBalancesEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private router: Router,\r\n private service: EmploymentService ) {\r\n }\r\n\r\n getData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.getBalances(action.accountId).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )), \r\n ));\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { Router } from '@angular/router';\r\nimport { UnderlyingInvestmentService } from 'src/app/services/underlying-investment.service';\r\nimport { EmploymentService } from '../../../services/employment.service';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class CurrentEmployerEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private router: Router,\r\n private service: EmploymentService) {\r\n }\r\n\r\n getData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.getCurrentEmployment(action.accountId).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n}\r\n","import { NotLoggedInMasterComponent } from './layout/not-loggedin/not-loggedin.master';\r\nimport { FooterComponent } from './layout/footer/footer.master';\r\nimport { MainLayoutEffects } from './layout/main/effects';\r\nimport {\r\n HttpClientModule,\r\n provideHttpClient,\r\n withInterceptorsFromDi,\r\n} from '@angular/common/http';\r\nimport { EffectsModule } from '@ngrx/effects';\r\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StoreModule } from '@ngrx/store';\r\nimport { CIRTRoutingModule } from './cirt-routing.module';\r\nimport { featureKey, reducers } from './store/cirt.reducers';\r\nimport { MainMasterComponent } from './layout/main/main.master';\r\n\r\nimport { IfaaUiComponentsModule } from '@ifaa-components/ui-components';\r\nimport { MemberPortalSharedModule } from '../shared/shared.module';\r\nimport { TenantDashboardComponent } from './views/dashboard/dashboard.component';\r\nimport { TenantJetcoComponent } from './views/jetco/jetco/jetco.component';\r\nimport { TenantJetcoApprovedTrainingComponent } from './views/jetco/approved-training/approved-training.component';\r\nimport { TenantJetcoLodgeClaimComponent } from './views/jetco/lodge-claim/lodge-claim.component';\r\nimport { JetcoLodgeClaimEffects } from './views/jetco/lodge-claim/effects';\r\nimport { JetcoService } from './services/jetco.service';\r\nimport { EmploymentHistoryViewComponent } from './views/employment-history/employment-history-view.component';\r\nimport { EmployerHistoryViewEffects } from './views/employment-history/effects';\r\nimport { TenantLodgeClaimComponent } from './views/lodge-claim/lodge-claim.component';\r\nimport { LodgeClaimEffects } from './views/lodge-claim/effects';\r\nimport { LodgeClaimService } from './services/lodge-claim.service';\r\nimport { JetcoClaimAmountEffects } from './components/jetco-claim-amount/effects';\r\nimport { CurrentEmployerViewComponent } from './components/current-employer/current-employer/current-employer-view.component';\r\nimport { EmployerBalancesComponent } from './components/employer-balances/employer-balances.component';\r\nimport { EmployerBalancesEffects } from './components/employer-balances/effects';\r\nimport { JetcoClaimComponent } from './components/jetco-claim-amount/jetco-claim-amount.component';\r\nimport { EmploymentService } from './services/employment.service';\r\nimport { CurrentEmployerEffects } from './components/current-employer/current-employer/effects';\r\nimport { FeatureTogglePipe } from '../shared/pipes/featureToggle';\r\n\r\n@NgModule({\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n imports: [\r\n CommonModule,\r\n CIRTRoutingModule,\r\n HttpClientModule,\r\n IfaaUiComponentsModule,\r\n StoreModule.forFeature(featureKey, reducers),\r\n EffectsModule.forFeature([\r\n MainLayoutEffects,\r\n JetcoLodgeClaimEffects,\r\n CurrentEmployerEffects,\r\n LodgeClaimEffects,\r\n EmployerHistoryViewEffects,\r\n JetcoClaimAmountEffects,\r\n EmployerBalancesEffects,\r\n ]),\r\n MemberPortalSharedModule,\r\n MainMasterComponent,\r\n CurrentEmployerViewComponent,\r\n EmployerBalancesComponent,\r\n FooterComponent,\r\n NotLoggedInMasterComponent,\r\n TenantDashboardComponent,\r\n TenantJetcoComponent,\r\n TenantJetcoApprovedTrainingComponent,\r\n TenantJetcoLodgeClaimComponent,\r\n TenantLodgeClaimComponent,\r\n EmploymentHistoryViewComponent,\r\n JetcoClaimComponent,\r\n ],\r\n exports: [\r\n MainMasterComponent,\r\n NotLoggedInMasterComponent,\r\n TenantDashboardComponent,\r\n CurrentEmployerViewComponent,\r\n TenantJetcoComponent,\r\n TenantJetcoApprovedTrainingComponent,\r\n TenantJetcoLodgeClaimComponent,\r\n EmploymentHistoryViewComponent,\r\n TenantLodgeClaimComponent,\r\n JetcoClaimComponent,\r\n EmployerBalancesComponent,\r\n ],\r\n providers: [\r\n JetcoService,\r\n LodgeClaimService,\r\n EmploymentService,\r\n FeatureTogglePipe,\r\n provideHttpClient(withInterceptorsFromDi()),\r\n ],\r\n})\r\nexport class CIRTModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { createEffect } from '@ngrx/effects';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class MainLayoutEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n //private service: MembersService\r\n ) {\r\n }\r\n\r\n // searchRequest$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ActionsList.MainSearchRequestAction),\r\n // switchMap((action: any) => this.service.get(action.search, action.page).pipe(\r\n // map((data: any) => {\r\n // return ActionsList.MainSearchResponseAction({ payload: data.members });\r\n // }),\r\n // catchError(err => {\r\n // return EMPTY;\r\n // })\r\n // )),\r\n // ));\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { Router } from '@angular/router';\r\nimport { EmploymentService } from '../../services/employment.service';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class EmployerHistoryViewEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private router: Router,\r\n private service: EmploymentService) {\r\n }\r\n\r\n getData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.getBalances(action.accountId).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n // isLoggedIn$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ActionsList.IsLoggedInAction),\r\n // switchMap((action: any) => this.service.isLoggedIn().pipe(\r\n // map((data: any) => {\r\n // return ActionsList.LoggedInAction({ payload: '' });\r\n // }),\r\n // catchError(err => {\r\n // return EMPTY;\r\n // })\r\n // )),\r\n // ));\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { createEffect } from '@ngrx/effects';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class LodgeClaimEffects {\r\n constructor(public toastr: ToastrService,\r\n private actions$: Actions) {\r\n }\r\n\r\n // submit$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ActionsList.SubmitRequestAction),\r\n // switchMap((action: any) => this.service.submit(action.accountId, action.payload).pipe(\r\n // map((data: any) => {\r\n // if (data.message)\r\n // this.toastr.success(data.message);\r\n \r\n // return ActionsList.SubmitResponseAction({ payload: data });\r\n // }),\r\n // catchError(err => {\r\n // return EMPTY;\r\n // })\r\n // )),\r\n // ));\r\n\r\n // list$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ActionsList.EmployerListRequestAction),\r\n // switchMap((action: any) =>\r\n // this.service.getEmployers(action.accountId).pipe(\r\n // map((data: any) => {\r\n // return ActionsList.EmployerListResponseAction({ payload: data.data });\r\n // }),\r\n // catchError(err => {\r\n // return EMPTY;\r\n // })\r\n // )),\r\n // ));\r\n\r\n // getData$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ActionsList.MemberDataRequestAction),\r\n // switchMap((action: any) => this.service.checkForMemberTfn(action.accountId).pipe(\r\n // map((data: any) => {\r\n // return ActionsList.MemberDataResponseAction({ payload: data.data });\r\n // }),\r\n // catchError(err => {\r\n // return EMPTY;\r\n // })\r\n // )),\r\n // ));\r\n\r\n}\r\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { featureKey } from '../../../store/smrt.reducers';\r\nimport { SMRTState } from '../../../store/smrt.states';\r\nimport { ICurrentEmployerViewState } from './state';\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const currentEmployer = createSelector(memberPortalState, (state) => state.currentEmployer);\r\n\r\nexport const currentEmployer_Employer = createSelector(\r\n currentEmployer,\r\n (state: ICurrentEmployerViewState) => state.employer\r\n);\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { SMRTState } from '../../../store/smrt.states';\r\nimport { MemberPortalSharedState } from 'src/app/modules/shared/store/shared.states';\r\nimport { currentEmployer_Employer } from './selectors';\r\nimport { memberAccountDropdown_SelectedAccount } from 'src/app/modules/shared/components/member-account-dropdown/selectors';\r\nimport { RequestAction } from './actions';\r\nimport { NgIf, AsyncPipe, DatePipe } from '@angular/common';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\n\r\n@Component({\r\n selector: 'app-current-employer-view',\r\n templateUrl: './current-employer-view.component.html',\r\n styleUrls: ['./current-employer-view.component.scss'],\r\n imports: [AppComponentWrapperComponent, MatIcon, NgIf, AsyncPipe, DatePipe],\r\n})\r\nexport class CurrentEmployerViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n employer$ = this.smrtstore.pipe(select(currentEmployer_Employer));\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n\r\n constructor(\r\n public store: Store,\r\n public smrtstore: Store\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n this.sub = this.selectedAccount$.subscribe((x) => {\r\n console.warn(x);\r\n if (x) {\r\n this.dispatch(this.store, RequestAction({ accountId: x.accountId }));\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n work\r\n
\r\n
\r\n

{{employer.employerName}}

\r\n
\r\n
\r\n
\r\n person\r\n
Number
\r\n
{{employer.payrollNumber}}
\r\n
\r\n
\r\n
\r\n
\r\n event\r\n
Joined
\r\n
{{employer.joinDate | date:'dd/MM/yyyy'}}
\r\n
\r\n
\r\n
\r\n
\r\n event\r\n
Last contribution
\r\n
{{employer.lastContribution | date:'dd/MM/yyyy'}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n","import { featureKey } from './../../store/smrt.reducers';\r\nimport { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { IEmployerBalancesState } from './state';\r\nimport { MemberPortalSharedState } from 'src/app/modules/shared/store/shared.states';\r\nimport { SMRTState } from '../../store/smrt.states';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const employerBalances = createSelector(memberPortalState, (state) => state.employerBalancesState);\r\n\r\nexport const employerBalances_Data = createSelector(\r\n employerBalances,\r\n (state: IEmployerBalancesState) => state.data\r\n);\r\n","import { EmploymentService } from '../../services/employment.service';\r\nimport { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { Router } from '@angular/router';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class EmployerBalancesEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private router: Router,\r\n private service: EmploymentService ) {\r\n }\r\n\r\n getData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.getBalances(action.accountId).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { Router } from '@angular/router';\r\nimport { UnderlyingInvestmentService } from 'src/app/services/underlying-investment.service';\r\nimport { EmploymentService } from '../../../services/employment.service';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class CurrentEmployerEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private router: Router,\r\n private service: EmploymentService ) {\r\n }\r\n\r\n getData$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.service.getCurrentEmployment(action.accountId).pipe(\r\n map((data: any) => {\r\n return ActionsList.ResponseAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n \r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from 'src/environments/environment';\r\nimport { BaseService } from 'src/app/services/base.services';\r\nimport { SMRTStartupValidationModel } from '../views/startup/state';\r\n\r\n@Injectable()\r\nexport class StartupService extends BaseService {\r\n\r\n constructor(private http: HttpClient,\r\n public toastr: ToastrService,\r\n private store: Store) {\r\n super(toastr);\r\n }\r\n\r\n validate(model: SMRTStartupValidationModel): Observable {\r\n return this.http.post(environment.apiUrl + `/smrt/member-portal/Startup/validate`, model, { headers: null });\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { BaseService } from './base.services';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ChangePasswordModel } from '../model/change-password.model';\r\nimport { LoginModel } from '../model/login.model';\r\n\r\n@Injectable()\r\nexport class WebUserService extends BaseService {\r\n\r\n constructor(private http: HttpClient,\r\n public toastr: ToastrService,\r\n private store: Store) {\r\n super(toastr);\r\n }\r\n\r\n authenticate(obj: LoginModel): Observable {\r\n return this.http.post(environment.apiUrl + '/web-user/authenticate', obj);\r\n }\r\n\r\n isLoggedIn(): Observable {\r\n return this.http.get(environment.apiUrl + '/web-user/isloggedin', { headers: this.headers() });\r\n }\r\n\r\n isMaintenanceMode(): Observable {\r\n return this.http.get(environment.apiUrl + `/web-user/isMaintenanceMode`, { headers: this.headers() });\r\n }\r\n\r\n changepassword(obj: ChangePasswordModel): Observable {\r\n return this.http.post(environment.apiUrl + `/web-user/change-password`, obj, { headers: this.headers() });\r\n }\r\n\r\n}\r\n","import { validate } from 'ngrx-forms';\r\nimport { Injectable } from '@angular/core';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { Router } from '@angular/router';\r\nimport { WebUserService } from 'src/app/services/webuser.service';\r\nimport { IsLoggedInRequestAction } from 'src/app/store/common/common.actions';\r\nimport { StartupService } from '../../services/startup.service';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class StartupEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private router: Router,\r\n private service: StartupService,\r\n private webUserService: WebUserService,\r\n ) {\r\n }\r\n\r\n login$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.StartupAction),\r\n switchMap((action: any) => this.service.validate(action.payload).pipe(\r\n map((data: any) => {\r\n return ActionsList.StartupCompletedAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n checkAvailability$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.CheckAvailabilityRequestAction),\r\n switchMap((action: any) => this.webUserService.isMaintenanceMode().pipe(\r\n map((data: any) => {\r\n return ActionsList.CheckAvailabilityResponseAction({ payload: data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n}\r\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { featureKey } from '../../store/smrt.reducers';\r\nimport { SMRTState } from '../../store/smrt.states';\r\nimport { IStartupState } from './state';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\nexport const getStartup = createSelector(memberPortalState, (state) => state.startupState);\r\n\r\nexport const getStartup_Form = createSelector(\r\n getStartup,\r\n (state: IStartupState) => state.form\r\n);\r\n\r\nexport const getStartup_Url = createSelector(\r\n getStartup,\r\n (state: IStartupState) => state.url\r\n);\r\n\r\nexport const getStartup_IsLoading = createSelector(\r\n getStartup,\r\n (state: IStartupState) => state.isLoading\r\n);\r\n\r\nexport const getStartup_isUnavailable = createSelector(\r\n getStartup,\r\n (state: IStartupState) => state.isUnavailable\r\n);\r\n\r\nexport const getStartup_isUnavailableMessage = createSelector(\r\n getStartup,\r\n (state: IStartupState) => state.isUnavailableMessage\r\n);\r\n","import { AppState } from './../../../store/app.states';\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { Observable, of } from 'rxjs';\r\nimport { filter, first } from 'rxjs/operators';\r\nimport { commomState_SystemConfig_Messages } from 'src/app/store/common/common.selectors';\r\n\r\n@Pipe({\r\n name: 'message',\r\n})\r\nexport class MessagePipe implements PipeTransform {\r\n constructor(\r\n public store: Store,\r\n protected _sanitizer: DomSanitizer\r\n ) {}\r\n\r\n messages$ = this.store.pipe(select(commomState_SystemConfig_Messages));\r\n\r\n async transform(value: string): Promise {\r\n const messages = await this.getValue(this.messages$);\r\n\r\n return messages[value];\r\n }\r\n\r\n hasValue(value: any) {\r\n return value !== null && value !== undefined;\r\n }\r\n\r\n getValue(observable: Observable): Promise {\r\n return observable.pipe(filter(this.hasValue), first()).toPromise();\r\n }\r\n}\r\n","import {\r\n getStartup_Form,\r\n getStartup_IsLoading,\r\n getStartup_isUnavailable,\r\n getStartup_isUnavailableMessage,\r\n getStartup_Url,\r\n} from './selectors';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { CheckAvailabilityRequestAction, StartupAction } from './actions';\r\nimport { ReCaptchaV3Service } from 'ng-recaptcha-2';\r\nimport {\r\n AppButtonComponent,\r\n EntryFieldComponent,\r\n Helper,\r\n} from '@ifaa-components/ui-components';\r\nimport { Router } from '@angular/router';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { SystemConfigurationRequestAction } from 'src/app/store/common/common.actions';\r\nimport { MsalService } from '@azure/msal-angular';\r\nimport { FormGroupState, NgrxFormsModule } from 'ngrx-forms';\r\nimport { SMRTStartupValidationModel } from './state';\r\nimport { NgIf, AsyncPipe } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatProgressSpinner } from '@angular/material/progress-spinner';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { AppButtonDirective } from 'src/app/modules/shared/directives/appbutton.directive';\r\nimport { InputScrollDirective } from 'src/app/modules/shared/directives/input-scroll.directive';\r\nimport { MessagePipe } from 'src/app/modules/shared/pipes/message';\r\nimport { TenantConfigPipe } from 'src/app/modules/shared/pipes/tenantconfig';\r\n\r\n@Component({\r\n selector: 'app-startup',\r\n templateUrl: './startup.component.html',\r\n styleUrls: ['./startup.component.scss'],\r\n imports: [\r\n NgIf,\r\n MatProgressSpinner,\r\n AnimateCssDirective,\r\n NgrxFormsModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n EntryFieldComponent,\r\n InputScrollDirective,\r\n AppButtonComponent,\r\n AppButtonDirective,\r\n AsyncPipe,\r\n MessagePipe,\r\n TenantConfigPipe,\r\n TranslatePipe,\r\n ],\r\n})\r\nexport class StartupComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n errorMsg = '';\r\n form$ = this.store.pipe(select(getStartup_Form));\r\n isUnavailable$ = this.store.pipe(select(getStartup_isUnavailable));\r\n isUnavailableMessage$ = this.store.pipe(\r\n select(getStartup_isUnavailableMessage)\r\n );\r\n url$ = this.store.pipe(select(getStartup_Url));\r\n isLoading$ = this.store.pipe(select(getStartup_IsLoading));\r\n\r\n helper = new Helper();\r\n constructor(\r\n public store: Store,\r\n private recaptchaV3Service: ReCaptchaV3Service,\r\n private msalService: MsalService,\r\n private router: Router\r\n ) {\r\n super();\r\n this.checkUserIsLoggedIn();\r\n }\r\n\r\n checkUserIsLoggedIn() {\r\n if (this.msalService.instance.getAllAccounts().length > 0) {\r\n this.router.navigate(['dashboard']);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n this.dispatch(this.store, SystemConfigurationRequestAction());\r\n this.dispatch(this.store, CheckAvailabilityRequestAction());\r\n this.sub = this.url$.subscribe((x) => {\r\n if (x) {\r\n window.location.href = x;\r\n }\r\n });\r\n\r\n var error = localStorage.getItem('login-error');\r\n if (error) {\r\n switch (error) {\r\n case 'Unauthorized':\r\n this.errorMsg = \"Sorry, you're not authorized to access this portal\";\r\n break;\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n validateUser(login: FormGroupState) {\r\n if (login.isInvalid) return;\r\n\r\n console.log('===== validateUser =====');\r\n this.sub = this.recaptchaV3Service\r\n .execute('validateUser')\r\n .subscribe((token) => {\r\n console.log('===== validateUser:' + token);\r\n var clone = this.helper.clone(login.value);\r\n clone.token = token;\r\n clone.email = login.value.email;\r\n this.store.dispatch(StartupAction({ payload: clone }));\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n

{{'LOGIN_MEMBERPORTAL_TITLE' | translate}}

\r\n

\r\n

\r\n

\r\n\r\n
\r\n {{ isUnavailableMessage$ | async}}\r\n
\r\n\r\n
\r\n {{ errorMsg }}\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { commomState_SystemConfig_Config } from 'src/app/store/common/common.selectors';\r\nimport { InsuranceDetailsModel } from 'src/app/model/insurance-details.model';\r\nimport { memberAccountDropdown_SelectedAccount } from 'src/app/modules/shared/components/member-account-dropdown/selectors';\r\nimport {\r\n NgSwitch,\r\n NgSwitchCase,\r\n NgFor,\r\n NgIf,\r\n NgSwitchDefault,\r\n AsyncPipe,\r\n} from '@angular/common';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { MessagePipe } from 'src/app/modules/shared/pipes/message';\r\n\r\n@Component({\r\n selector: 'app-smrt-no-insurance',\r\n templateUrl: './smrt-no-insurance.component.html',\r\n styleUrls: ['./smrt-no-insurance.component.scss'],\r\n imports: [\r\n NgSwitch,\r\n NgSwitchCase,\r\n NgFor,\r\n NgIf,\r\n MatIcon,\r\n NgSwitchDefault,\r\n AsyncPipe,\r\n MessagePipe,\r\n TranslatePipe,\r\n ],\r\n})\r\nexport class SMRTNoInsuranceComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n @Input() fund = '';\r\n @Input() data?: InsuranceDetailsModel = undefined;\r\n\r\n tenantConfig$ = this.appstore.pipe(select(commomState_SystemConfig_Config));\r\n selectedAccount$ = this.appstore.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n\r\n constructor(public appstore: Store) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n \r\n\r\n
\r\n

You currently do not hold insurance with {{(tenantConfig$ | async)?.name}}

\r\n\r\n

\r\n

\r\n

\r\n \r\n {{item.icon}}\r\n \r\n \r\n

\r\n\r\n

\r\n

\r\n
\r\n
\r\n

You currently do not hold insurance with {{(tenantConfig$ | async)?.name}}

\r\n\r\n

\r\n

\r\n

\r\n \r\n {{item.icon}}\r\n \r\n \r\n

\r\n\r\n

\r\n

\r\n\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n

You currently do not hold insurance with {{(tenantConfig$ | async)?.name}}

\r\n

\r\n

\r\n

\r\n \r\n {{item.icon}}\r\n \r\n \r\n

\r\n \r\n

\r\n

\r\n
\r\n
\r\n\r\n
","import { NotLoggedInMasterComponent } from './layout/not-loggedin/not-loggedin.master';\r\nimport { FooterComponent } from './layout/footer/footer.master';\r\nimport { MainLayoutEffects } from './layout/main/effects';\r\nimport {\r\n provideHttpClient,\r\n withInterceptorsFromDi,\r\n} from '@angular/common/http';\r\nimport { EffectsModule } from '@ngrx/effects';\r\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StoreModule } from '@ngrx/store';\r\nimport { SMRTRoutingModule } from './smrt-routing.module';\r\nimport { featureKey, reducers } from './store/smrt.reducers';\r\nimport { MainMasterComponent } from './layout/main/main.master';\r\nimport { MaterialModule } from 'src/app/app.material.module';\r\nimport { IfaaUiComponentsModule } from '@ifaa-components/ui-components';\r\nimport { MemberPortalSharedModule } from '../shared/shared.module';\r\nimport { TenantDashboardComponent } from './views/dashboard/dashboard.component';\r\nimport { EmploymentHistoryViewComponent } from './views/employment-history/employment-history-view.component';\r\nimport { EmployerHistoryViewEffects } from './views/employment-history/effects';\r\nimport { TenantLodgeClaimComponent } from './views/lodge-claim/lodge-claim.component';\r\nimport { LodgeClaimEffects } from './views/lodge-claim/effects';\r\nimport { CurrentEmployerViewComponent } from './components/current-employer/current-employer/current-employer-view.component';\r\nimport { EmployerBalancesComponent } from './components/employer-balances/employer-balances.component';\r\nimport { EmployerBalancesEffects } from './components/employer-balances/effects';\r\nimport { EmploymentService } from './services/employment.service';\r\nimport { CurrentEmployerEffects } from './components/current-employer/current-employer/effects';\r\nimport { StartupEffects } from './views/startup/effects';\r\nimport { StartupComponent } from './views/startup/startup.component';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { FeatureTogglePipe } from '../shared/pipes/featureToggle';\r\nimport { LimitedServiceBannerComponent } from '../shared/components/limited-service-banner/limited-service-banner.component';\r\nimport { StartupService } from './services/startup.service';\r\nimport { NgrxFormsModule } from 'ngrx-forms';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { SMRTNoInsuranceComponent } from './components/smrt-no-insurance/smrt-no-insurance.component';\r\n\r\n@NgModule({\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n imports: [\r\n NgrxFormsModule,\r\n CommonModule,\r\n FormsModule,\r\n SMRTRoutingModule,\r\n IfaaUiComponentsModule,\r\n StoreModule.forFeature(featureKey, reducers),\r\n EffectsModule.forFeature([\r\n MainLayoutEffects,\r\n CurrentEmployerEffects,\r\n LodgeClaimEffects,\r\n EmployerHistoryViewEffects,\r\n EmployerBalancesEffects,\r\n StartupEffects,\r\n ]),\r\n MemberPortalSharedModule,\r\n TranslateModule.forChild(),\r\n ReactiveFormsModule,\r\n MainMasterComponent,\r\n FooterComponent,\r\n NotLoggedInMasterComponent,\r\n TenantDashboardComponent,\r\n CurrentEmployerViewComponent,\r\n TenantLodgeClaimComponent,\r\n EmploymentHistoryViewComponent,\r\n EmployerBalancesComponent,\r\n StartupComponent,\r\n SMRTNoInsuranceComponent,\r\n ],\r\n exports: [\r\n SMRTNoInsuranceComponent,\r\n MainMasterComponent,\r\n NotLoggedInMasterComponent,\r\n TenantDashboardComponent,\r\n CurrentEmployerViewComponent,\r\n EmploymentHistoryViewComponent,\r\n TenantLodgeClaimComponent,\r\n EmployerBalancesComponent,\r\n StartupComponent,\r\n ],\r\n providers: [\r\n EmploymentService,\r\n FeatureTogglePipe,\r\n StartupService,\r\n LimitedServiceBannerComponent,\r\n provideHttpClient(withInterceptorsFromDi()),\r\n ],\r\n})\r\nexport class SMRTModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { createEffect } from '@ngrx/effects';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class MainLayoutEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n //private service: MembersService\r\n ) {\r\n }\r\n\r\n // searchRequest$ = createEffect(() => this.actions$.pipe(\r\n // ofType(ActionsList.MainSearchRequestAction),\r\n // switchMap((action: any) => this.service.get(action.search, action.page).pipe(\r\n // map((data: any) => {\r\n // return ActionsList.MainSearchResponseAction({ payload: data.members });\r\n // }),\r\n // catchError(err => {\r\n // return EMPTY;\r\n // })\r\n // )),\r\n // ));\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\n\r\nconst futrRoutes: Routes = [];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(futrRoutes)],\r\n exports: [RouterModule],\r\n})\r\nexport class FUTRRoutingModule {}\r\n","import { NotLoggedInMasterComponent } from './layout/not-loggedin/not-loggedin.master';\r\nimport { FooterComponent } from './layout/footer/footer.master';\r\nimport { MainLayoutEffects } from './layout/main/effects';\r\nimport {\r\n provideHttpClient,\r\n withInterceptorsFromDi,\r\n} from '@angular/common/http';\r\nimport { EffectsModule } from '@ngrx/effects';\r\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StoreModule } from '@ngrx/store';\r\nimport { FUTRRoutingModule } from './futr-routing.module';\r\nimport { featureKey, reducers } from './store/futr.reducers';\r\nimport { MainMasterComponent } from './layout/main/main.master';\r\nimport { IfaaUiComponentsModule } from '@ifaa-components/ui-components';\r\nimport { MemberPortalSharedModule } from '../shared/shared.module';\r\nimport { TenantDashboardComponent } from './views/dashboard/dashboard.component';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { FeatureTogglePipe } from '../shared/pipes/featureToggle';\r\nimport { LimitedServiceBannerComponent } from '../shared/components/limited-service-banner/limited-service-banner.component';\r\nimport { NgrxFormsModule } from 'ngrx-forms';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\n@NgModule({\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n imports: [\r\n NgrxFormsModule,\r\n CommonModule,\r\n FormsModule,\r\n FUTRRoutingModule,\r\n IfaaUiComponentsModule,\r\n StoreModule.forFeature(featureKey, reducers),\r\n EffectsModule.forFeature([MainLayoutEffects]),\r\n MemberPortalSharedModule,\r\n TranslateModule.forChild(),\r\n ReactiveFormsModule,\r\n MainMasterComponent,\r\n FooterComponent,\r\n NotLoggedInMasterComponent,\r\n TenantDashboardComponent,\r\n ],\r\n exports: [\r\n MainMasterComponent,\r\n NotLoggedInMasterComponent,\r\n TenantDashboardComponent,\r\n ],\r\n providers: [\r\n FeatureTogglePipe,\r\n LimitedServiceBannerComponent,\r\n provideHttpClient(withInterceptorsFromDi()),\r\n ],\r\n})\r\nexport class FUTRModule {}\r\n","import { VervModule } from './modules/verv/verve.module';\r\nimport { environment } from './../environments/environment';\r\nimport { Type } from '@angular/core';\r\nimport { TenantDashboardComponent as VerveTenantDashboardComponent } from './modules/verv/views/dashboard/dashboard.component';\r\nimport { TenantDashboardComponent as CIRTTenantDashboardComponent } from './modules/cirt/views/dashboard/dashboard.component';\r\nimport { TenantDashboardComponent as SMRTTenantDashboardComponent } from './modules/smrt/views/dashboard/dashboard.component';\r\nimport { TenantDashboardComponent as FUTRTenantDashboardComponent } from './modules/futr/views/dashboard/dashboard.component';\r\nimport { MainMasterComponent as VervMainMasterComponent } from './modules/verv/layout/main/main.master';\r\nimport { MainMasterComponent as CIRTMainMasterComponent } from './modules/cirt/layout/main/main.master';\r\nimport { MainMasterComponent as SMRTMainMasterComponent } from './modules/smrt/layout/main/main.master';\r\nimport { MainMasterComponent as FUTRMainMasterComponent } from './modules/futr/layout/main/main.master';\r\nimport { NotLoggedInMasterComponent as VervNotLoggedInMasterComponent } from './modules/verv/layout/not-loggedin/not-loggedin.master';\r\nimport { NotLoggedInMasterComponent as CIRTNotLoggedInMasterComponent } from './modules/cirt/layout/not-loggedin/not-loggedin.master';\r\nimport { NotLoggedInMasterComponent as FUTRNotLoggedInMasterComponent } from './modules/futr/layout/not-loggedin/not-loggedin.master';\r\nimport { NotLoggedInMasterComponent as SMRTNotLoggedInMasterComponent } from './modules/smrt/layout/not-loggedin/not-loggedin.master';\r\nimport { CIRTModule } from './modules/cirt/cirt.module';\r\nimport { SMRTModule } from './modules/smrt/smrt.module';\r\nimport { FUTRModule } from './modules/futr/futr.module';\r\n\r\nexport class GetTenantModule {\r\n static getModule(list: any[]) {\r\n if (environment.code == 'verv') list.push(VervModule);\r\n\r\n if (environment.code == 'cirt') list.push(CIRTModule);\r\n\r\n if (environment.code == 'smrt') list.push(SMRTModule);\r\n\r\n if (environment.code == 'futr') list.push(FUTRModule);\r\n }\r\n}\r\n\r\nexport class GetTenantNotLoggedInLayout {\r\n static layout(): Type {\r\n if (environment.code == 'verv') return VervNotLoggedInMasterComponent;\r\n\r\n if (environment.code == 'cirt') return CIRTNotLoggedInMasterComponent;\r\n\r\n if (environment.code == 'smrt') return SMRTNotLoggedInMasterComponent;\r\n\r\n if (environment.code == 'futr') return FUTRNotLoggedInMasterComponent;\r\n\r\n return null;\r\n }\r\n}\r\n\r\nexport class GetTenantDashboard {\r\n static layout(): Type {\r\n if (environment.code == 'verv') return VerveTenantDashboardComponent;\r\n\r\n if (environment.code == 'cirt') return CIRTTenantDashboardComponent;\r\n\r\n if (environment.code == 'smrt') return SMRTTenantDashboardComponent;\r\n\r\n if (environment.code == 'futr') return FUTRTenantDashboardComponent;\r\n\r\n return null;\r\n }\r\n}\r\n\r\nexport class GetTenantMainLayout {\r\n static mainLayout(): Type {\r\n if (environment.code == 'verv') return VervMainMasterComponent;\r\n\r\n if (environment.code == 'cirt') return CIRTMainMasterComponent;\r\n\r\n if (environment.code == 'smrt') return SMRTMainMasterComponent;\r\n\r\n if (environment.code == 'futr') return FUTRMainMasterComponent;\r\n\r\n return null;\r\n }\r\n}\r\n\r\nexport function GetMainLayout(): Type {\r\n if (environment.code == 'verv') return VervMainMasterComponent;\r\n\r\n if (environment.code == 'cirt') return CIRTMainMasterComponent;\r\n\r\n if (environment.code == 'smrt') return SMRTMainMasterComponent;\r\n\r\n return null;\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { ComponentBase } from '../../../../views/component-base';\r\nimport { AppState } from '../../../../store/app.states';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport {\r\n commomState_LoggedinInfo,\r\n commomState_CommunicationPreferenceList,\r\n commonState_SystemConfig_AccountFeatureToggles,\r\n commonState_MemberData,\r\n} from 'src/app/store/common/common.selectors';\r\nimport { AppReadonlyComponent, Helper } from '@ifaa-components/ui-components';\r\nimport { FeatureToggleName } from 'src/app/model/feature-toggle-name.model';\r\nimport { FeatureToggleHelper } from 'src/app/helper/featureToggleHelper';\r\nimport { NgIf, AsyncPipe, DatePipe } from '@angular/common';\r\nimport { MatSuffix } from '@angular/material/form-field';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MatTooltip } from '@angular/material/tooltip';\r\nimport { FeatureToggleDirective } from '../../directives/feature-toggle.directive';\r\nimport { TextTransformPipe } from '../../pipes/textTransform';\r\n\r\n@Component({\r\n selector: 'app-member-view',\r\n templateUrl: './member-view.component.html',\r\n styleUrls: ['./member-view.component.scss'],\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n AppReadonlyComponent,\r\n FeatureToggleDirective,\r\n TextTransformPipe,\r\n MatIcon,\r\n MatTooltip,\r\n MatSuffix,\r\n DatePipe,\r\n ],\r\n})\r\nexport class MemberViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n dataValidation = {\r\n firstName: false,\r\n lastName: false,\r\n dob: false,\r\n residentialAddress: false,\r\n };\r\n data$ = this.appstore.pipe(select(commonState_MemberData));\r\n @Input() hideCommunicationPreference: boolean = false;\r\n @Input() hideOccupation: boolean = false;\r\n @Input() hideMemberNumber: boolean = false;\r\n @Input() hidePostalAddress: boolean = false;\r\n @Input() hideTfn: boolean = true;\r\n @Input() hideDob: boolean = true;\r\n @Input() itemclass: string = 'w-50';\r\n @Input() tfnTooltip: string;\r\n @Input() set greenIdValidation(val: boolean) {\r\n if (val) {\r\n this.dataValidation = {\r\n firstName: true,\r\n lastName: true,\r\n dob: true,\r\n residentialAddress: true,\r\n };\r\n } else {\r\n this.dataValidation = {\r\n firstName: false,\r\n lastName: false,\r\n dob: false,\r\n residentialAddress: false,\r\n };\r\n }\r\n }\r\n\r\n loggedIn$ = this.appstore.pipe(select(commomState_LoggedinInfo));\r\n helper = new Helper();\r\n communicationOption$ = this.appstore.pipe(\r\n select(commomState_CommunicationPreferenceList)\r\n );\r\n featureToggles$ = this.appstore.pipe(\r\n select(commonState_SystemConfig_AccountFeatureToggles)\r\n );\r\n communicationDescription = '';\r\n\r\n displayCommunicationPreferenceFeatureToggle =\r\n FeatureToggleName.member.personalDetails.communicationPreference.view;\r\n displayOccupationFeatureToggle =\r\n FeatureToggleName.member.personalDetails.occupation.view;\r\n displayTfnFeatureToggle = FeatureToggleName.member.personalDetails.tfn.view;\r\n displayLegalNameFeatureToggle =\r\n FeatureToggleName.member.personalDetails.legalName.view;\r\n\r\n showLegalName: boolean = false;\r\n displayLegalNameToggle: boolean = false;\r\n\r\n featureToggleHelper: FeatureToggleHelper = new FeatureToggleHelper();\r\n\r\n constructor(\r\n public store: Store,\r\n public appstore: Store\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n // this.dispatch(this.store, RequestAction());\r\n\r\n this.sub = this.featureToggles$.subscribe((x) => {\r\n if (x) {\r\n this.displayLegalNameToggle = this.featureToggleHelper.checkToggle(\r\n FeatureToggleName.member.personalDetails.legalName.view,\r\n x,\r\n null,\r\n false\r\n );\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n onToggleLegalNameClick() {\r\n this.showLegalName = !this.showLegalName;\r\n }\r\n}\r\n","
\r\n\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
{{'Legal Name' | textTransform}}:
\r\n {{showLegalName? \"visibility\":\"visibility_off\"}}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { ComponentBase } from '../component-base';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { FeatureToggleName } from 'src/app/model/feature-toggle-name.model';\r\nimport { AsyncPipe, NgClass } from '@angular/common';\r\nimport {\r\n AppToolbarOptionsComponent,\r\n AppButtonComponent,\r\n} from '@ifaa-components/ui-components';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { MemberViewComponent } from 'src/app/modules/shared/components/member-view/member-view.component';\r\nimport { FeatureToggleDirective } from 'src/app/modules/shared/directives/feature-toggle.directive';\r\nimport { MessagePipe } from 'src/app/modules/shared/pipes/message';\r\nimport { TextTransformPipe } from 'src/app/modules/shared/pipes/textTransform';\r\n\r\n@Component({\r\n selector: 'app-personal-details',\r\n templateUrl: './personal-details.component.html',\r\n styleUrls: ['./personal-details.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n AppComponentWrapperComponent,\r\n AppToolbarOptionsComponent,\r\n TextTransformPipe,\r\n MessagePipe,\r\n AsyncPipe,\r\n FeatureToggleDirective,\r\n MemberViewComponent,\r\n NgClass,\r\n AppButtonComponent,\r\n TranslatePipe,\r\n ],\r\n})\r\nexport class PersonalDetailsComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n personalDetailsBeneficiaryFeatureToggle =\r\n FeatureToggleName.member.personalDetails.beneficiaries.view;\r\n updatePersonalDetailsFeatureToggle =\r\n FeatureToggleName.member.personalDetails.update;\r\n\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n onMemberEditClick() {\r\n this.router.navigate(['personal-edit']);\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
{{'Profile' | textTransform}}
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
992}\">\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n","import { ChangePasswordModel } from './../../model/change-password.model';\r\nimport { createAction } from '@ngrx/store';\r\nimport { props } from '@ngrx/store';\r\n\r\nexport const SubmitAction = createAction('[Change Password View] submit',\r\n props<{ payload: ChangePasswordModel }>());\r\n\r\nexport const SubmitCompletedAction = createAction('[Change Password Completed] change password completed');\r\n","import { createSelector } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { IChangePasswordState } from './state';\r\n\r\nexport const changePassword = (state: AppState) => state.changePasswordState;\r\n\r\nexport const changePassword_Form = createSelector(\r\n changePassword,\r\n (state: IChangePasswordState) => state.form\r\n);\r\n","import { ChangePasswordModel } from './../../model/change-password.model';\r\nimport { SubmitAction } from './actions';\r\nimport { changePassword_Form } from './selectors';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { ComponentBase } from '../component-base';\r\nimport { OnDestroy } from '@angular/core';\r\nimport {\r\n commomState_ElevatedAccess,\r\n commonState_IsSending,\r\n} from 'src/app/store/common/common.selectors';\r\nimport { NgIf, AsyncPipe } from '@angular/common';\r\nimport {\r\n AppToolbarOptionsComponent,\r\n EntryFieldComponent,\r\n AppButtonComponent,\r\n} from '@ifaa-components/ui-components';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { NgrxFormsModule } from 'ngrx-forms';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { AppButtonDirective } from 'src/app/modules/shared/directives/appbutton.directive';\r\nimport { InputScrollDirective } from 'src/app/modules/shared/directives/input-scroll.directive';\r\nimport { TextTransformPipe } from 'src/app/modules/shared/pipes/textTransform';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-change-password',\r\n templateUrl: './change-password.component.html',\r\n styleUrls: ['./change-password.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n AppComponentWrapperComponent,\r\n AppToolbarOptionsComponent,\r\n TextTransformPipe,\r\n NgrxFormsModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NgIf,\r\n AsyncPipe,\r\n AnimateCssDirective,\r\n EntryFieldComponent,\r\n InputScrollDirective,\r\n TranslatePipe,\r\n AppButtonComponent,\r\n AppButtonDirective,\r\n ],\r\n})\r\nexport class ChangePasswordComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n form$ = this.store.pipe(select(changePassword_Form));\r\n elevatedAccess$ = this.store.pipe(select(commomState_ElevatedAccess));\r\n isSending$ = this.store.pipe(select(commonState_IsSending));\r\n\r\n elevatedAccess = false;\r\n constructor(public store: Store) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.elevatedAccess$.subscribe((x) => {\r\n this.elevatedAccess = x;\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n onSubmit(data: ChangePasswordModel) {\r\n if (this.elevatedAccess) return;\r\n this.dispatch(this.store, SubmitAction({ payload: data }));\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
{{'Change Password' | textTransform}}
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
    \r\n
  • A password should be minimum 8 characters or a maximum of 64 characters.
  • \r\n
  • A password should include a combination of uppercase and lowercase letters, a number, and a symbol.\r\n
  • \r\n
  • A password shouldn’t be shared with any other account.
  • \r\n
  • A password shouldn’t include any of the user’s personal information like their address or phone\r\n number. It’s also recommended not to include any information that can be accessed on social media like\r\n kids’ or\r\n pets’ names.
  • \r\n
  • A password shouldn’t contain any consecutive letters or numbers.
  • \r\n
  • A password shouldn’t be the word “password” or the same letter or number repeated.
  • \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
","import { MemberPortalSharedState } from './../../store/shared.states';\r\nimport { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { featureKey } from '../../store/shared.reducers';\r\n\r\nimport { IMemberEditState } from './state';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const editMember = createSelector(memberPortalState, (state) => state.memberEditState);\r\n\r\nexport const editMember_Form = createSelector(\r\n editMember,\r\n (state: IMemberEditState) => state.form\r\n);\r\n\r\nexport const editMember_LastModified = createSelector(\r\n editMember,\r\n (state: IMemberEditState) => state.lastModifiedTime\r\n);\r\n\r\nexport const editMember_OriginalEmail = createSelector(\r\n editMember,\r\n (state: IMemberEditState) => state.originalEmail\r\n);\r\n","import { MemberModel } from './../../../../model/member.model';\r\nimport {\r\n editMember_Form,\r\n editMember_LastModified,\r\n editMember_OriginalEmail,\r\n} from './selectors';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { RequestAction, ResetAction, SubmitRequestAction } from './actions';\r\nimport { ComponentBase } from '../../../../views/component-base';\r\nimport { AppState } from '../../../../store/app.states';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n commomState_SystemConfig_Config,\r\n commonState_IsSending,\r\n} from 'src/app/store/common/common.selectors';\r\nimport { NgrxFormsModule, SetValueAction } from 'ngrx-forms';\r\nimport { CommunicationPreference } from 'src/app/enums/communication-preference.enum';\r\nimport { FeatureToggleName } from 'src/app/model/feature-toggle-name.model';\r\nimport {\r\n AppButtonComponent,\r\n AppButtonToggleComponent,\r\n ConfirmationDialog,\r\n EntryCheckboxFieldComponent,\r\n EntryFieldAddressAccurityComponent,\r\n EntryFieldComponent,\r\n EntryFieldDateComponent,\r\n EntrySlideToggleFieldComponent,\r\n Helper,\r\n} from '@ifaa-components/ui-components';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { RequestMemberDataAction } from 'src/app/store/common/common.actions';\r\nimport { NgIf, AsyncPipe } from '@angular/common';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { AppButtonDirective } from '../../directives/appbutton.directive';\r\nimport { FeatureToggleDirective } from '../../directives/feature-toggle.directive';\r\nimport {\r\n InputScrollDirective,\r\n InputAddressScrollDirective,\r\n} from '../../directives/input-scroll.directive';\r\nimport { AppRadioDirective } from '../../directives/app-radio.directive';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { environment } from '../../../../../environments/environment';\r\n\r\n@Component({\r\n selector: 'app-member-edit',\r\n templateUrl: './member-edit.component.html',\r\n styleUrls: ['./member-edit.component.scss'],\r\n imports: [\r\n NgrxFormsModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NgIf,\r\n AsyncPipe,\r\n FeatureToggleDirective,\r\n MatIcon,\r\n TranslatePipe,\r\n AppButtonToggleComponent,\r\n EntryFieldComponent,\r\n InputScrollDirective,\r\n EntryFieldAddressAccurityComponent,\r\n InputAddressScrollDirective,\r\n EntryCheckboxFieldComponent,\r\n AppButtonComponent,\r\n AppButtonDirective,\r\n EntrySlideToggleFieldComponent,\r\n EntryFieldDateComponent,\r\n AppRadioDirective,\r\n ],\r\n})\r\nexport class MemberEditComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n form$ = this.store.pipe(select(editMember_Form));\r\n lastModified$ = this.store.pipe(select(editMember_LastModified));\r\n tenantConfig$ = this.appstore.pipe(select(commomState_SystemConfig_Config));\r\n originalEmail$ = this.appstore.pipe(select(editMember_OriginalEmail));\r\n isSending$ = this.appstore.pipe(select(commonState_IsSending));\r\n communicationPreference = null;\r\n\r\n editCommunicationPreferenceFeatureToggle =\r\n FeatureToggleName.member.personalDetails.communicationPreference.update;\r\n editEmailFeatureToggle =\r\n FeatureToggleName.member.personalDetails.email.update;\r\n editDobFeatureToggle = FeatureToggleName.member.personalDetails.dob.update;\r\n editTfnFeatureToggle = FeatureToggleName.member.personalDetails.tfn.update;\r\n editOccupationFeatureToggle =\r\n FeatureToggleName.member.personalDetails.occupation.update;\r\n updateProfileFeatureToggle = FeatureToggleName.member.personalDetails.update;\r\n helper = new Helper();\r\n\r\n displayEntryIcons = environment.views.global.displayEntryIcons;\r\n\r\n constructor(\r\n public store: Store,\r\n public appstore: Store,\r\n public dialog: MatDialog,\r\n private router: Router\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n this.dispatch(this.store, RequestAction());\r\n\r\n this.sub = this.lastModified$.subscribe((x) => {\r\n if (x) {\r\n this.dispatch(this.store, RequestMemberDataAction());\r\n this.router.navigate(['personal-details']);\r\n }\r\n });\r\n\r\n this.sub = this.form$.subscribe((form) => {\r\n if (this.communicationPreference != form.value.communicationPreference) {\r\n this.communicationPreference = form.value.communicationPreference;\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.postalAddress.controls.isRequired.id,\r\n form.value.communicationPreference == CommunicationPreference.byPost\r\n )\r\n );\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.store.dispatch(ResetAction());\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n async onSubmitClick(data: MemberModel) {\r\n var originalEmail = await this.helper.getValue(this.originalEmail$);\r\n if (originalEmail == data.email) {\r\n this.dispatch(this.store, SubmitRequestAction({ payload: data }));\r\n } else {\r\n const dialogRef = this.dialog.open(ConfirmationDialog, {\r\n width: '450px',\r\n data: 'Please note that updating your email address will update your login email. Next time you login you will need to use the email address supplied in this update. Would you like to continue?',\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((result) => {\r\n if (result) {\r\n this.dispatch(this.store, SubmitRequestAction({ payload: data }));\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n
\r\n support_agent\r\n Communication Preferences\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n
\r\n
\r\n

\r\n {{ (tenantConfig$ | async).name }} is authorised to ask for your tax\r\n file number (TFN) in line with the Superannuation Industry\r\n (Supervision) Act 1993. {{ (tenantConfig$ | async).name }} will only\r\n use your TFN for lawful purposes. These purposes may change in the\r\n future if there are changes to the legislation.\r\n

\r\n

\r\n {{ (tenantConfig$ | async).name }} may pass your TFN to any other\r\n super fund or account to which your super is transferred in the future\r\n unless you request in writing that this not be done.\r\n

\r\n

By providing your TFN :

\r\n
    \r\n
  • \r\n {{ (tenantConfig$ | async).name }} will use the ATO Member Account\r\n Attribute service (MAAS) to verify your TFN, name and date of birth.\r\n
  • \r\n
  • \r\n {{ (tenantConfig$ | async).name }} will be able to accept all types\r\n of contributions made by or for you (some limits may apply).\r\n
  • \r\n
  • \r\n You can avoid paying tax at a higher rate than would otherwise apply\r\n on your super benefit.\r\n
  • \r\n
  • \r\n It will be easier for you to find your super in the future and\r\n ensure that you receive all of your super benefits when you retire.\r\n
  • \r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { ComponentBase } from '../component-base';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { FeatureToggleName } from 'src/app/model/feature-toggle-name.model';\r\nimport { AsyncPipe } from '@angular/common';\r\nimport { AppToolbarOptionsComponent } from '@ifaa-components/ui-components';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { MemberEditComponent } from 'src/app/modules/shared/components/member-edit/member-edit.component';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { FeatureToggleDirective } from 'src/app/modules/shared/directives/feature-toggle.directive';\r\nimport { MessagePipe } from 'src/app/modules/shared/pipes/message';\r\nimport { TextTransformPipe } from 'src/app/modules/shared/pipes/textTransform';\r\n\r\n@Component({\r\n selector: 'app-personal-edit',\r\n templateUrl: './personal-edit.component.html',\r\n styleUrls: ['./personal-edit.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n AppComponentWrapperComponent,\r\n AppToolbarOptionsComponent,\r\n TextTransformPipe,\r\n MessagePipe,\r\n AsyncPipe,\r\n MemberEditComponent,\r\n FeatureToggleDirective,\r\n AnimateCssDirective,\r\n ],\r\n})\r\nexport class PersonalEditComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n personalDetailsBeneficiaryFeatureToggle =\r\n FeatureToggleName.member.personalDetails.beneficiaries.view;\r\n\r\n constructor(public store: Store) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
{{'Update your details' | textTransform}}
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { from, of } from 'rxjs';\r\nimport { reduce } from 'rxjs/operators';\r\nimport { featureKey } from '../../store/shared.reducers';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { IBeneficiaryEditState } from './state';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const beneficiariesEdit = createSelector(memberPortalState, (state) => state.beneficiariesEditState);\r\n\r\nexport const beneficiaryEdit_Form = createSelector(\r\n beneficiariesEdit,\r\n (state: IBeneficiaryEditState) => state.form\r\n);\r\n\r\nexport const beneficiaryEdit_IsSum100Percent = createSelector(\r\n beneficiariesEdit,\r\n (state: IBeneficiaryEditState) => state.form.value.reduce((a, b) => a + b.percentage, 0) == 100\r\n);\r\n\r\nexport const beneficiaryEdit_CanEdit = createSelector(\r\n beneficiariesEdit,\r\n (state: IBeneficiaryEditState) => state.form.value.length == 0 || state.form.value.every(x => x.beneficiaryTypeId == 1)\r\n);\r\n\r\nexport const beneficiaryEdit_TotalPercent = createSelector(\r\n beneficiariesEdit,\r\n (state: IBeneficiaryEditState) => state.form.value.reduce((a, b) => a + b.percentage, 0)\r\n);\r\n\r\nexport const beneficiaryEdit_LastModified = createSelector(\r\n beneficiariesEdit,\r\n (state: IBeneficiaryEditState) => state.lastModifiedTime\r\n);\r\n\r\nexport const beneficiaryEdit_CanAdd = createSelector(\r\n beneficiariesEdit,\r\n (state: IBeneficiaryEditState) => state.maxBeneficiaries == 0 || state.form.value.length < state.maxBeneficiaries\r\n);\r\n\r\nexport const beneficiaryEdit_MaxBeneficiaries = createSelector(\r\n beneficiariesEdit,\r\n (state: IBeneficiaryEditState) => state.maxBeneficiaries\r\n);\r\n","import { BeneficiaryModel } from './../../../../model/beneficiary.model';\r\nimport {\r\n beneficiaryEdit_Form,\r\n beneficiaryEdit_LastModified,\r\n beneficiaryEdit_IsSum100Percent,\r\n beneficiaryEdit_TotalPercent,\r\n beneficiaryEdit_CanEdit,\r\n beneficiaryEdit_CanAdd,\r\n beneficiaryEdit_MaxBeneficiaries,\r\n} from './selectors';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport {\r\n AddNewBeneficiaryAction,\r\n RemoveBeneficiaryAction,\r\n RequestAction,\r\n ResetAction,\r\n SetupMaxBeneficiariesAction,\r\n SubmitRequestAction,\r\n} from './actions';\r\nimport { ComponentBase } from '../../../../views/component-base';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport {\r\n AppButtonComponent,\r\n CancelEditDialog,\r\n EntryFieldComponent,\r\n NumberEntryFieldComponent,\r\n} from '@ifaa-components/ui-components';\r\nimport { memberAccountDropdown_SelectedAccount } from '../member-account-dropdown/selectors';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n commomState_SystemConfig_Config,\r\n commonState_IsSending,\r\n} from 'src/app/store/common/common.selectors';\r\nimport { UIComponentState } from '@ifaa-components/ui-components/lib/store/app.states';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { NgIf, AsyncPipe, NgFor, NgClass } from '@angular/common';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { AppButtonDirective } from '../../directives/appbutton.directive';\r\nimport { InputScrollDirective } from '../../directives/input-scroll.directive';\r\nimport { MessagePipe } from '../../pipes/message';\r\n\r\n@Component({\r\n selector: 'app-beneficiaries-edit',\r\n templateUrl: './beneficiaries-edit.component.html',\r\n styleUrls: ['./beneficiaries-edit.component.scss'],\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n MessagePipe,\r\n TranslatePipe,\r\n NgFor,\r\n EntryFieldComponent,\r\n InputScrollDirective,\r\n NumberEntryFieldComponent,\r\n AppButtonComponent,\r\n AppButtonDirective,\r\n NgClass,\r\n ],\r\n})\r\nexport class BeneficiariesEditComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n form$ = this.store.pipe(select(beneficiaryEdit_Form));\r\n lastModified$ = this.store.pipe(select(beneficiaryEdit_LastModified));\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n isSum100Percentage$ = this.store.pipe(\r\n select(beneficiaryEdit_IsSum100Percent)\r\n );\r\n totalPercentage$ = this.store.pipe(select(beneficiaryEdit_TotalPercent));\r\n canEdit$ = this.store.pipe(select(beneficiaryEdit_CanEdit));\r\n\r\n tenantConfig$ = this.appstore.pipe(select(commomState_SystemConfig_Config));\r\n isSending$ = this.appstore.pipe(select(commonState_IsSending));\r\n\r\n maxBeneficiaries$ = this.uistore.pipe(\r\n select(beneficiaryEdit_MaxBeneficiaries)\r\n );\r\n canAdd$ = this.uistore.pipe(select(beneficiaryEdit_CanAdd));\r\n\r\n accountId: number = 0;\r\n submitting: boolean = false;\r\n fundCode: string = '';\r\n\r\n // {{(tenantConfig$ | async).phoneNumber}}\r\n constructor(\r\n public store: Store,\r\n public uistore: Store,\r\n public appstore: Store,\r\n public dialog: MatDialog,\r\n private router: Router\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.dispatch(this.store, ResetAction());\r\n\r\n this.sub = this.isSending$.subscribe((x) => {\r\n this.submitting = x;\r\n });\r\n\r\n this.sub = this.tenantConfig$.subscribe((x) => {\r\n if (x) {\r\n this.fundCode = x.fundCode.toLowerCase();\r\n if (x.beneficiariesMax) {\r\n this.store.dispatch(\r\n SetupMaxBeneficiariesAction({ value: x.beneficiariesMax })\r\n );\r\n }\r\n }\r\n });\r\n this.sub = this.lastModified$.subscribe((x) => {\r\n if (x) {\r\n this.router.navigate(['beneficiaries']);\r\n }\r\n });\r\n\r\n this.sub = this.selectedAccount$.subscribe((x) => {\r\n if (x) {\r\n this.accountId = x.accountId;\r\n this.dispatch(this.store, RequestAction({ accountId: x.accountId }));\r\n }\r\n });\r\n }\r\n\r\n trackByFn(index, item) {\r\n return index;\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n onDeleteClick(index: number) {\r\n const dialogRef = this.dialog.open(CancelEditDialog, {\r\n width: '450px',\r\n data: 'Do you want to remove this beneficiary?',\r\n panelClass: `${this.fundCode}-theme`,\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((result) => {\r\n if (result) {\r\n this.store.dispatch(RemoveBeneficiaryAction({ index }));\r\n }\r\n });\r\n }\r\n\r\n onSubmitClick(beneficiaries: BeneficiaryModel[]) {\r\n this.store.dispatch(\r\n SubmitRequestAction({ accountId: this.accountId, payload: beneficiaries })\r\n );\r\n }\r\n onAddClick() {\r\n this.store.dispatch(AddNewBeneficiaryAction());\r\n }\r\n}\r\n","
\r\n
\r\n

\r\n\r\n \r\n \r\n \r\n Name\r\n Type\r\n Percent\r\n Relationship to You\r\n \r\n \r\n \r\n \r\n \r\n \r\n Name\r\n \r\n \r\n \r\n \r\n Type\r\n \r\n \r\n \r\n Percent\r\n \r\n \r\n \r\n \r\n Relationship to You\r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n 0 && form.value.length > 0\"\r\n class=\"alert alert-success\"\r\n >\r\n \r\n Beneficiaries: {{ form.value.length }} out of\r\n {{ maxBeneficiaries$ | async }}\r\n \r\n
\r\n \r\n \r\n \r\n 0\"\r\n class=\"alert\"\r\n [ngClass]=\"{\r\n 'alert-success': isSum100Percentage$ | async,\r\n 'alert-danger': !(isSum100Percentage$ | async)\r\n }\"\r\n >\r\n Total: {{ totalPercentage$ | async }}% of 100%\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n 0 && form.value.length > 0\"\r\n class=\"alert alert-success\"\r\n >\r\n \r\n Beneficiaries: {{ form.value.length }} out of\r\n {{ maxBeneficiaries$ | async }}\r\n \r\n
\r\n 0\"\r\n class=\"alert\"\r\n [ngClass]=\"{\r\n 'alert-success': isSum100Percentage$ | async,\r\n 'alert-danger': !(isSum100Percentage$ | async)\r\n }\"\r\n >\r\n Total: {{ totalPercentage$ | async }}% of 100%\r\n \r\n \r\n\r\n
\r\n 0) ||\r\n submitting\r\n \"\r\n loading\r\n >\r\n \r\n \r\n \r\n
\r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { ComponentBase } from '../component-base';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AppToolbarOptionsComponent } from '@ifaa-components/ui-components';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { BeneficiariesEditComponent } from 'src/app/modules/shared/components/beneficiaries-edit/beneficiaries-edit.component';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { TextTransformPipe } from 'src/app/modules/shared/pipes/textTransform';\r\n\r\n@Component({\r\n selector: 'app-beneficiary-edit-view',\r\n templateUrl: './beneficiary-edit.component.html',\r\n styleUrls: ['./beneficiary-edit.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n AppComponentWrapperComponent,\r\n AppToolbarOptionsComponent,\r\n TextTransformPipe,\r\n AnimateCssDirective,\r\n BeneficiariesEditComponent,\r\n ],\r\n})\r\nexport class BeneficiaryEditComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n onMemberEditClick() {\r\n this.router.navigate(['personal-edit']);\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
{{'Your Beneficiaries' | textTransform}}
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n","import { MemberPortalSharedState } from './../../store/shared.states';\r\nimport { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { ICashTransactionListState } from './state';\r\nimport { featureKey } from '../../store/shared.reducers';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const cashTransactionList = createSelector(memberPortalState, (state) => state.cashTransactionListState);\r\n\r\nexport const cashTransactionList_List = createSelector(\r\n cashTransactionList,\r\n (state: ICashTransactionListState) => state.list\r\n);\r\n\r\nexport const cashTransactionList_CurrentPage = createSelector(\r\n cashTransactionList,\r\n (state: ICashTransactionListState) => state.filter.value.currentPage\r\n);\r\n\r\nexport const cashTransactionList_Filter = createSelector(\r\n cashTransactionList,\r\n (state: ICashTransactionListState) => state.filter\r\n);\r\n\r\nexport const cashTransactionList_TransactionTypes = createSelector(\r\n cashTransactionList,\r\n (state: ICashTransactionListState) => state.transactionTypes\r\n);\r\n\r\nexport const cashTransactionList_TransactionDescription = createSelector(\r\n cashTransactionList,\r\n (state: ICashTransactionListState) => state.transactionDescription\r\n);\r\n\r\nexport const cashTransactionList_SelectedTypeName = createSelector(\r\n cashTransactionList,\r\n (state: ICashTransactionListState) => {\r\n var selected = state.transactionTypes.filter(x => x.key == state.filter.value.transactionType);\r\n if (selected?.length > 0)\r\n return selected[0].value;\r\n return state.filter.value.transactionType;\r\n\r\n }\r\n\r\n);\r\n\r\nexport const cashTransactionList_SelectedDescription = createSelector(\r\n cashTransactionList,\r\n (state: ICashTransactionListState) => {\r\n var selected = state.transactionDescription.filter(x => x.key == state.filter.value.transactionDescription);\r\n if (selected?.length > 0)\r\n return selected[0].value;\r\n return state.filter.value.transactionDescription;\r\n\r\n }\r\n\r\n);\r\n\r\nexport const cashTransactionList_ListTotal = createSelector(\r\n cashTransactionList,\r\n (state: ICashTransactionListState) => state.list.reduce((sum, item) => sum + item.amount, 0)\r\n);\r\n","import { ComponentBase } from './../../../../views/component-base';\r\nimport {\r\n cashTransactionList_List,\r\n cashTransactionList_Filter,\r\n cashTransactionList_TransactionTypes,\r\n cashTransactionList_ListTotal,\r\n cashTransactionList_SelectedTypeName,\r\n cashTransactionList_TransactionDescription,\r\n cashTransactionList_SelectedDescription,\r\n} from './selectors';\r\nimport { Component, OnInit, Input, ViewChild } from '@angular/core';\r\nimport { Store, Action } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { select } from '@ngrx/store';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport {\r\n CashTransactionsRequestAction,\r\n CashTransactionsTypesRequestAction,\r\n ResetFormAction,\r\n CashTransactionsSetFromToDateAction,\r\n CashTransactionsDescriptionRequestAction,\r\n ResetFilterAction,\r\n} from './actions';\r\nimport { CashTransactionFilter } from './state';\r\nimport { SetValueAction, FormGroupControls } from 'ngrx-forms';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport {\r\n AppNoItemsComponent,\r\n DashPipe,\r\n EntryFieldDateComponent,\r\n Helper,\r\n} from '@ifaa-components/ui-components';\r\nimport { memberAccountDropdown_SelectedAccount } from '../member-account-dropdown/selectors';\r\nimport { UIComponentState } from '@ifaa-components/ui-components/lib/store/app.states';\r\nimport {\r\n MatDrawer,\r\n MatDrawerContainer,\r\n MatDrawerContent,\r\n MatSidenavModule,\r\n} from '@angular/material/sidenav';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport {\r\n AsyncPipe,\r\n NgFor,\r\n DatePipe,\r\n NgIf,\r\n NgClass,\r\n CurrencyPipe,\r\n} from '@angular/common';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MatMenuTrigger, MatMenu, MatMenuItem } from '@angular/material/menu';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { MessageDirective } from '../../directives/message.directive';\r\n\r\n@Component({\r\n selector: 'app-cash-transactions',\r\n templateUrl: './cash-transactions.component.html',\r\n styleUrls: ['./cash-transactions.component.scss'],\r\n imports: [\r\n MatDrawerContainer,\r\n MatSidenavModule,\r\n MatIcon,\r\n AsyncPipe,\r\n NgFor,\r\n DatePipe,\r\n EntryFieldDateComponent,\r\n MatMenuTrigger,\r\n MatMenu,\r\n MatMenuItem,\r\n MatButtonModule,\r\n DashPipe,\r\n AppNoItemsComponent,\r\n NgIf,\r\n NgClass,\r\n CurrencyPipe,\r\n TranslatePipe,\r\n MessageDirective,\r\n ],\r\n})\r\nexport class CashTransactionsComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n transactionTypes$ = this.store.pipe(\r\n select(cashTransactionList_TransactionTypes)\r\n );\r\n transactionDescription$ = this.store.pipe(\r\n select(cashTransactionList_TransactionDescription)\r\n );\r\n list$ = this.store.pipe(select(cashTransactionList_List));\r\n listTotal$ = this.store.pipe(select(cashTransactionList_ListTotal));\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n filter$ = this.store.pipe(select(cashTransactionList_Filter));\r\n selectedType$ = this.store.pipe(select(cashTransactionList_SelectedTypeName));\r\n selectedDescription$ = this.store.pipe(\r\n select(cashTransactionList_SelectedDescription)\r\n );\r\n @ViewChild('drawercontent') drawercontent: MatDrawerContent;\r\n accountId: number;\r\n query: CashTransactionFilter;\r\n isFilterOpen = true;\r\n loading = false;\r\n filterMode = 'over';\r\n helper: Helper = new Helper();\r\n constructor(\r\n public store: Store,\r\n public uistore: Store,\r\n public appstore: Store,\r\n public dialog: MatDialog\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n this.dispatch(this.store, ResetFormAction());\r\n this.screenWidthChange(this.appstore, (width: number) => {\r\n this.isFilterOpen = false;\r\n\r\n if (width < 992) {\r\n this.isFilterOpen = false;\r\n }\r\n });\r\n\r\n this.sub = this.filter$.subscribe(async (x) => {\r\n if (!this.accountId) return;\r\n\r\n var filter = await this.formatQuery(x.value);\r\n if (this.isQueryDifferent(x.value) && x.value.currentPage >= 0) {\r\n this.dispatch(\r\n this.store,\r\n CashTransactionsTypesRequestAction({ accountId: this.accountId })\r\n );\r\n this.dispatch(\r\n this.store,\r\n CashTransactionsDescriptionRequestAction({\r\n accountId: this.accountId,\r\n })\r\n );\r\n this.dispatch(\r\n this.store,\r\n CashTransactionsRequestAction({\r\n accountId: this.accountId,\r\n page: x.value.currentPage,\r\n filter: filter,\r\n })\r\n );\r\n this.loading = true;\r\n setTimeout(() => {\r\n this.loading = false;\r\n }, 500);\r\n }\r\n });\r\n\r\n this.sub = this.selectedAccount$.subscribe((x) => {\r\n var val = x?.accountId;\r\n if (val) {\r\n this.accountId = val;\r\n this.dispatch(this.store, ResetFormAction());\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n selectTransactionType(type: any) {\r\n this.dispatch(\r\n this.store,\r\n new SetValueAction('cashtransactionsListFilter.transactionType', type)\r\n );\r\n }\r\n\r\n selectTransactionDescription(key: any) {\r\n this.dispatch(\r\n this.store,\r\n new SetValueAction(\r\n 'cashtransactionsListFilter.transactionDescription',\r\n key\r\n )\r\n );\r\n }\r\n\r\n isQueryDifferent(filter: CashTransactionFilter): boolean {\r\n if (JSON.stringify(this.query) !== JSON.stringify(filter)) {\r\n this.query = filter;\r\n return true;\r\n }\r\n return false;\r\n }\r\n async formatQuery(value: CashTransactionFilter): Promise {\r\n var list = [];\r\n if (value.from) {\r\n list.push('from:' + value.from);\r\n }\r\n if (value.to) {\r\n list.push('to:' + value.to);\r\n }\r\n if (value.transactionType) {\r\n list.push('transactionType:' + value.transactionType);\r\n }\r\n if (value.transactionDescription) {\r\n var descKeyVal = await this.helper.getValue(this.transactionDescription$);\r\n var selected = descKeyVal.filter(\r\n (x) => x.key == value.transactionDescription\r\n )[0];\r\n if (selected) list.push('description:' + selected.value);\r\n }\r\n return list.join(';');\r\n }\r\n\r\n currentFinancialYear() {\r\n var dates = this.helper.getFinancialYear(new Date());\r\n this.dispatch(\r\n this.store,\r\n CashTransactionsSetFromToDateAction({\r\n from: dates.from.toISOString(),\r\n to: dates.to.toISOString(),\r\n })\r\n );\r\n }\r\n\r\n previousFinancialYear() {\r\n var today = new Date();\r\n var dates = this.helper.getFinancialYear(\r\n new Date(today.getFullYear() - 1, today.getMonth(), today.getDay())\r\n );\r\n\r\n this.dispatch(\r\n this.store,\r\n CashTransactionsSetFromToDateAction({\r\n from: dates.from.toISOString(),\r\n to: dates.to.toISOString(),\r\n })\r\n );\r\n }\r\n customFinancialYear(filter: FormGroupControls) {\r\n this.dispatch(\r\n this.store,\r\n CashTransactionsSetFromToDateAction({ from: '', to: '' })\r\n );\r\n }\r\n\r\n toggleFilter() {\r\n this.isFilterOpen = !this.isFilterOpen;\r\n }\r\n\r\n onClearFilterClick() {\r\n this.store.dispatch(ResetFilterAction());\r\n }\r\n\r\n clearYear() {\r\n this.store.dispatch(\r\n CashTransactionsSetFromToDateAction({ from: '', to: '' })\r\n );\r\n }\r\n}\r\n","
\r\n \r\n \r\n\r\n
\r\n
\r\n \r\n \r\n Type\r\n {{\r\n selectedType$ | async\r\n }}\r\n keyboard_arrow_down\r\n \r\n\r\n \r\n \r\n Description\r\n {{\r\n selectedDescription$ | async\r\n }}\r\n keyboard_arrow_down\r\n \r\n\r\n \r\n \r\n From:\r\n {{ filter.value.from | date : \"dd/MM/yyyy\" | dash }}\r\n To:\r\n {{ filter.value.to | date : \"dd/MM/yyyy\" | dash }}\r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n Filters:\r\n keyboard_arrow_down\r\n \r\n\r\n \r\n \r\n \r\n Type\r\n {{\r\n selectedType$ | async\r\n }}\r\n \r\n\r\n \r\n \r\n Description\r\n {{\r\n selectedDescription$ | async\r\n }}\r\n \r\n\r\n \r\n \r\n From:\r\n {{ filter.value.from | date : \"dd/MM/yyyy\" | dash }}\r\n To:\r\n {{ filter.value.to | date : \"dd/MM/yyyy\" | dash }}\r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n arrow_right{{ item.value }}\r\n \r\n \r\n \r\n \r\n \r\n arrow_right{{ item.value }}\r\n \r\n \r\n \r\n \r\n \r\n close\r\n Clear dates\r\n \r\n \r\n date_rangeCurrent financial year\r\n \r\n \r\n date_rangePrevious financial year\r\n \r\n \r\n
\r\n
\r\n editCustom dates:\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n \r\n
\r\n \r\n\r\n 0\"\r\n [ngClass]=\"{ animate__fadeIn: loading }\"\r\n >\r\n \r\n \r\n \r\n Transaction date\r\n Transaction type\r\n Description\r\n Amount\r\n \r\n \r\n \r\n \r\n {{ item.transactionDate | date : \"dd MMM yyyy\" }}\r\n {{ item.accountDetailType }}\r\n {{ item.description }}\r\n {{ item.amount | currency }}\r\n \r\n \r\n \r\n \r\n \r\n {{ listTotal$ | async | currency }}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { ComponentBase } from '../../views/component-base';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { AppToolbarOptionsComponent } from '@ifaa-components/ui-components';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { CashTransactionsComponent } from 'src/app/modules/shared/components/cash-transactions/cash-transactions.component';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { TextTransformPipe } from 'src/app/modules/shared/pipes/textTransform';\r\n\r\n@Component({\r\n selector: 'app-transaction-list-view',\r\n templateUrl: './transaction-list.component.html',\r\n styleUrls: ['./transaction-list.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n CashTransactionsComponent,\r\n AppComponentWrapperComponent,\r\n AppToolbarOptionsComponent,\r\n TextTransformPipe,\r\n AnimateCssDirective,\r\n ],\r\n})\r\nexport class TransactionListViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n constructor(public store: Store) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
{{'Transaction Listing' | textTransform}}
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { featureKey } from '../../store/shared.reducers';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { IInsurancePreQuestionnaireState } from './state';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const insurancePreQuestionnaire = createSelector(memberPortalState, (state) => state.insurancePreQuestionnaireState);\r\n\r\nexport const insurancePreQuestionnaire_ShowQuestionnaire = createSelector(\r\n insurancePreQuestionnaire,\r\n (state: IInsurancePreQuestionnaireState) => state.showQuestionnaire\r\n);\r\n\r\nexport const insurancePreQuestionnaire_ShowPreQuestionnaire = createSelector(\r\n insurancePreQuestionnaire,\r\n (state: IInsurancePreQuestionnaireState) => state.showPreQuestionnaire\r\n);\r\n\r\nexport const insurancePreQuestionnaire_ShowStartQuestionnaire = createSelector(\r\n insurancePreQuestionnaire,\r\n (state: IInsurancePreQuestionnaireState) => state.showStartQuestionnaire\r\n);\r\n\r\nexport const insurancePreQuestionnaire_Form = createSelector(\r\n insurancePreQuestionnaire,\r\n (state: IInsurancePreQuestionnaireState) => state.form\r\n);\r\n\r\n","import {\r\n InsuranceQuestionnaireModel,\r\n InsuranceQuestionnaireResultModel,\r\n InsurancePreQuestionnaireRequestModel,\r\n InsuranceRequestModel,\r\n} from 'src/app/model/insurance-questionnaire.model';\r\nimport {\r\n insuranceQuestionnaireStart_Form,\r\n insuranceQuestionnaireStart_State,\r\n insuranceQuestionnaireStart_Validated,\r\n insuranceQuestionnaireStart_CurrentStep,\r\n insuranceQuestionnaireStart_TotalSteps,\r\n insuranceQuestionnaireStart_Submitted,\r\n insuranceQuestionnaireStart_ConfirmedDate,\r\n insuranceQuestionnaireStart_isLegallyRecognisedAsGender,\r\n insuranceQuestionnaireStart_Gender,\r\n} from './selectors';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport {\r\n ConfirmRequestAction,\r\n NextStepAction,\r\n PreviousStepAction,\r\n ResetFormAction,\r\n SubmitRequestAction,\r\n ValidateFormAction,\r\n ConfirmReadInsuranceRequestInsuranceGuideAction,\r\n} from './actions';\r\nimport { ComponentBase } from '../../../../views/component-base';\r\nimport { AppState } from '../../../../store/app.states';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n commomState_ElevatedAccess,\r\n commomState_LoggedinInfo,\r\n commomState_SystemConfig_Config,\r\n commomState_SystemConfig_Messages,\r\n commonState_IsSending,\r\n} from 'src/app/store/common/common.selectors';\r\nimport { memberAccountDropdown_SelectedAccount } from '../member-account-dropdown/selectors';\r\nimport {\r\n insuranceQuestionnaire_AgeNextBirthday,\r\n insuranceQuestionnaire_Form,\r\n} from '../insurance-questionnaire/selectors';\r\nimport { insurancePreQuestionnaire_Form } from '../insurance-pre-questionnaire/selectors';\r\nimport { FeatureToggleName } from 'src/app/model/feature-toggle-name.model';\r\nimport { NgIf, AsyncPipe, NgFor, NgClass } from '@angular/common';\r\nimport {\r\n MatAccordion,\r\n MatExpansionPanel,\r\n MatExpansionPanelHeader,\r\n MatExpansionPanelTitle,\r\n MatExpansionPanelDescription,\r\n} from '@angular/material/expansion';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MatProgressBar } from '@angular/material/progress-bar';\r\nimport {\r\n EntryFieldRadioComponent,\r\n EntryCheckboxFieldComponent,\r\n AppButtonComponent,\r\n} from '@ifaa-components/ui-components';\r\nimport { NgrxFormsModule } from 'ngrx-forms';\r\nimport { AnimateCssDirective } from '../../directives/animatecss.directive';\r\nimport { AppRadioDirective } from '../../directives/app-radio.directive';\r\nimport { AppButtonDirective } from '../../directives/appbutton.directive';\r\nimport { FeatureToggleDirective } from '../../directives/feature-toggle.directive';\r\nimport { InputScrollDirective } from '../../directives/input-scroll.directive';\r\nimport { MessagePipe } from '../../pipes/message';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-insurance-questionnaire-start',\r\n templateUrl: './insurance-questionnaire-start.component.html',\r\n styleUrls: ['./insurance-questionnaire-start.component.scss'],\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n NgrxFormsModule,\r\n NgFor,\r\n NgClass,\r\n MatProgressBar,\r\n AnimateCssDirective,\r\n MessagePipe,\r\n EntryFieldRadioComponent,\r\n AppRadioDirective,\r\n EntryCheckboxFieldComponent,\r\n InputScrollDirective,\r\n FeatureToggleDirective,\r\n MatIcon,\r\n MatAccordion,\r\n MatExpansionPanel,\r\n MatExpansionPanelHeader,\r\n MatExpansionPanelTitle,\r\n MatExpansionPanelDescription,\r\n AppButtonComponent,\r\n AppButtonDirective,\r\n TranslatePipe,\r\n ],\r\n})\r\nexport class InsuranceQuestionnaireStartComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n state$ = this.store.pipe(select(insuranceQuestionnaireStart_State));\r\n currentStep$ = this.store.pipe(\r\n select(insuranceQuestionnaireStart_CurrentStep)\r\n );\r\n validated$ = this.store.pipe(select(insuranceQuestionnaireStart_Validated));\r\n form$ = this.store.pipe(select(insuranceQuestionnaireStart_Form));\r\n loggedIn$ = this.appstore.pipe(select(commomState_LoggedinInfo));\r\n totalSteps$ = this.appstore.pipe(\r\n select(insuranceQuestionnaireStart_TotalSteps)\r\n );\r\n submitted$ = this.appstore.pipe(\r\n select(insuranceQuestionnaireStart_Submitted)\r\n );\r\n confirmedDate$ = this.appstore.pipe(\r\n select(insuranceQuestionnaireStart_ConfirmedDate)\r\n );\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n tenantConfig$ = this.appstore.pipe(select(commomState_SystemConfig_Config));\r\n ageNextBirthday$ = this.appstore.pipe(\r\n select(insuranceQuestionnaire_AgeNextBirthday)\r\n );\r\n elevatedAccess$ = this.appstore.pipe(select(commomState_ElevatedAccess));\r\n isLegallyRecognisedAsGender$ = this.appstore.pipe(\r\n select(insuranceQuestionnaireStart_isLegallyRecognisedAsGender)\r\n );\r\n gender$ = this.appstore.pipe(select(insuranceQuestionnaireStart_Gender));\r\n\r\n submitQuestionnaireFeatureToggle =\r\n FeatureToggleName.member.account.insuranceQuestionnaire.update;\r\n insuranceRequestForm$ = this.appstore.pipe(\r\n select(insuranceQuestionnaire_Form)\r\n );\r\n insurancePreQuestionnaire$ = this.appstore.pipe(\r\n select(insurancePreQuestionnaire_Form)\r\n );\r\n messages$ = this.appstore.pipe(select(commomState_SystemConfig_Messages));\r\n isSubmitting$ = this.appstore.pipe(select(commonState_IsSending));\r\n\r\n elevatedAccess = false;\r\n hasPanelOpened: boolean = false;\r\n selectedAccount: number = 0;\r\n insuranceQuestionnaire: InsuranceRequestModel;\r\n insurancePreQuestionnaire: InsurancePreQuestionnaireRequestModel;\r\n fundName: string = 'the fund';\r\n\r\n constructor(\r\n public store: Store,\r\n public appstore: Store,\r\n private router: Router\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.sub = this.tenantConfig$.subscribe((x) => {\r\n if (x) {\r\n this.fundName = x.legalName;\r\n }\r\n });\r\n\r\n this.sub = this.insurancePreQuestionnaire$.subscribe((x) => {\r\n this.insurancePreQuestionnaire =\r\n x.value as InsurancePreQuestionnaireRequestModel;\r\n });\r\n this.sub = this.elevatedAccess$.subscribe((x) => {\r\n this.elevatedAccess = x;\r\n });\r\n this.sub = this.insuranceRequestForm$.subscribe((x) => {\r\n this.insuranceQuestionnaire = x.value as InsuranceRequestModel;\r\n\r\n if (this.insuranceQuestionnaire) {\r\n if (\r\n !this.insuranceQuestionnaire.confirmReadInsuranceRequestInsuranceGuide\r\n ) {\r\n this.router.navigate(['/insurance']);\r\n } else {\r\n this.dispatch(\r\n this.store,\r\n ConfirmReadInsuranceRequestInsuranceGuideAction({\r\n confirmReadInsuranceRequestInsuranceGuide:\r\n this.insuranceQuestionnaire\r\n .confirmReadInsuranceRequestInsuranceGuide,\r\n })\r\n );\r\n }\r\n }\r\n });\r\n\r\n this.dispatch(this.store, ResetFormAction());\r\n\r\n this.sub = this.validated$.subscribe((validated) => {\r\n if (!validated) this.dispatch(this.store, ValidateFormAction());\r\n });\r\n\r\n this.sub = this.currentStep$.subscribe((step) => {\r\n this.dispatch(this.store, ValidateFormAction());\r\n });\r\n\r\n this.sub = this.selectedAccount$.subscribe((account) => {\r\n if (account) {\r\n if (\r\n this.selectedAccount != 0 &&\r\n this.selectedAccount != account.accountId\r\n )\r\n this.router.navigate(['/']);\r\n\r\n this.selectedAccount = account.accountId;\r\n }\r\n });\r\n }\r\n\r\n onDutyToTakeReasonableClicked(opened: boolean) {\r\n if (opened) this.hasPanelOpened = true;\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n onPreviousClick() {\r\n this.dispatch(this.store, PreviousStepAction());\r\n }\r\n\r\n onNextClick() {\r\n this.dispatch(this.store, NextStepAction());\r\n }\r\n\r\n onSubmitClick(item: InsuranceQuestionnaireModel) {\r\n if (this.elevatedAccess) return;\r\n var request = {\r\n ...item,\r\n confirmReadInsuranceRequestInsuranceGuide:\r\n this.insuranceQuestionnaire.confirmReadInsuranceRequestInsuranceGuide,\r\n hasPreExistingConditionOrDisability:\r\n this.insurancePreQuestionnaire.hasPreExistingConditionOrDisability,\r\n engageInHazardousPursuits:\r\n this.insurancePreQuestionnaire.engageInHazardousPursuits,\r\n isPlanningToTakeLeaveWithoutPay:\r\n this.insurancePreQuestionnaire.isPlanningToTakeLeaveWithoutPay,\r\n } as InsuranceQuestionnaireModel;\r\n\r\n this.dispatch(\r\n this.store,\r\n SubmitRequestAction({ accountId: this.selectedAccount, data: request })\r\n );\r\n }\r\n\r\n onReturnClick() {\r\n this.router.navigate(['/']);\r\n }\r\n\r\n onConfirmClick(item: InsuranceQuestionnaireResultModel) {\r\n this.dispatch(\r\n this.store,\r\n ConfirmRequestAction({ accountId: this.selectedAccount, data: item })\r\n );\r\n }\r\n\r\n progressBar(currentStep: number, totapSteps: number): number {\r\n if (currentStep < 0) return 100;\r\n return Math.floor((100 / totapSteps) * currentStep);\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
    \r\n = i + 1 }\"\r\n >\r\n
\r\n\r\n \r\n \r\n {{ progressBar(currentStep$ | async, totalSteps$ | async) }}%\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n

Your personal details

\r\n\r\n
Your personal details
\r\n\r\n
\r\n
\r\n
Your member number:
\r\n
\r\n {{ (loggedIn$ | async)?.memberNumber }}\r\n
\r\n
\r\n\r\n
\r\n
Your age next birthday:
\r\n
\r\n {{ ageNextBirthday$ | async }}\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n Insurance providers require sex as a factor for determining insurance\r\n premiums. If you are now legally recognised as a gender that is\r\n different to the gender you were assigned at birth, you may apply for\r\n Standard insurance cover with {{ fundName }} as your current gender,\r\n however you must be able to provide documented proof that your gender\r\n has been legally recognised on the Insurer’s request. If your\r\n application for insurance is successful, you will be insured under the\r\n conditions and rates of your current gender.\r\n
\r\n \r\n \r\n

Insurance Questionnaire

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n

About your employment

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n

About your employment

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n

About your employment

\r\n
\r\n
\r\n

\r\n Hazardous occupation means an employee who performs skilled or\r\n semi-skilled manual labour, or who is exposed to high-risk accidents\r\n or health hazards, and includes (not a definitive list):\r\n

\r\n
    \r\n
  • \r\n Specialist occupations including, but not limited to, models,\r\n actors, pilots and airline crew, firefighters, police, fitness\r\n instructors and professional sportspeople; or\r\n
  • \r\n
  • \r\n Occupations with additional hazards including, but not limited to\r\n miners, seafarers, long haul drivers (>500 km radius), labourers,\r\n those working at heights (>10 metres), abalone divers, asbestos\r\n workers, bouncers, farmers, seasonal workers and heavy machinery\r\n operations; or\r\n
  • \r\n
  • \r\n Highly repetitive occupations including, but not limited to, process\r\n workers and factory hands.\r\n
  • \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n

Easy, standard insurance questionnaire

\r\n

About your employment

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n

Insurance Questionnaire

\r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n You have been declined insurance cover or had any special\r\n conditions or restrictions (loadings or exclusions) placed on any\r\n Death, TPD, or Income Protection (IP) Insurance with any\r\n superannuation fund or insurer.\r\n
  • \r\n
  • \r\n You have lodged/been paid, or are eligible to lodge or be paid a\r\n workers’ compensation, TPD, Terminal Illness, or IP benefit with\r\n any superannuation fund or insurer.\r\n
  • \r\n
  • \r\n You have been diagnosed with a terminal illness that reduces your\r\n life expectancy to less than 24 months.\r\n
  • \r\n
  • \r\n As at the date of this application, you have been off work for\r\n more than 10 days in the last 12 months for the same medical\r\n condition.\r\n
  • \r\n
  • \r\n You have lodged/been paid or are eligible to lodge or be paid a\r\n benefit for permanent incapacity or a terminal medical condition\r\n from a superannuation fund after satisfying a condition of release\r\n in accordance with the Superannuation Industry (Supervision)\r\n Regulations.\r\n
  • \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n

Consider what is right for you

\r\n
\r\n
\r\n

\r\n Insurance through superannuation can be a tax effective way to\r\n obtain insurance. However, premiums incurred from unnecessary,\r\n unwanted or unsuitable insurance cover can inappropriately erode\r\n member balances and, as a result, the savings available for members\r\n at retirement.\r\n

\r\n

\r\n It’s important to consider if you have multiple superannuation\r\n accounts and may therefore be paying duplicate sets of insurance\r\n premiums. For information on how to keep track of your super, you\r\n can visit the\r\n ATO website.\r\n

\r\n

\r\n Prior to making any decision in relation to insurance through\r\n {{ (tenantConfig$ | async).name }}, you should determine whether the\r\n cover is right for you. Among other things, you should:\r\n

\r\n
    \r\n
  • check if you have any other insurance cover; and
  • \r\n
  • \r\n check if the terms of cover, including the premiums, level of\r\n cover and any applicable restrictions or exclusions, are\r\n appropriate for your needs and circumstances; and consider\r\n speaking to a licensed or authorised financial adviser.\r\n
  • \r\n
\r\n

\r\n \r\n By submitting this application for underwritten cover, you\r\n acknowledge that you elect for the Trustee to take out and\r\n maintain insurance cover in relation to your\r\n {{ (tenantConfig$ | async).name }} account (subject to you meeting\r\n the policy terms, including premium requirements), even if your\r\n {{ (tenantConfig$ | async).name }} account balance is less than\r\n $6,000 and/or you are under the age of 25 and/or your account\r\n becomes inactive, and that you can cease the insurance by\r\n submitting a request to\r\n {{\r\n (tenantConfig$ | async).email\r\n }}.\r\n \r\n

\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n

Easy, standard insurance questionnaire

\r\n
\r\n
\r\n

\r\n Congratulations, you’re eligible to apply for Standard insurance\r\n cover with {{ (tenantConfig$ | async).name }}.\r\n

\r\n

\r\n Your insurance premium has been calculated below based upon the\r\n answers you provided. You may choose to opt out of TPD (Total and\r\n Permanent Disablement) cover. This will change your premium.\r\n

\r\n\r\n
    \r\n
  • You cannot hold TPD cover without Death cover.
  • \r\n
  • TPD cover is not available to members upon reaching age 55.
  • \r\n
  • \r\n TPD cover is not available if you are not a Permanent Employee or\r\n Contractor working at least 20 hours per week.\r\n
  • \r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n

\r\n Your Standard insurance cover quote\r\n

\r\n
\r\n
\r\n
Death cover
\r\n
\r\n {{ (submitted$ | async).value.deathCover }}\r\n
\r\n
\r\n
\r\n
TPD cover
\r\n
\r\n
{{ (submitted$ | async).value.tpdCover }}
\r\n \r\n \r\n
\r\n
\r\n
\r\n
Cost of cover
\r\n
\r\n {{\r\n (submitted$ | async).value.costOfCoverWithTpd\r\n }}\r\n {{\r\n (submitted$ | async).value.costOfCoverWithoutTpd\r\n }}\r\n  per month\r\n
\r\n
\r\n
\r\n\r\n
\r\n  \r\n \r\n report must read\r\n
\r\n \r\n \r\n \r\n \r\n About this application \r\n \r\n \r\n \r\n\r\n

\r\n The life insurance policy being applied for with this application is\r\n a consumer insurance contract within the meaning of the Insurance\r\n Contracts Act 1984 (Cth). When you apply for life insurance, we\r\n conduct a process called underwriting. It’s how we decide whether we\r\n can cover you, and if so, on what terms and at what cost.\r\n

\r\n\r\n

\r\n We will ask questions we need to know the answers to. These will be\r\n about your personal circumstances, such as your health and medical\r\n history, occupation, income, lifestyle, pastimes, and current and\r\n past insurance. The information you give us in response to our\r\n questions is vital to our decision.\r\n

\r\n\r\n

The duty to take reasonable care

\r\n\r\n

\r\n When applying for insurance, there is a legal duty to take\r\n reasonable care not to make a misrepresentation to the insurer\r\n before the contract of insurance is entered into.\r\n

\r\n\r\n

\r\n A misrepresentation is a false answer, an answer that is only\r\n partially true, or an answer which does not fairly reflect the\r\n truth.\r\n

\r\n\r\n

\r\n This duty applies to a new contract of insurance and also applies\r\n when extending or making changes to existing insurance, and\r\n reinstating insurance.\r\n

\r\n\r\n

If you do not meet your duty

\r\n

\r\n If you do not meet your legal duty, this can have serious impacts on\r\n your insurance. There are different remedies that may be available\r\n to us. These are set out in the Insurance Contracts Act 1984 (Cth).\r\n These are intended to put us in the position we would have been in\r\n if the duty had been met. Your cover could be avoided (treated as if\r\n it never existed), or its terms may be varied. This may also result\r\n in a claim being declined or a benefit being reduced.\r\n

\r\n\r\n

\r\n Please note that there may be circumstances where we later\r\n investigate whether the information given to us was true. For\r\n example, we may do this when a claim is made.\r\n

\r\n\r\n

\r\n Before we exercise any of these remedies, we will explain our\r\n reasons and what you can do if you disagree.\r\n

\r\n\r\n

Guidance for answering our questions

\r\n

\r\n You are responsible for the information provided to us. When\r\n answering our questions, please:\r\n

\r\n
    \r\n
  • \r\n Think carefully about each question before you answer. If you are\r\n unsure of the meaning of any question, please ask us before you\r\n respond.\r\n
  • \r\n
  • Answer every question.
  • \r\n
  • \r\n Answer truthfully, accurately and completely. If you are unsure\r\n about whether you should include information, please include it.\r\n
  • \r\n
  • \r\n Review your application carefully before it is submitted. If\r\n someone else helped prepare your application (for example, your\r\n adviser), please check every answer (and if necessary, make any\r\n corrections) before the application is submitted.\r\n
  • \r\n
\r\n\r\n

Changes before your cover starts

\r\n

\r\n Before your cover starts, we may ask about any changes that mean you\r\n would now answer our questions differently. As any changes might\r\n require further assessment or investigation, it could save time if\r\n you let us know about any changes when they happen.\r\n

\r\n\r\n

If you need help

\r\n

\r\n It’s important that you understand this information and the\r\n questions we ask. Ask us or a person you trust, such as your adviser\r\n for help if you have difficulty understanding the process of buying\r\n insurance or answering our questions.\r\n

\r\n\r\n

\r\n If you’re having difficulty due to a disability, understanding\r\n English or for any other reason, we're here to help. If you want,\r\n you can have a support person you trust with you.\r\n

\r\n\r\n

Notifying the insurer

\r\n

\r\n If, after the cover starts, you think you may not have met your\r\n duty, please contact us immediately and we’ll let you know whether\r\n it has any impact on the cover.\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n

Your application has been submitted

\r\n

\r\n Thank you! Your application has been submitted with reference number\r\n {{ (submitted$ | async).value.referenceNumber }}.\r\n

\r\n\r\n

\r\n Please do not cancel any existing insurance cover you hold until you\r\n receive a separate confirmation from us that your application has been\r\n accepted by the Insurer.\r\n

\r\n\r\n

\r\n Your Standard Cover will commence on the later of the date your\r\n application is accepted by the Insurer and when your first super\r\n contribution (rollover, employer SG contribution or personal\r\n contribution) has been received by the Fund.\r\n

\r\n\r\n

\r\n For detailed information about the policy, please read our\r\n Insurance Guide\r\n or contact us.\r\n

\r\n \r\n \r\n

We’re unable to offer you insurance cover

\r\n
\r\n

\r\n Unfortunately, if you are not an Australian citizen or Australian\r\n permanent resident, you are not eligible for insurance cover through\r\n {{ (tenantConfig$ | async).name }}.\r\n

\r\n

\r\n Please read our\r\n Insurance Guide\r\n to find out more.\r\n

\r\n
\r\n \r\n \r\n

We’re unable to offer you insurance cover

\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n\r\n 0 &&\r\n (currentStep$ | async) < (totalSteps$ | async)\r\n \"\r\n [isDisabled]=\"form.isInvalid\"\r\n >\r\n \r\n\r\n 0\"\r\n [isDisabled]=\"isSubmitting$ | async\"\r\n >\r\n \r\n\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n
\r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { ComponentBase } from '../component-base';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AppToolbarOptionsComponent } from '@ifaa-components/ui-components';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { InsuranceQuestionnaireStartComponent } from 'src/app/modules/shared/components/insurance-questionnaire-start/insurance-questionnaire-start.component';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { TextTransformPipe } from 'src/app/modules/shared/pipes/textTransform';\r\n\r\n@Component({\r\n selector: 'app-questionnaire-view',\r\n templateUrl: './questionnaire-view.component.html',\r\n styleUrls: ['./questionnaire-view.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n AppComponentWrapperComponent,\r\n AppToolbarOptionsComponent,\r\n TextTransformPipe,\r\n InsuranceQuestionnaireStartComponent,\r\n AnimateCssDirective,\r\n ],\r\n})\r\nexport class QuestionnaireViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n onMemberEditClick() {\r\n this.router.navigate(['personal-edit']);\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
{{'Questionnaire' | textTransform}}
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n","// import { commomState_LoggedinInfo } from './../store/common/common.selectors';\r\nimport { AppState } from './../store/app.states';\r\nimport { Injectable } from '@angular/core';\r\nimport { CanActivate, Router, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { of, Observable } from 'rxjs';\r\nimport { insuranceQuestionnaire_ShowQuestionnaire } from '../modules/shared/components/insurance-questionnaire/selectors';\r\n\r\n@Injectable()\r\nexport class ShowQuestionnaireGuardService implements CanActivate {\r\n\r\n showQuestionnaire$ = this.store.pipe(select(insuranceQuestionnaire_ShowQuestionnaire));\r\n\r\n constructor(public store: Store,\r\n private router: Router) {\r\n }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean {\r\n return new Observable(obs => {\r\n this.showQuestionnaire$.subscribe(showQuestionnaire => {\r\n\r\n if (showQuestionnaire) {\r\n obs.next(true);\r\n }\r\n\r\n obs.next(false);\r\n })\r\n });\r\n }\r\n}\r\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { IInsuranceDetailsState } from './state';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { featureKey } from '../../store/shared.reducers';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const insuranceDetails = createSelector(memberPortalState, (state) => state.insuranceDetailsState);\r\n\r\nexport const insuranceDetails_Model = createSelector(\r\n insuranceDetails,\r\n (state: IInsuranceDetailsState) => state.model\r\n);\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { ComponentBase } from '../../views/component-base';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { RequestAction as InsuranceRequestAction } from '../../modules/shared/components/insurance-details/actions';\r\nimport { insuranceQuestionnaire_ShowQuestionnaire } from 'src/app/modules/shared/components/insurance-questionnaire/selectors';\r\nimport { insuranceDetails_Model } from 'src/app/modules/shared/components/insurance-details/selectors';\r\nimport {\r\n insurancePreQuestionnaire_ShowStartQuestionnaire,\r\n insurancePreQuestionnaire_ShowPreQuestionnaire,\r\n} from 'src/app/modules/shared/components/insurance-pre-questionnaire/selectors';\r\nimport { ResetPreQuestionnaireRequestAction } from 'src/app/modules/shared/components/insurance-pre-questionnaire/actions';\r\nimport { memberAccountDropdown_SelectedAccount } from 'src/app/modules/shared/components/member-account-dropdown/selectors';\r\nimport { ShowQuestionnaireRequestAction } from 'src/app/modules/shared/components/insurance-questionnaire/actions';\r\nimport { FeatureToggleName } from 'src/app/model/feature-toggle-name.model';\r\nimport { commonState_SystemConfig_AccountFeatureToggles } from 'src/app/store/common/common.selectors';\r\nimport { FeatureToggleHelper } from 'src/app/helper/featureToggleHelper';\r\nimport {\r\n AppToolbarOptionsComponent,\r\n Helper,\r\n} from '@ifaa-components/ui-components';\r\nimport moment from 'moment';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { InsuranceDetailsModel } from 'src/app/model/insurance-details.model';\r\nimport { AsyncPipe, NgIf } from '@angular/common';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { InsuranceDetailsComponent } from 'src/app/modules/shared/components/insurance-details/insurance-details.component';\r\nimport { InsurancePreQuestionnaireComponent } from 'src/app/modules/shared/components/insurance-pre-questionnaire/insurance-pre-questionnaire.component';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { FeatureToggleDirective } from 'src/app/modules/shared/directives/feature-toggle.directive';\r\nimport { TextTransformPipe } from 'src/app/modules/shared/pipes/textTransform';\r\nimport { InsuranceQuestionnaireComponent } from 'src/app/modules/shared/components/insurance-questionnaire/insurance-questionnaire.component';\r\nimport { environment } from '../../../environments/environment';\r\n\r\n@Component({\r\n selector: 'app-insurance-view',\r\n templateUrl: './insurance-view.component.html',\r\n styleUrls: ['./insurance-view.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n AppComponentWrapperComponent,\r\n AppToolbarOptionsComponent,\r\n TextTransformPipe,\r\n FeatureToggleDirective,\r\n AnimateCssDirective,\r\n InsuranceDetailsComponent,\r\n InsurancePreQuestionnaireComponent,\r\n AsyncPipe,\r\n NgIf,\r\n InsuranceQuestionnaireComponent,\r\n ],\r\n})\r\nexport class InsuranceViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n showQuestionnaireFeatureToggle =\r\n FeatureToggleName.member.account.insuranceQuestionnaire.view;\r\n showInsuranceFeatureToggle =\r\n FeatureToggleName.member.account.insuranceDetails.view;\r\n\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n showQuestionnaire$ = this.store.pipe(\r\n select(insuranceQuestionnaire_ShowQuestionnaire)\r\n );\r\n showStartQuestion$ = this.store.pipe(\r\n select(insurancePreQuestionnaire_ShowStartQuestionnaire)\r\n );\r\n showPreQuestionnaire$ = this.store.pipe(\r\n select(insurancePreQuestionnaire_ShowPreQuestionnaire)\r\n );\r\n model$ = this.store.pipe(select(insuranceDetails_Model));\r\n accountFeatureToggles$ = this.store.pipe(\r\n select(commonState_SystemConfig_AccountFeatureToggles)\r\n );\r\n\r\n featureToggleHelper = new FeatureToggleHelper();\r\n helper = new Helper();\r\n showEffectiveDate = environment.views.insurance.showEffectiveDate;\r\n effectiveDateColumnName = '';\r\n effectiveDateGreaterThan = '';\r\n\r\n constructor(\r\n public store: Store,\r\n public translate: TranslateService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.sub = this.selectedAccount$.subscribe(async (x) => {\r\n if (x) {\r\n this.dispatch(\r\n this.store,\r\n InsuranceRequestAction({ accountId: x.accountId })\r\n );\r\n\r\n var featureToggles = await this.helper.getValue(\r\n this.accountFeatureToggles$\r\n );\r\n\r\n if (\r\n this.featureToggleHelper.checkToggle(\r\n this.showQuestionnaireFeatureToggle,\r\n featureToggles,\r\n x\r\n )\r\n ) {\r\n this.store.dispatch(\r\n ShowQuestionnaireRequestAction({ accountId: x.accountId })\r\n );\r\n this.dispatch(this.store, ResetPreQuestionnaireRequestAction());\r\n }\r\n }\r\n });\r\n\r\n this.sub = this.translate\r\n .get('VIEWS.Insurance.EffectiveDateColumnName')\r\n .subscribe((x) => {\r\n this.effectiveDateColumnName = x;\r\n });\r\n this.sub = this.translate\r\n .get('VIEWS.Insurance.EffectiveDateGreaterThan')\r\n .subscribe((x) => {\r\n this.effectiveDateGreaterThan = x;\r\n });\r\n\r\n // this.dispatch(this.store, RequestAction());\r\n }\r\n\r\n getCoverText(data: InsuranceDetailsModel) {\r\n if (this.showEffectiveDate && data.hasInsurance) {\r\n var date = null;\r\n switch (this.effectiveDateColumnName) {\r\n case 'LastModified':\r\n if (this.effectiveDateGreaterThan) {\r\n var dateToCompare = moment(this.effectiveDateGreaterThan);\r\n date = moment.max([moment(data.lastModified), dateToCompare]);\r\n } else {\r\n date = data.lastModified;\r\n }\r\n break;\r\n case 'PremiumStartDate':\r\n date = data.premiumStartDate;\r\n break;\r\n }\r\n let momentDate = moment(date);\r\n if (!momentDate.isValid()) {\r\n return null;\r\n }\r\n return ' as at ' + momentDate.format('DD-MMMM-YYYY');\r\n }\r\n return null;\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
{{'Insurance' | textTransform}}
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n \r\n
\r\n \r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { featureKey } from '../../store/shared.reducers';\r\nimport { IInsuranceUpdateComponentState } from './state';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const insuranceUpdate = createSelector(memberPortalState, (state) => state.insuranceUpdateFormComponentState);\r\n\r\nexport const insuranceUpdate_Model = createSelector(\r\n insuranceUpdate,\r\n (state: IInsuranceUpdateComponentState) => state.model\r\n);\r\n\r\nexport const insuranceUpdate_InitialForm = createSelector(\r\n insuranceUpdate,\r\n (state: IInsuranceUpdateComponentState) => state.initialForm\r\n);\r\n\r\nexport const insuranceUpdate_ReduceForm = createSelector(\r\n insuranceUpdate,\r\n (state: IInsuranceUpdateComponentState) => state.reduceForm\r\n);\r\n\r\nexport const insuranceUpdate_ReduceFormKeyProps = createSelector(\r\n insuranceUpdate,\r\n (state: IInsuranceUpdateComponentState) => {\r\n return state.reduceForm.controls?.insurance?.controls?.map(control => {\r\n return {\r\n originalTotal: control.value.amount,\r\n code: control.value.code,\r\n coverTypes: control.controls.covers.controls.map(innerControl => {\r\n return {\r\n newAmountId: innerControl.controls.newAmount.id,\r\n coverType: innerControl.value.coverType,\r\n newAmount: innerControl.value.newAmount\r\n }\r\n })\r\n }\r\n })\r\n }\r\n);\r\n\r\nexport const insuranceUpdate_CancelFormKeyProps = createSelector(\r\n insuranceUpdate,\r\n (state: IInsuranceUpdateComponentState) => {\r\n return state.cancelForm.controls?.insurance?.controls?.map(control => {\r\n return {\r\n originalTotal: control.value.amount,\r\n code: control.value.code,\r\n coverTypes: control.controls.covers.controls.map(innerControl => {\r\n return {\r\n checkboxId: innerControl.controls.checkbox.id,\r\n coverType: innerControl.value.coverType,\r\n toggled: innerControl.value.checkbox\r\n }\r\n })\r\n }\r\n })\r\n }\r\n);\r\n\r\nexport const insuranceUpdate_CancelForm = createSelector(\r\n insuranceUpdate,\r\n (state: IInsuranceUpdateComponentState) => state.cancelForm\r\n);\r\n\r\nexport const insuranceUpdate_Submitted = createSelector(\r\n insuranceUpdate,\r\n (state: IInsuranceUpdateComponentState) => state.submitted\r\n);\r\n\r\nexport const insuranceUpdate_InsuranceToReduce = createSelector(\r\n insuranceUpdate,\r\n (state: IInsuranceUpdateComponentState) => state.insuranceToReduce\r\n);\r\n\r\nexport const insuranceUpdate_InsuranceToCancel = createSelector(\r\n insuranceUpdate,\r\n (state: IInsuranceUpdateComponentState) => state.insuranceToCancel\r\n);\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { AsyncPipe, NgFor, NgIf } from '@angular/common';\r\nimport { InsuranceDetailsModel } from 'src/app/model/insurance-details.model';\r\nimport { commomState_SystemConfig_Config } from 'src/app/store/common/common.selectors';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MessagePipe } from '../../pipes/message';\r\n\r\n@Component({\r\n selector: 'app-no-insurance',\r\n templateUrl: './no-insurance.component.html',\r\n styleUrls: ['./no-insurance.component.scss'],\r\n imports: [NgFor, NgIf, MatIcon, AsyncPipe, MessagePipe],\r\n})\r\nexport class NoInsuranceComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n @Input() fund = '';\r\n @Input() data?: InsuranceDetailsModel = undefined;\r\n\r\n tenantConfig$ = this.appstore.pipe(select(commomState_SystemConfig_Config));\r\n constructor(public appstore: Store) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
","import { AppState } from 'src/app/store/app.states';\r\nimport {\r\n Directive,\r\n Input,\r\n ViewContainerRef,\r\n ComponentFactoryResolver,\r\n ElementRef,\r\n ComponentRef,\r\n} from '@angular/core';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { environment } from 'src/environments/environment';\r\nimport { InsuranceDetailsModel } from 'src/app/model/insurance-details.model';\r\nimport { SMRTNoInsuranceComponent } from '../../smrt/components/smrt-no-insurance/smrt-no-insurance.component';\r\nimport { NoInsuranceComponent } from '../components/no-insurance/no-insurance.component';\r\n\r\n@Directive({\r\n selector: '[fundComponentLoader]',\r\n})\r\nexport class FundComponentLoaderDirective {\r\n @Input() fundComponentLoader: 'NoInsurance' | 'OtherValue';\r\n @Input() data: any;\r\n @Input() fund: any;\r\n\r\n constructor(\r\n public store: Store,\r\n private element: ElementRef,\r\n private viewContainerRef: ViewContainerRef,\r\n private componentFactoryResolver: ComponentFactoryResolver\r\n ) {}\r\n\r\n ngOnInit() {\r\n var componentRef: ComponentRef;\r\n switch (this.fundComponentLoader) {\r\n case 'NoInsurance':\r\n if (environment.code == 'smrt') {\r\n let componentFactory =\r\n this.componentFactoryResolver.resolveComponentFactory(\r\n SMRTNoInsuranceComponent\r\n );\r\n\r\n componentRef =\r\n this.viewContainerRef.createComponent(componentFactory);\r\n componentRef.instance.fund = this.fund;\r\n componentRef.instance.data = this.data as InsuranceDetailsModel;\r\n } else {\r\n let componentFactory =\r\n this.componentFactoryResolver.resolveComponentFactory(\r\n NoInsuranceComponent\r\n );\r\n componentRef =\r\n this.viewContainerRef.createComponent(componentFactory);\r\n componentRef.instance.fund = this.fund;\r\n componentRef.instance.data = this.data as InsuranceDetailsModel;\r\n }\r\n\r\n if (componentRef) {\r\n const host = this.element.nativeElement;\r\n host.insertBefore(\r\n componentRef.location.nativeElement,\r\n host.firstChild\r\n );\r\n }\r\n break;\r\n }\r\n }\r\n}\r\n","import { insuranceDetails_Model } from './selectors';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { RequestAction } from './actions';\r\nimport { ComponentBase } from '../../../../views/component-base';\r\nimport { AppState } from '../../../../store/app.states';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { memberAccountDropdown_SelectedAccount } from '../member-account-dropdown/selectors';\r\nimport { commomState_SystemConfig_Config } from 'src/app/store/common/common.selectors';\r\nimport { Router } from '@angular/router';\r\nimport { insuranceUpdate_Model } from '../insurance-update/selectors';\r\nimport { SetInsuranceDetailsAction } from '../insurance-update/actions';\r\nimport {\r\n AppButtonComponent,\r\n DashPipe,\r\n Helper,\r\n} from '@ifaa-components/ui-components';\r\nimport { FeatureToggleName } from 'src/app/model/feature-toggle-name.model';\r\nimport {\r\n NgIf,\r\n AsyncPipe,\r\n NgFor,\r\n CurrencyPipe,\r\n DatePipe,\r\n} from '@angular/common';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MatTooltip } from '@angular/material/tooltip';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { FeatureToggleDirective } from '../../directives/feature-toggle.directive';\r\nimport { FundComponentLoaderDirective } from '../../directives/fund-component-loader.directive';\r\nimport { environment } from '../../../../../environments/environment';\r\n\r\n@Component({\r\n selector: 'app-insurance-details',\r\n templateUrl: './insurance-details.component.html',\r\n styleUrls: ['./insurance-details.component.scss'],\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n TranslatePipe,\r\n NgFor,\r\n CurrencyPipe,\r\n DashPipe,\r\n MatIcon,\r\n MatTooltip,\r\n DatePipe,\r\n FeatureToggleDirective,\r\n AppButtonComponent,\r\n FundComponentLoaderDirective,\r\n ],\r\n})\r\nexport class InsuranceDetailsComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n model$ = this.store.pipe(select(insuranceDetails_Model));\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n tenantConfig$ = this.appstore.pipe(select(commomState_SystemConfig_Config));\r\n insuranceUpdateModel$ = this.store.pipe(select(insuranceUpdate_Model));\r\n\r\n insuranceUpdateToggle =\r\n FeatureToggleName.member.account.insuranceChangeRequest.view;\r\n showLapseColumn = environment.views.insurance.showLapseColumn;\r\n\r\n helper: Helper = new Helper();\r\n\r\n constructor(\r\n public store: Store,\r\n public appstore: Store,\r\n public router: Router\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n this.sub = this.selectedAccount$.subscribe((x) => {\r\n if (x) {\r\n this.dispatch(this.store, RequestAction({ accountId: x.accountId }));\r\n }\r\n });\r\n\r\n this.sub = this.insuranceUpdateModel$.subscribe((x) => {\r\n if (x) {\r\n this.router.navigate(['/insurance/update']);\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n async updateOrCancelInsurance() {\r\n var model = await this.helper.getValue(this.model$);\r\n this.store.dispatch(SetInsuranceDetailsAction({ insurance: model }));\r\n }\r\n\r\n viewHistory() {\r\n this.router.navigate(['/insurance/change-history']);\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Cover TypeCover AmountWaiting PeriodLapsed
{{ item.insuranceCoverTypeDescription }}\r\n {{ item.premium | currency | dash }}\r\n help_outline\r\n \r\n {{ item.amount | currency | dash }}\r\n help_outline\r\n {{ item.waitingPeriod }}\r\n {{ item.lapseDate | date : \"dd/MM/yyyy\" }}\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n\r\n","import { insurancePreQuestionnaire_Form } from './selectors';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { ComponentBase } from '../../../../views/component-base';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { Router } from '@angular/router';\r\nimport { memberAccountDropdown_SelectedAccount } from '../member-account-dropdown/selectors';\r\nimport {\r\n commomState_SystemConfig_Config,\r\n commomState_SystemConfig_Messages,\r\n} from 'src/app/store/common/common.selectors';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { ShowStartQuestionnaireRequestAction } from './actions';\r\nimport { NgIf, AsyncPipe } from '@angular/common';\r\nimport {\r\n EntryFieldRadioComponent,\r\n AppButtonComponent,\r\n} from '@ifaa-components/ui-components';\r\nimport { NgrxFormsModule } from 'ngrx-forms';\r\nimport { AppRadioDirective } from '../../directives/app-radio.directive';\r\nimport { InputScrollDirective } from '../../directives/input-scroll.directive';\r\nimport { MessagePipe } from '../../pipes/message';\r\n\r\n@Component({\r\n selector: 'app-insurance-pre-questionnaire',\r\n templateUrl: './insurance-pre-questionnaire.component.html',\r\n styleUrls: ['./insurance-pre-questionnaire.component.scss'],\r\n imports: [\r\n NgrxFormsModule,\r\n NgIf,\r\n AsyncPipe,\r\n MessagePipe,\r\n EntryFieldRadioComponent,\r\n InputScrollDirective,\r\n AppRadioDirective,\r\n AppButtonComponent,\r\n ],\r\n})\r\nexport class InsurancePreQuestionnaireComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n tenantConfig$ = this.appstore.pipe(select(commomState_SystemConfig_Config));\r\n messages$ = this.appstore.pipe(select(commomState_SystemConfig_Messages));\r\n form$ = this.store.pipe(select(insurancePreQuestionnaire_Form));\r\n\r\n constructor(\r\n public store: Store,\r\n public appstore: Store,\r\n private router: Router\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.sub = this.selectedAccount$.subscribe((x) => {\r\n if (x) {\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n onStartClick() {\r\n this.dispatch(\r\n this.store,\r\n ShowStartQuestionnaireRequestAction({ display: true })\r\n );\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n

Interested in insurance?

\r\n

\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n

\r\n\r\n
\r\n \r\n

\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n

\r\n\r\n
\r\n \r\n

\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n

\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n

\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import {\r\n insuranceQuestionnaire_ElegibilityDate,\r\n insuranceQuestionnaire_ShowQuestionnaire,\r\n insuranceQuestionnaire_Form,\r\n} from './selectors';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { ComponentBase } from '../../../../views/component-base';\r\nimport { Router } from '@angular/router';\r\nimport { commomState_SystemConfig_Config } from 'src/app/store/common/common.selectors';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { NgIf, AsyncPipe, DatePipe } from '@angular/common';\r\nimport {\r\n EntryCheckboxFieldComponent,\r\n AppButtonComponent,\r\n} from '@ifaa-components/ui-components';\r\nimport { InputScrollDirective } from '../../directives/input-scroll.directive';\r\nimport { MessagePipe } from '../../pipes/message';\r\nimport { NgrxFormsModule } from 'ngrx-forms';\r\n\r\n@Component({\r\n selector: 'app-insurance-questionnaire',\r\n templateUrl: './insurance-questionnaire.component.html',\r\n styleUrls: ['./insurance-questionnaire.component.scss'],\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n MessagePipe,\r\n DatePipe,\r\n EntryCheckboxFieldComponent,\r\n InputScrollDirective,\r\n AppButtonComponent,\r\n NgrxFormsModule,\r\n ],\r\n})\r\nexport class InsuranceQuestionnaireComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n showQuestionnaire$ = this.store.pipe(\r\n select(insuranceQuestionnaire_ShowQuestionnaire)\r\n );\r\n tenantConfig$ = this.store.pipe(select(commomState_SystemConfig_Config));\r\n elegibilityDates$ = this.store.pipe(\r\n select(insuranceQuestionnaire_ElegibilityDate)\r\n );\r\n form$ = this.store.pipe(select(insuranceQuestionnaire_Form));\r\n\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n onStartClick() {\r\n this.router.navigate(['start-questionnaire']);\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n

Would you like insurance cover paid from your super?

\r\n \r\n

\r\n

\r\n \r\n \r\n

\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
","import { MemberPortalSharedState } from './../../store/shared.states';\r\nimport { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { featureKey } from '../../store/shared.reducers';\r\n\r\nimport { IRollInEditState } from './state';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const editRollIn = createSelector(memberPortalState, (state) => state.rollInEditState);\r\n\r\nexport const editRollIn_Form = createSelector(\r\n editRollIn,\r\n (state: IRollInEditState) => state.form\r\n);\r\n\r\nexport const editRollIn_LastModified = createSelector(\r\n editRollIn,\r\n (state: IRollInEditState) => state.lastModifiedTime\r\n);\r\n","import { MemberPortalSharedState } from './../../store/shared.states';\r\nimport { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { featureKey } from '../../store/shared.reducers';\r\n\r\nimport { ISuperannuationProviderSearchState } from './state';\r\nimport { KeyValueModel } from '@ifaa-components/ui-components';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const superannuationProviderSearch = createSelector(memberPortalState, (state) => state.superannuationProviderSearchState);\r\n\r\nexport const superannuationProviderSearch_Form = createSelector(\r\n superannuationProviderSearch,\r\n (state: ISuperannuationProviderSearchState) => state.form\r\n);\r\n\r\nexport const superannuationProviderSearch_LastModified = createSelector(\r\n superannuationProviderSearch,\r\n (state: ISuperannuationProviderSearchState) => state.lastModifiedTime\r\n);\r\n\r\nexport const superannuationProviderSearch_List = createSelector(\r\n superannuationProviderSearch,\r\n (state: ISuperannuationProviderSearchState) => state.form.value.list);\r\n","import {\r\n superannuationProviderSearch_Form,\r\n superannuationProviderSearch_List,\r\n} from './selectors';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { ComponentBase } from '../../../../views/component-base';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport {\r\n ClearSearchAction,\r\n RequestAction,\r\n SelectOptionAction,\r\n} from './actions';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport { SuperannuationProviderItemModel } from 'src/app/model/rollin-edit.model';\r\nimport { NgIf, AsyncPipe, NgClass, NgFor } from '@angular/common';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport {\r\n EntryFieldComponent,\r\n AppReadonlyComponent,\r\n} from '@ifaa-components/ui-components';\r\nimport { NgrxFormsModule } from 'ngrx-forms';\r\nimport { InputScrollDirective } from '../../directives/input-scroll.directive';\r\n\r\n@Component({\r\n selector: 'app-superannuation-provider-search',\r\n templateUrl: './superannuation-provider-search.component.html',\r\n styleUrls: ['./superannuation-provider-search.component.scss'],\r\n imports: [\r\n NgrxFormsModule,\r\n NgIf,\r\n AsyncPipe,\r\n EntryFieldComponent,\r\n InputScrollDirective,\r\n NgClass,\r\n AppReadonlyComponent,\r\n MatIcon,\r\n NgFor,\r\n EntryFieldComponent,\r\n ],\r\n})\r\nexport class SuperannuationProviderSearchComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n @Output() onSelected = new EventEmitter();\r\n\r\n form$ = this.store.pipe(select(superannuationProviderSearch_Form));\r\n list$ = this.store.pipe(select(superannuationProviderSearch_List));\r\n @Input() hidesearch: boolean = false;\r\n\r\n q: string = null;\r\n\r\n constructor(public store: Store) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.sub = this.form$.pipe(debounceTime(500)).subscribe((x) => {\r\n var regex = /^[^\\s].*[^\\s]$/;\r\n\r\n if (this.q != x.value.q && regex.test(x.value.q)) {\r\n this.q = x.value.q;\r\n this.dispatch(this.store, RequestAction({ q: this.q }));\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n onSelectOption(item: SuperannuationProviderItemModel) {\r\n this.store.dispatch(SelectOptionAction({ payload: item }));\r\n this.onSelected.emit(item);\r\n }\r\n\r\n onCloseClick() {\r\n this.store.dispatch(ClearSearchAction());\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n close\r\n
\r\n
\r\n \r\n No provider found\r\n
\r\n
    0\">\r\n \r\n
    \r\n
    \r\n {{ item.name }}\r\n
    \r\n
    \r\n
    Product:
    \r\n
    {{ item.productName }}
    \r\n
    \r\n
    \r\n
    ABN:
    \r\n
    {{ item.abn }}
    \r\n
    \r\n
    \r\n
    USI:
    \r\n
    {{ item.usi }}
    \r\n
    \r\n
    \r\n
    \r\n arrow_right\r\n
    \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n","import { editRollIn_Form, editRollIn_LastModified } from './selectors';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { ComponentBase } from '../../../../views/component-base';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport {\r\n ConfirmBackAction,\r\n ContinueAction,\r\n ResetAction,\r\n SelectedProviderAction,\r\n SubmitRequestAction,\r\n} from './actions';\r\nimport { ResetAction as ResetSearchAction } from '../superannuation-provider-search/actions';\r\nimport {\r\n RollInEditModel,\r\n SuperannuationProviderItemModel,\r\n} from 'src/app/model/rollin-edit.model';\r\nimport { memberAccountDropdown_SelectedAccount } from '../member-account-dropdown/selectors';\r\nimport { Router, RouterLink } from '@angular/router';\r\nimport { commonState_IsSending } from 'src/app/store/common/common.selectors';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { NgIf, AsyncPipe, CurrencyPipe, NgClass } from '@angular/common';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport {\r\n EntryFieldComponent,\r\n EntryFieldDropdownComponent,\r\n NumberEntryFieldComponent,\r\n AppButtonComponent,\r\n AppReadonlyComponent,\r\n EntryCheckboxFieldComponent,\r\n} from '@ifaa-components/ui-components';\r\nimport { NgrxFormsModule } from 'ngrx-forms';\r\nimport { AnimateCssDirective } from '../../directives/animatecss.directive';\r\nimport { AppButtonDirective } from '../../directives/appbutton.directive';\r\nimport { InputScrollDirective } from '../../directives/input-scroll.directive';\r\nimport { SuperannuationProviderSearchComponent } from '../superannuation-provider-search/superannuation-provider-search.component';\r\nimport { MessagePipe } from '../../pipes/message';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { AppRadioDirective } from '../../directives/app-radio.directive';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-rollin-edit',\r\n templateUrl: './rollin-edit.component.html',\r\n styleUrls: ['./rollin-edit.component.scss'],\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n NgrxFormsModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n SuperannuationProviderSearchComponent,\r\n EntryFieldComponent,\r\n InputScrollDirective,\r\n EntryFieldDropdownComponent,\r\n NumberEntryFieldComponent,\r\n AnimateCssDirective,\r\n AppButtonComponent,\r\n AppButtonDirective,\r\n AppReadonlyComponent,\r\n CurrencyPipe,\r\n EntryCheckboxFieldComponent,\r\n MatIcon,\r\n RouterLink,\r\n MessagePipe,\r\n NgClass,\r\n AppRadioDirective,\r\n TranslatePipe,\r\n ],\r\n})\r\nexport class RollinEditComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n form$ = this.store.pipe(select(editRollIn_Form));\r\n lastModified$ = this.store.pipe(select(editRollIn_LastModified));\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n\r\n isSubmitting$ = this.appstore.pipe(select(commonState_IsSending));\r\n\r\n accountId: number = 0;\r\n isMemberVerified = false;\r\n constructor(\r\n public store: Store,\r\n public appstore: Store,\r\n private router: Router\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n this.sub = this.selectedAccount$.subscribe((x) => {\r\n if (x) {\r\n this.accountId = x.accountId;\r\n this.store.dispatch(ResetAction());\r\n this.store.dispatch(ResetSearchAction());\r\n }\r\n });\r\n }\r\n\r\n onVerified(verified: boolean) {\r\n this.isMemberVerified = verified;\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n onConfirmClick() {\r\n this.dispatch(this.store, ContinueAction());\r\n }\r\n\r\n onSubmitClick(data: RollInEditModel) {\r\n this.dispatch(\r\n this.store,\r\n SubmitRequestAction({ accountId: this.accountId, payload: data })\r\n );\r\n }\r\n\r\n onSelectedOption($event: SuperannuationProviderItemModel) {\r\n this.dispatch(this.store, SelectedProviderAction({ payload: $event }));\r\n }\r\n\r\n onGoToDashboardClick() {\r\n this.router.navigate(['/dashboard']);\r\n }\r\n\r\n onConfirmBackClick() {\r\n this.dispatch(this.store, ConfirmBackAction());\r\n }\r\n\r\n invalidProvider(input: SuperannuationProviderItemModel) {\r\n if (!input.name || !input.productName || !input.abn || !input.usi) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n","
\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n \r\n\r\n \r\n

Please review and confirm

\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n check\r\n
\r\n
\r\n

\r\n Your rollover request has been submitted and should be processed in\r\n the next 3 to 28 Days.\r\n

\r\n

\r\n You can view the status of your recent super rollover requests on the\r\n dashboard.\r\n

\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { ComponentBase } from '../../views/component-base';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { NgIf } from '@angular/common';\r\nimport { AppToolbarOptionsComponent } from '@ifaa-components/ui-components';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { MemberViewComponent } from 'src/app/modules/shared/components/member-view/member-view.component';\r\nimport { RollinEditComponent } from 'src/app/modules/shared/components/rollin-edit/rollin-edit.component';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { TextTransformPipe } from 'src/app/modules/shared/pipes/textTransform';\r\n\r\n@Component({\r\n selector: 'app-rollin-view',\r\n templateUrl: './rollin-view.component.html',\r\n styleUrls: ['./rollin-view.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n AppComponentWrapperComponent,\r\n AppToolbarOptionsComponent,\r\n TextTransformPipe,\r\n RollinEditComponent,\r\n AnimateCssDirective,\r\n NgIf,\r\n MemberViewComponent,\r\n ],\r\n})\r\nexport class RollInViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n constructor(public store: Store) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
{{'Consolidate' | textTransform}}
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n 992\">\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n","import { IContributionsLimitsState } from './state';\r\nimport { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { featureKey } from '../../store/shared.reducers';\r\n\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const contributionsLimit = createSelector(memberPortalState, (state) => state.contributionsLimitsState);\r\n\r\nexport const contributionsLimit_Data = createSelector(\r\n contributionsLimit,\r\n (state: IContributionsLimitsState) => state.data\r\n);\r\n","import { contributionsLimit_Data } from './selectors';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { RequestAction } from './actions';\r\nimport { ComponentBase } from '../../../../views/component-base';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { memberAccountDropdown_SelectedAccount } from '../member-account-dropdown/selectors';\r\nimport { NgIf, AsyncPipe, CurrencyPipe, NgClass } from '@angular/common';\r\nimport { MatProgressBar } from '@angular/material/progress-bar';\r\nimport { RouterLink } from '@angular/router';\r\nimport { AppButtonComponent } from '@ifaa-components/ui-components';\r\nimport { AppComponentWrapperComponent } from '../app-component-wrapper/app-component-wrapper.component';\r\nimport { MessagePipe } from '../../pipes/message';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { NgrxFormsModule } from 'ngrx-forms';\r\n\r\n@Component({\r\n selector: 'app-contributions-limits',\r\n templateUrl: './contributions-limits.component.html',\r\n styleUrls: ['./contributions-limits.component.scss'],\r\n imports: [\r\n NgIf,\r\n AppComponentWrapperComponent,\r\n AsyncPipe,\r\n CurrencyPipe,\r\n MatProgressBar,\r\n AppButtonComponent,\r\n RouterLink,\r\n MessagePipe,\r\n NgClass,\r\n TranslatePipe,\r\n NgrxFormsModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ],\r\n})\r\nexport class ContributionsLimitsComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n @Input() displayType = '';\r\n\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n data$ = this.store.pipe(select(contributionsLimit_Data));\r\n datatype: 'gauge' | 'table' = 'gauge';\r\n constructor(public store: Store) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n this.sub = this.selectedAccount$.subscribe((x) => {\r\n if (x) {\r\n this.dispatch(this.store, RequestAction({ accountId: x.accountId }));\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n calculatePercentage(amount: number, cap: number) {\r\n if (amount == 0) return 180;\r\n\r\n if (amount > 0) var tt = '';\r\n var value = 180 - (amount * 180) / cap;\r\n if (value < 0 || isNaN(value)) return 0;\r\n // if (value > 180)\r\n // return 0;\r\n return value;\r\n }\r\n\r\n calculateProgressPercentage(amount: number, cap: number) {\r\n if (amount == 0 || cap == 0) return 0;\r\n\r\n if (amount > 0) var value = (amount * 100) / cap;\r\n if (value < 0 || isNaN(value)) return 0;\r\n return value;\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

Contribution limits

\r\n
\r\n
\r\n
\r\n
Concessional:
\r\n
\r\n
\r\n
\r\n
\r\n {{\r\n data.concessionalAmount | currency\r\n }}\r\n {{\r\n data.concessionalCap | currency\r\n }}\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Non-concessional:
\r\n
\r\n
\r\n {{\r\n data.nonConcessionalAmount | currency\r\n }}\r\n {{ data.nonConcessionalCap | currency }}\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n

\r\n\r\n
\r\n \r\n \r\n \r\n Type\r\n Cap\r\n Amount Processed\r\n \r\n \r\n \r\n \r\n Concessional\r\n {{ data.concessionalCap | currency }}\r\n {{ data.concessionalAmount | currency }}\r\n \r\n \r\n Non-Concessional\r\n {{ data.nonConcessionalCap | currency }}\r\n {{ data.nonConcessionalAmount | currency }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n

Concessional

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
Processed
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
Cap
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Non-Concessional

\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
Processed
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n Cap\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n

\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { ComponentBase } from '../../views/component-base';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { AppToolbarOptionsComponent } from '@ifaa-components/ui-components';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { ContributionsLimitsComponent } from 'src/app/modules/shared/components/contributions-limits/contributions-limits.component';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { TextTransformPipe } from 'src/app/modules/shared/pipes/textTransform';\r\n\r\n@Component({\r\n selector: 'app-contributions-view',\r\n templateUrl: './contributions-view.component.html',\r\n styleUrls: ['./contributions-view.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n AppComponentWrapperComponent,\r\n AppToolbarOptionsComponent,\r\n TextTransformPipe,\r\n ContributionsLimitsComponent,\r\n AnimateCssDirective,\r\n ],\r\n})\r\nexport class ContributionsViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n constructor(public store: Store) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n // this.dispatch(this.store, RequestAction());\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
{{'Contributions' | textTransform}}
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n","import { MemberPortalSharedState } from './../../store/shared.states';\r\nimport { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { featureKey } from '../../store/shared.reducers';\r\n\r\nimport { IPersonalContributionEditState } from './state';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const editMember = createSelector(memberPortalState, (state) => state.personalContributionEditState);\r\n\r\nexport const editMember_Form = createSelector(\r\n editMember,\r\n (state: IPersonalContributionEditState) => state.form\r\n);\r\n\r\nexport const editMember_LastModified = createSelector(\r\n editMember,\r\n (state: IPersonalContributionEditState) => state.lastModifiedTime\r\n);\r\n\r\nexport const editMember_BankDetails = createSelector(\r\n editMember,\r\n (state: IPersonalContributionEditState) => state.bankDetails\r\n);\r\n","import {\r\n BankDetailsRequestAction,\r\n ResetFormAction,\r\n SetDefaultPaymentMethodAction,\r\n SubmitRequestAction,\r\n} from './actions';\r\nimport {\r\n editMember_BankDetails,\r\n editMember_Form,\r\n editMember_LastModified,\r\n} from './selectors';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { ComponentBase } from '../../../../views/component-base';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { Router, RouterLink } from '@angular/router';\r\nimport { PersonalContributionModel } from 'src/app/model/personal-contribution.model';\r\nimport { memberAccountDropdown_SelectedAccount } from '../member-account-dropdown/selectors';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { commomState_PersonalContributions_PaymentsMethods } from 'src/app/store/common/common.selectors';\r\nimport { NgIf, AsyncPipe, NgClass } from '@angular/common';\r\nimport {\r\n EntryFieldRadioComponent,\r\n NumberEntryFieldComponent,\r\n EntryCheckboxFieldComponent,\r\n AppButtonComponent,\r\n} from '@ifaa-components/ui-components';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { NgrxFormsModule } from 'ngrx-forms';\r\nimport { AppRadioDirective } from '../../directives/app-radio.directive';\r\nimport { InputScrollDirective } from '../../directives/input-scroll.directive';\r\nimport { MessagePipe } from '../../pipes/message';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-personal-contribution-edit',\r\n templateUrl: './personal-contribution-edit.component.html',\r\n styleUrls: ['./personal-contribution-edit.component.scss'],\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n NgrxFormsModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MessagePipe,\r\n EntryFieldRadioComponent,\r\n AppRadioDirective,\r\n InputScrollDirective,\r\n NumberEntryFieldComponent,\r\n NgClass,\r\n EntryCheckboxFieldComponent,\r\n AppButtonComponent,\r\n TranslatePipe,\r\n RouterLink,\r\n ],\r\n})\r\nexport class PersonalContributionEditComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n form$ = this.store.pipe(select(editMember_Form));\r\n lastModified$ = this.store.pipe(select(editMember_LastModified));\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n paymentsMethods$ = this.appstore.pipe(\r\n select(commomState_PersonalContributions_PaymentsMethods)\r\n );\r\n bankDetails$ = this.appstore.pipe(select(editMember_BankDetails));\r\n selectedAccount: number;\r\n constructor(\r\n public store: Store,\r\n public appstore: Store,\r\n private router: Router\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n this.dispatch(this.store, ResetFormAction());\r\n this.dispatch(this.store, BankDetailsRequestAction());\r\n this.sub = this.selectedAccount$.subscribe((x) => {\r\n if (x) {\r\n this.selectedAccount = x.accountId;\r\n }\r\n });\r\n\r\n this.sub = this.paymentsMethods$.subscribe((x) => {\r\n if (x && x.length == 1) {\r\n this.dispatch(\r\n this.appstore,\r\n SetDefaultPaymentMethodAction({\r\n payload: parseInt(x[0].key.toString()),\r\n })\r\n );\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n onSubmitClick(data: PersonalContributionModel) {\r\n this.dispatch(\r\n this.store,\r\n SubmitRequestAction({ accountId: this.selectedAccount, payload: data })\r\n );\r\n }\r\n\r\n onConfirmBackClick() {\r\n this.router.navigate(['/dashboard']);\r\n }\r\n\r\n checkIsDeclatarionCompleted(data: PersonalContributionModel) {\r\n return (\r\n data.declaration_Option1 &&\r\n data.declaration_Option2 &&\r\n data.declaration_Option3 &&\r\n data.declaration_Option4\r\n );\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n\r\n
\r\n

Step 1: Eligibility to contribute

\r\n

\r\n By making this contribution I confirm that I meet one of the eligibility requirements below:\r\n

\r\n \r\n \r\n
\r\n * In accordance with superannuation legislation, you must be no older than 28 calendar days past the date of\r\n your 75th birthday if you want to make a personal contribution (other than a downsizer contribution) to your\r\n superannuation account. If you fail to meet this criterion on the date your contribution is received, it will\r\n be returned to you.\r\n
\r\n
\r\n
\r\n

Step 2: Your contribution frequency

\r\n

\r\n How often will you be making this contribution?\r\n

\r\n \r\n \r\n
\r\n You must use the same amount, frequency and payment reference if you chose to make your contribution\r\n regularly.\r\n
\r\n\r\n
\r\n
\r\n

Step 3: Your contribution amount

\r\n

\r\n Please enter the exact amount of your personal contribution.\r\n

\r\n \r\n \r\n\r\n

How many bank payments do you intend to place to pay the whole contribution amount?

\r\n \r\n \r\n
\r\n Sometimes members split their contributions into multiple payments due to the limits imposed by their online\r\n banking facility. By providing this information, it helps us identify and match our bank statement with our\r\n contribution forms.\r\n
\r\n\r\n
\r\n\r\n
\r\n

Step 4: Your payment method

\r\n
\r\n
\r\n

\r\n Which payment method will you be using to make this contribution?\r\n

\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n Please use the following payment details when making your contribution via BPAY\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Biller Code:
\r\n
\r\n
\r\n
\r\n
Ref:
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
Telephone & Internet Banking - BPAY
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n Please use the following payment details when making your non-concessional contribution via direct\r\n deposit.\r\n
\r\n
\r\n\r\n
\r\n
\r\n
BSB:
\r\n
\r\n
\r\n
\r\n
\r\n
Account Number:
\r\n
\r\n
\r\n
\r\n
\r\n
Account Name:
\r\n
\r\n
\r\n
\r\n
\r\n
Reference:
\r\n
{{ 'PERSONAL_CONTRIBUTION_REFERENCE_PREFIX' | translate }} {{bank.reference}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n By Submitting this form at the same time as making your payment, we will be able to quickly allocate your\r\n contribution to your account.\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n

Step 5: Your declaration

\r\n

\r\n After checking your details above, please tick the boxes below to confirm you have read, understood and agree\r\n to the declarations below.\r\n

\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n
\r\n\r\n\r\n
\r\n\r\n \r\n \r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Thank you for submitting your Personal Contribution Form\r\n

\r\n
\r\n
\r\n
\r\n Next Step: Complete the BPAY Deposit\r\n
\r\n Please use the following payment details when making your contribution via BPAY\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Biller Code:
\r\n
\r\n
\r\n
\r\n
Ref:
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
Telephone & Internet Banking - BPAY
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Next Step: Complete the Bank Deposit:\r\n
\r\n Please use the following payment details when making your non-concessional contribution via direct\r\n deposit.\r\n
\r\n
\r\n\r\n
\r\n
\r\n
BSB:
\r\n
\r\n
\r\n
\r\n
\r\n
Account Number:
\r\n
\r\n
\r\n
\r\n
\r\n
Account Name:
\r\n
\r\n
\r\n
\r\n
\r\n
Reference:
\r\n
{{ 'PERSONAL_CONTRIBUTION_REFERENCE_PREFIX' | translate }} {{bank.reference}}
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n

Note: Your personal contribution will be allocated to your Verve Super account based on the date\r\n we receive your payment into our bank account. This generally takes 1-3 business days.

\r\n\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { ComponentBase } from '../../views/component-base';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { AppToolbarOptionsComponent } from '@ifaa-components/ui-components';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { PersonalContributionEditComponent } from 'src/app/modules/shared/components/personal-contribution-edit/personal-contribution-edit.component';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { TextTransformPipe } from 'src/app/modules/shared/pipes/textTransform';\r\n\r\n@Component({\r\n selector: 'app-personal-contributions-view',\r\n templateUrl: './personal-contributions-view.component.html',\r\n styleUrls: ['./personal-contributions-view.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n AppComponentWrapperComponent,\r\n AppToolbarOptionsComponent,\r\n TextTransformPipe,\r\n PersonalContributionEditComponent,\r\n AnimateCssDirective,\r\n ],\r\n})\r\nexport class PersonalContributionViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n constructor(public store: Store) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n // this.dispatch(this.store, RequestAction());\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
{{'Personal Contributions' | textTransform}}
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n","import { featureKey } from './../../store/shared.reducers';\r\nimport { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { AppState } from '../../../../store/app.states';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { IAccountUnderlyingViewState } from './state';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const getAccountUnderlyingView = createSelector(memberPortalState, (state) => state.accountUnderlyingViewState);\r\n\r\nexport const getAccountUnderlyingView_Model = createSelector(\r\n getAccountUnderlyingView,\r\n (state: IAccountUnderlyingViewState) => state.model\r\n);\r\n","import { getAccountUnderlyingView_Model } from './selectors';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { RequestAction } from './actions';\r\nimport { ComponentBase } from '../../../../views/component-base';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { memberAccountDropdown_SelectedAccount } from '../member-account-dropdown/selectors';\r\nimport {\r\n ApexAxisChartSeries,\r\n ApexChart,\r\n ChartComponent,\r\n ApexDataLabels,\r\n ApexXAxis,\r\n ApexPlotOptions,\r\n ApexStates,\r\n ApexYAxis,\r\n} from 'ng-apexcharts';\r\nimport { NgIf, AsyncPipe, DatePipe } from '@angular/common';\r\nimport { AppReadonlyComponent } from '@ifaa-components/ui-components';\r\n\r\nexport type ChartOptions = {\r\n series: ApexAxisChartSeries;\r\n chart: ApexChart;\r\n dataLabels: ApexDataLabels;\r\n plotOptions: ApexPlotOptions;\r\n xaxis: ApexXAxis;\r\n yaxis: ApexYAxis;\r\n states: ApexStates;\r\n tooltip: any;\r\n};\r\n\r\n@Component({\r\n selector: 'app-account-underlying-view',\r\n templateUrl: './account-underlying-view.component.html',\r\n styleUrls: ['./account-underlying-view.component.scss'],\r\n imports: [NgIf, AsyncPipe, AppReadonlyComponent, DatePipe, ChartComponent],\r\n})\r\nexport class AccountUnderlyingViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n model$ = this.store.pipe(select(getAccountUnderlyingView_Model));\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n\r\n @ViewChild('chart1') chart: ChartComponent;\r\n\r\n public chartOptions: Partial;\r\n\r\n constructor(public store: Store) {\r\n super();\r\n this.chartOptions = {\r\n series: [\r\n {\r\n name: 'percentage',\r\n data: [],\r\n },\r\n ],\r\n chart: {\r\n type: 'bar',\r\n height: 400,\r\n },\r\n plotOptions: {\r\n bar: {\r\n horizontal: true,\r\n dataLabels: {\r\n position: 'bottom',\r\n },\r\n },\r\n },\r\n states: {\r\n // normal: {\r\n // filter: {\r\n // type: 'none',\r\n // value: 0,\r\n // }\r\n // },\r\n hover: {\r\n filter: {\r\n type: 'none',\r\n // value: 0,\r\n },\r\n },\r\n //active: {\r\n // allowMultipleDataPointsSelection: false,\r\n // filter: {\r\n // type: 'darken',\r\n // value: 0.35,\r\n // }\r\n // },\r\n },\r\n dataLabels: {\r\n enabled: true,\r\n textAnchor: 'start',\r\n style: {\r\n colors: ['darkslateblue'],\r\n },\r\n formatter: function (val, opt) {\r\n return opt.w.globals.labels[opt.dataPointIndex] + ': ' + val + '%';\r\n },\r\n offsetX: 0,\r\n dropShadow: {\r\n enabled: false,\r\n },\r\n },\r\n tooltip: {\r\n x: {\r\n show: false,\r\n },\r\n y: {\r\n title: {\r\n formatter: function (val, opts) {\r\n return opts.w.globals.labels[opts.dataPointIndex];\r\n },\r\n },\r\n },\r\n },\r\n xaxis: {\r\n type: 'category',\r\n },\r\n yaxis: {\r\n labels: {\r\n show: false,\r\n },\r\n },\r\n };\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.sub = this.selectedAccount$.subscribe((x) => {\r\n if (x) {\r\n this.dispatch(this.store, RequestAction({ accountId: x.accountId }));\r\n }\r\n });\r\n\r\n this.sub = this.model$.subscribe((x) => {\r\n if (x && this.chart) {\r\n this.chart.updateSeries([\r\n {\r\n data: x.data,\r\n },\r\n ]);\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { ComponentBase } from '../../views/component-base';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { AsyncPipe } from '@angular/common';\r\nimport { AppToolbarOptionsComponent } from '@ifaa-components/ui-components';\r\nimport { AccountUnderlyingViewComponent } from 'src/app/modules/shared/components/account-underlying-view/account-underlying-view.component';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { MessagePipe } from 'src/app/modules/shared/pipes/message';\r\nimport { TextTransformPipe } from 'src/app/modules/shared/pipes/textTransform';\r\n\r\n@Component({\r\n selector: 'app-assets-view',\r\n templateUrl: './assets-view.component.html',\r\n styleUrls: ['./assets-view.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n AppComponentWrapperComponent,\r\n AppToolbarOptionsComponent,\r\n TextTransformPipe,\r\n MessagePipe,\r\n AnimateCssDirective,\r\n AccountUnderlyingViewComponent,\r\n AsyncPipe,\r\n ],\r\n})\r\nexport class AssetsViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n constructor(public store: Store) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
{{'View Assets' | textTransform}}
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n

\r\n\r\n
\r\n
\r\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { IDocumentViewerListState } from './state';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { featureKey } from './../../store/shared.reducers';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const documentViewerList = createSelector(memberPortalState, (state) => state.documentViewerListState);\r\n\r\nexport const documentViewer_List = createSelector(\r\n documentViewerList,\r\n (state: IDocumentViewerListState) => state.list\r\n);\r\n\r\nexport const documentViewer_SelectedFile = createSelector(\r\n documentViewerList,\r\n (state: IDocumentViewerListState) => state.selectedFile\r\n);\r\n","import { ToastrService } from 'ngx-toastr';\r\nimport { documentViewer_List, documentViewer_SelectedFile } from './selectors';\r\nimport {\r\n Component,\r\n OnInit,\r\n Input,\r\n ViewChild,\r\n TemplateRef,\r\n} from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { MemberCorrespondenceSummaryModel } from 'src/app/model/member-correspondence-summary.model';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { memberAccountDropdown_SelectedAccount } from '../member-account-dropdown/selectors';\r\nimport { RequestAction, FileRequestAction, ResetFileAction } from './actions';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport {\r\n MatDialog,\r\n MatDialogClose,\r\n MatDialogContent,\r\n} from '@angular/material/dialog';\r\nimport { NgIf, AsyncPipe, NgFor, DatePipe } from '@angular/common';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MatProgressSpinner } from '@angular/material/progress-spinner';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport {\r\n AppNoItemsComponent,\r\n AppPdfViewerComponent,\r\n AppButtonComponent,\r\n} from '@ifaa-components/ui-components';\r\nimport { MessageDirective } from '../../directives/message.directive';\r\n\r\n@Component({\r\n selector: 'app-member-document-viewer',\r\n templateUrl: './document-viewer-view.component.html',\r\n styleUrls: ['./document-viewer-view.component.scss'],\r\n imports: [\r\n AppNoItemsComponent,\r\n NgIf,\r\n AsyncPipe,\r\n NgFor,\r\n MatIcon,\r\n DatePipe,\r\n AppPdfViewerComponent,\r\n MatProgressSpinner,\r\n MatDialogContent,\r\n MatToolbarModule,\r\n AppButtonComponent,\r\n MatDialogClose,\r\n MessageDirective,\r\n ],\r\n})\r\nexport class MemberDocumentViewerViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n @Input() category: string = '';\r\n accountId: number = 0;\r\n currentPDF: string = null;\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n\r\n list$ = this.store.pipe(select(documentViewer_List));\r\n selectedFile$ = this.store.pipe(select(documentViewer_SelectedFile));\r\n downloading: number = -1;\r\n isSafari: boolean = false;\r\n @ViewChild('myTemplate') customTemplate: TemplateRef;\r\n\r\n constructor(\r\n public store: Store,\r\n public toastr: ToastrService,\r\n public dialog: MatDialog,\r\n private http: HttpClient\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.sub = this.selectedAccount$.subscribe((account) => {\r\n if (account) {\r\n this.accountId = account.accountId;\r\n this.dispatch(\r\n this.store,\r\n RequestAction({\r\n accountId: account.accountId,\r\n category: this.category,\r\n })\r\n );\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n selectPDF(item: MemberCorrespondenceSummaryModel, index: number) {\r\n if (this.screenWidth < 992) {\r\n const dialogRef = this.dialog.open(this.customTemplate, {\r\n maxWidth: '100vw',\r\n maxHeight: '100vh',\r\n height: '100%',\r\n width: '100%',\r\n panelClass: 'full-screen-modal',\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(() => {});\r\n }\r\n\r\n this.downloading = index;\r\n this.store.dispatch(ResetFileAction());\r\n setTimeout(() => {\r\n this.store.dispatch(\r\n FileRequestAction({\r\n accountId: this.accountId,\r\n correspondenceSource: item.correspondenceSource,\r\n correspondenceId: item.correspondenceId,\r\n })\r\n );\r\n }, 10);\r\n }\r\n\r\n downloadFile(base64: string) {\r\n const downloadLink = document.createElement('a');\r\n\r\n downloadLink.href = base64;\r\n downloadLink.download = 'document.pdf';\r\n downloadLink.click();\r\n this.downloading = -1;\r\n this.toastr.success('File downloaded');\r\n }\r\n}\r\n","
= 992\">\r\n
\r\n
\r\n \r\n\r\n
    \r\n
  • \r\n picture_as_pdf\r\n
    {{item.title}}\r\n
    \r\n
    \r\n Created on: {{item.correspondenceDate | date:'dd/MM/yyyy'}}\r\n
    \r\n
    \r\n
    \r\n keyboard_arrow_right\r\n
  • \r\n
\r\n
\r\n
\r\n \r\n insert_drive_file\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
    \r\n
  • \r\n picture_as_pdf\r\n
    {{item.title}}\r\n
    \r\n
    \r\n Created on: {{item.correspondenceDate | date:'dd/MM/yyyy'}}\r\n
    \r\n
    \r\n
    \r\n save_alt\r\n \r\n
  • \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n\r\n \r\n
\r\n\r\n \r\n\r\n PDF Viewer\r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { ComponentBase } from '../../views/component-base';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { AppToolbarOptionsComponent } from '@ifaa-components/ui-components';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { MemberDocumentViewerViewComponent } from 'src/app/modules/shared/components/document-viewer/document-viewer-view.component';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { TextTransformPipe } from 'src/app/modules/shared/pipes/textTransform';\r\n\r\n@Component({\r\n selector: 'app-member-statements-view',\r\n templateUrl: './member-statements-view.component.html',\r\n styleUrls: ['./member-statements-view.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n AppComponentWrapperComponent,\r\n AppToolbarOptionsComponent,\r\n AnimateCssDirective,\r\n TextTransformPipe,\r\n MemberDocumentViewerViewComponent,\r\n ],\r\n})\r\nexport class MemberStatementsViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n constructor(public store: Store) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
{{'View Statements' | textTransform}}
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { ComponentBase } from '../../views/component-base';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { AppToolbarOptionsComponent } from '@ifaa-components/ui-components';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { MemberDocumentViewerViewComponent } from 'src/app/modules/shared/components/document-viewer/document-viewer-view.component';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { TextTransformPipe } from 'src/app/modules/shared/pipes/textTransform';\r\n\r\n@Component({\r\n selector: 'app-member-other-documents-view',\r\n templateUrl: './other-documents-view.component.html',\r\n styleUrls: ['./other-documents-view.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n AppComponentWrapperComponent,\r\n AnimateCssDirective,\r\n AppToolbarOptionsComponent,\r\n TextTransformPipe,\r\n MemberDocumentViewerViewComponent,\r\n ],\r\n})\r\nexport class OtherDocumentsViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n constructor(public store: Store) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
{{'Other Documents' | textTransform}}
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { ComponentBase } from '../../views/component-base';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { AsyncPipe, NgIf } from '@angular/common';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport {\r\n AppToolbarOptionsComponent,\r\n AppButtonComponent,\r\n} from '@ifaa-components/ui-components';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { MessagePipe } from 'src/app/modules/shared/pipes/message';\r\nimport { TextTransformPipe } from 'src/app/modules/shared/pipes/textTransform';\r\nimport { environment } from '../../../environments/environment';\r\n\r\n@Component({\r\n selector: 'app-calculator-view',\r\n templateUrl: './calculator-view.component.html',\r\n styleUrls: ['./calculator-view.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n AppComponentWrapperComponent,\r\n AppToolbarOptionsComponent,\r\n TextTransformPipe,\r\n MessagePipe,\r\n AsyncPipe,\r\n AppButtonComponent,\r\n MatIcon,\r\n AnimateCssDirective,\r\n NgIf,\r\n ],\r\n})\r\nexport class CalculatorViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n superannuationCalculator =\r\n environment.views.calculator.superannuationCalculator;\r\n superContributionOptimiser =\r\n environment.views.calculator.superContributionOptimiser;\r\n retirementProjectionCalculator =\r\n environment.views.calculator.retirementProjectionCalculator;\r\n\r\n constructor(public store: Store) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n openUrl(url: string) {\r\n window.open(url, '_blank').focus();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
{{ \"Calculator\" | textTransform }}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n

\r\n \r\n Want to find out how your choices may affect your super over\r\n the long term?
\r\n The Australian Securities & Investment Commission provides\r\n the following financial calculators:\r\n
\r\n

\r\n Superannuation Calculator\r\n - helps to calculate how much super you might have when you\r\n retire and how fees may affect your final super balance.
\r\n \r\n Retirement planner \r\n \r\n - helps to calculate what income you're likely to get from super\r\n and the age pension when you retire; how contributions,\r\n investment options, fees and retirement age can affect your\r\n retirement income, and how working part-time or taking a break\r\n from work can affect your super balance.
\r\n Super Contributions Optimiser- helps to calculate which type of super contributions will\r\n give your super the biggest boost.

\r\n \r\n \r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

\r\n Find out how much you need to spend to support the lifestyle you\r\n want in retirement.\r\n

\r\n

\r\n The ASFA Retirement Standard benchmarks the annual budget needed\r\n by Australians to fund either a comfortable or modest standard\r\n of living in the post-work years. It is updated quarterly to\r\n reflect inflation, and provides detailed budgets of what singles\r\n and couples would need to spend to support their chosen\r\n lifestyle.\r\n

\r\n

\r\n Comfortable or Modest?\r\n

\r\n

\r\n A comfortable retirement lifestyle enables an\r\n older, healthy retiree to be involved in a broad range of\r\n leisure and recreational activities and to have a good standard\r\n of living through the purchase of such things as: household\r\n goods, private health insurance, a reasonable car, good clothes,\r\n a range of electronic equipment, and domestic and occasionally\r\n international holiday travel.\r\n

\r\n

\r\n A modest retirement lifestyle is considered\r\n better than the Age Pension, but still only able to afford\r\n fairly basic activities.\r\n

\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n

\r\n timer\r\n Estimated time: 20 mins\r\n

\r\n

This calculator enables you to:

\r\n
    \r\n
  • work out where your money is going
  • \r\n
  • create your own custom items & change currency symbol
  • \r\n
  • \r\n save your results online (you will need to 'sign up' to\r\n MoneySmart) or download your results to an Excel spreadsheet\r\n
  • \r\n
  • simplify your budget by using our budget planner wizard
  • \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n

\r\n timer\r\n Estimated time: 5 mins\r\n

\r\n

This calculator helps you work out:

\r\n
    \r\n
  • \r\n what income you are likely to have from super and the age\r\n pension when you retire\r\n
  • \r\n
  • \r\n how contributions, investment options, fees and retirement age\r\n affect your retirement income from super\r\n
  • \r\n
\r\n

\r\n For detailed information see\r\n disclaimers & assumptions\r\n and\r\n FAQs\r\n below.\r\n

\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n

\r\n timer\r\n Estimated time: less than 1 minute\r\n

\r\n\r\n

This calculator helps you find out:

\r\n
    \r\n
  • \r\n if you are eligible for a co-contribution from the Government\r\n
  • \r\n
  • how much you can get if you are eligible
  • \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n

\r\n timer\r\n Estimated time: less than 1 minute\r\n

\r\n\r\n

Helps you work out:

\r\n
    \r\n
  • how much Australian income tax you should be paying
  • \r\n
  • \r\n what your take home salary will be when tax and the Medicare\r\n levy are removed\r\n
  • \r\n
  • your marginal tax rate
  • \r\n
\r\n

\r\n This calculator can also be used as an Australian tax return\r\n calculator. For more information see\r\n assumptions & further information.\r\n

\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n

\r\n timer\r\n Estimated time: 5 mins\r\n

\r\n\r\n

This calculator helps you work out:

\r\n
    \r\n
  • how much super you'll have when you retire
  • \r\n
  • how fees affect your final payout
  • \r\n
\r\n

\r\n For detailed information see\r\n disclaimers & assumptions\r\n below.\r\n

\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n

\r\n timer\r\n Estimated time: 5 mins\r\n

\r\n\r\n

This calculator helps you work out:

\r\n
    \r\n
  • \r\n which type of super contribution will give your super the\r\n biggest boost\r\n
  • \r\n
  • how to make super contributions 
  • \r\n
\r\n

\r\n For more information see\r\n disclaimers & assumptions\r\n and\r\n FAQs\r\n below.\r\n

\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { featureKey } from '../../store/shared.reducers';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { IBeneficiaryViewState } from './state';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const getBeneficiariesView = createSelector(memberPortalState, (state) => state.beneficiariesViewState);\r\n\r\nexport const getBeneficiariesView_List = createSelector(\r\n getBeneficiariesView,\r\n (state: IBeneficiaryViewState) => state.list\r\n);\r\n\r\nexport const beneficiariesView_CanEdit = createSelector(\r\n getBeneficiariesView,\r\n (state: IBeneficiaryViewState) => state.list.length == 0 || state.list.every(x => x.beneficiaryTypeId == 1)\r\n);\r\n","import {\r\n beneficiariesView_CanEdit,\r\n getBeneficiariesView_List,\r\n} from './selectors';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { RequestAction } from './actions';\r\nimport { ComponentBase } from '../../../../views/component-base';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { Router } from '@angular/router';\r\nimport { memberAccountDropdown_SelectedAccount } from '../member-account-dropdown/selectors';\r\nimport { FeatureToggleName } from 'src/app/model/feature-toggle-name.model';\r\nimport { TranslatePipe, TranslateService } from '@ngx-translate/core';\r\nimport { NgIf, AsyncPipe, DatePipe, NgFor } from '@angular/common';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport {\r\n AppButtonComponent,\r\n AppNoItemsComponent,\r\n AppReadonlyComponent,\r\n} from '@ifaa-components/ui-components';\r\nimport { NgCircleProgressModule } from 'ng-circle-progress';\r\nimport { AnimateCssDirective } from '../../directives/animatecss.directive';\r\nimport { AppButtonDirective } from '../../directives/appbutton.directive';\r\nimport { FeatureToggleDirective } from '../../directives/feature-toggle.directive';\r\nimport { MessagePipe } from '../../pipes/message';\r\nimport { MessageDirective } from '../../directives/message.directive';\r\n\r\n@Component({\r\n selector: 'app-beneficiaries-view',\r\n templateUrl: './beneficiaries-view.component.html',\r\n styleUrls: ['./beneficiaries-view.component.scss'],\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n MessagePipe,\r\n AnimateCssDirective,\r\n AppButtonComponent,\r\n AppButtonDirective,\r\n AppReadonlyComponent,\r\n NgCircleProgressModule,\r\n TranslatePipe,\r\n MatIcon,\r\n DatePipe,\r\n FeatureToggleDirective,\r\n NgFor,\r\n AppNoItemsComponent,\r\n MessageDirective,\r\n ],\r\n})\r\nexport class BeneficiariesViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n list$ = this.store.pipe(select(getBeneficiariesView_List));\r\n canEdit$ = this.store.pipe(select(beneficiariesView_CanEdit));\r\n\r\n updateBeneficiariesFeatureToggle =\r\n FeatureToggleName.member.account.beneficiaries.update;\r\n constructor(\r\n public store: Store,\r\n public translate: TranslateService,\r\n private router: Router\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n this.sub = this.selectedAccount$.subscribe((x) => {\r\n if (x) {\r\n this.dispatch(this.store, RequestAction({ accountId: x.accountId }));\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n onEditClick() {\r\n this.router.navigate(['beneficiaries-edit']);\r\n }\r\n}\r\n","
\r\n

\r\n\r\n \r\n\r\n 0\"\r\n appanimatecss=\"fadeIn delay-1s\"\r\n >\r\n \r\n
\r\n
\r\n
{{ i + 1 }}
\r\n\r\n
\r\n \r\n
\r\n
\r\n
{{ item.name }}
\r\n
\r\n group\r\n {{ item.relationship }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { ComponentBase } from '../component-base';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AppToolbarOptionsComponent } from '@ifaa-components/ui-components';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { BeneficiariesViewComponent } from 'src/app/modules/shared/components/beneficiaries-view/beneficiaries-view.component';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { TextTransformPipe } from 'src/app/modules/shared/pipes/textTransform';\r\n\r\n@Component({\r\n selector: 'app-beneficiary-view',\r\n templateUrl: './beneficiary-view.component.html',\r\n styleUrls: ['./beneficiary-view.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n AppComponentWrapperComponent,\r\n AppToolbarOptionsComponent,\r\n TextTransformPipe,\r\n AnimateCssDirective,\r\n BeneficiariesViewComponent,\r\n ],\r\n})\r\nexport class BeneficiaryViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n onMemberEditClick() {\r\n this.router.navigate(['personal-edit']);\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
{{'Your Beneficiaries' | textTransform}}
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n","/**\r\n * This file contains authentication parameters. Contents of this file\r\n * is roughly the same across other MSAL.js libraries. These parameters\r\n * are used to initialize Angular and MSAL Angular configurations in\r\n * in app.module.ts file.\r\n */\r\n\r\nimport {\r\n LogLevel,\r\n Configuration,\r\n BrowserCacheLocation,\r\n} from '@azure/msal-browser';\r\nimport { environment } from 'src/environments/environment';\r\n\r\nconst isIE =\r\n window.navigator.userAgent.indexOf('MSIE ') > -1 ||\r\n window.navigator.userAgent.indexOf('Trident/') > -1;\r\n\r\n/**\r\n * Enter here the user flows and custom policies for your B2C application,\r\n * To learn more about user flows, visit https://docs.microsoft.com/en-us/azure/active-directory-b2c/user-flow-overview\r\n * To learn more about custom policies, visit https://docs.microsoft.com/en-us/azure/active-directory-b2c/custom-policy-overview\r\n */\r\nexport const b2cPolicies = {\r\n names: {\r\n SignIn: environment.b2cPolicySignIn,\r\n Elevated: environment.b2cPolicyElevatedSignIn,\r\n AdviserElevated: environment.b2cPolicyAdviserElevatedSignIn,\r\n },\r\n authorities: {\r\n signIn: {\r\n authority: environment.b2cSignInAuthority,\r\n },\r\n elevated: {\r\n authority: environment.b2cElevatedSignInAuthority,\r\n },\r\n adviserelevated: {\r\n authority: environment.b2cAdviserElevatedSignInAuthority,\r\n },\r\n },\r\n authorityDomain: environment.b2cAuthorityDomain,\r\n};\r\n\r\n/**\r\n * Configuration object to be passed to MSAL instance on creation.\r\n * For a full list of MSAL.js configuration parameters, visit:\r\n * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/configuration.md\r\n */\r\nexport const msalConfig: Configuration = {\r\n auth: {\r\n clientId: environment.b2cClientId, // This is the ONLY mandatory field that you need to supply.\r\n authority: b2cPolicies.authorities.signIn.authority, // Defaults to \"https://login.microsoftonline.com/common\"\r\n knownAuthorities: [b2cPolicies.authorityDomain], // Mark your B2C tenant's domain as trusted.\r\n redirectUri: '/dashboard', // Points to window.location.origin by default. You must register this URI on Azure portal/App Registration.\r\n postLogoutRedirectUri: environment.b2cLogoutUrl, // Points to window.location.origin by default.\r\n navigateToLoginRequestUrl: false,\r\n },\r\n cache: {\r\n cacheLocation: environment.production\r\n ? BrowserCacheLocation.SessionStorage\r\n : BrowserCacheLocation.LocalStorage, // Configures cache location. \"sessionStorage\" is more secure, but \"localStorage\" gives you SSO between tabs.\r\n storeAuthStateInCookie: isIE, // Set this to \"true\" if you are having issues on IE11 or Edge. Remove this line to use Angular Universal\r\n },\r\n system: {\r\n /**\r\n * Below you can configure MSAL.js logs. For more information, visit:\r\n * https://docs.microsoft.com/azure/active-directory/develop/msal-logging-js\r\n */\r\n loggerOptions: {\r\n loggerCallback(logLevel: LogLevel, message: string) {\r\n //console.log(message);\r\n },\r\n logLevel: LogLevel.Verbose,\r\n piiLoggingEnabled: false,\r\n },\r\n },\r\n};\r\n\r\nexport const msalElevatedConfig: Configuration = {\r\n auth: {\r\n clientId: environment.b2cClientId, // This is the ONLY mandatory field that you need to supply.\r\n authority: b2cPolicies.authorities.elevated.authority, // Defaults to \"https://login.microsoftonline.com/common\"\r\n knownAuthorities: [b2cPolicies.authorityDomain], // Mark your B2C tenant's domain as trusted.\r\n postLogoutRedirectUri: environment.b2cLogoutUrl, // Points to window.location.origin by default.\r\n navigateToLoginRequestUrl: false,\r\n },\r\n cache: {\r\n cacheLocation: BrowserCacheLocation.SessionStorage, // Configures cache location. \"sessionStorage\" is more secure, but \"localStorage\" gives you SSO between tabs.\r\n temporaryCacheLocation: BrowserCacheLocation.MemoryStorage,\r\n storeAuthStateInCookie: false, // Set this to \"true\" if you are having issues on IE11 or Edge. Remove this line to use Angular Universal\r\n },\r\n system: {\r\n loggerOptions: {\r\n loggerCallback(logLevel: LogLevel, message: string) {\r\n // console.log(message);\r\n },\r\n logLevel: LogLevel.Verbose,\r\n piiLoggingEnabled: false,\r\n },\r\n allowRedirectInIframe: true,\r\n asyncPopups: true,\r\n },\r\n};\r\n\r\nexport const msalAdviserElevatedConfig: Configuration = {\r\n auth: {\r\n clientId: environment.b2cClientId, // This is the ONLY mandatory field that you need to supply.\r\n authority: b2cPolicies.authorities.adviserelevated.authority, // Defaults to \"https://login.microsoftonline.com/common\"\r\n knownAuthorities: [b2cPolicies.authorityDomain], // Mark your B2C tenant's domain as trusted.\r\n postLogoutRedirectUri: environment.b2cLogoutUrl, // Points to window.location.origin by default.\r\n navigateToLoginRequestUrl: false,\r\n },\r\n cache: {\r\n cacheLocation: BrowserCacheLocation.SessionStorage, // Configures cache location. \"sessionStorage\" is more secure, but \"localStorage\" gives you SSO between tabs.\r\n temporaryCacheLocation: BrowserCacheLocation.MemoryStorage,\r\n storeAuthStateInCookie: false, // Set this to \"true\" if you are having issues on IE11 or Edge. Remove this line to use Angular Universal\r\n },\r\n system: {\r\n /**\r\n * Below you can configure MSAL.js logs. For more information, visit:\r\n * https://docs.microsoft.com/azure/active-directory/develop/msal-logging-js\r\n */\r\n loggerOptions: {\r\n loggerCallback(logLevel: LogLevel, message: string) {\r\n // console.log(message);\r\n },\r\n logLevel: LogLevel.Verbose,\r\n piiLoggingEnabled: false,\r\n },\r\n allowRedirectInIframe: true,\r\n asyncPopups: true,\r\n },\r\n};\r\n\r\nexport const protectedResources = {\r\n apiEndpoint: {\r\n endpoint: environment.b2cApiEndpoint,\r\n scopes: {\r\n read: [environment.b2cReadScope],\r\n write: [environment.b2cWriteScope],\r\n },\r\n },\r\n};\r\n/**\r\n * Scopes you add here will be prompted for user consent during sign-in.\r\n * By default, MSAL.js will add OIDC scopes (openid, profile) to any login request.\r\n * For more information about OIDC scopes, visit:\r\n * https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-permissions-and-consent#openid-connect-scopes\r\n */\r\nexport const loginRequest = {\r\n scopes: [environment.b2cReadScope],\r\n};\r\n\r\n/**\r\n * An optional silentRequest object can be used to achieve silent SSO\r\n * between applications by providing a \"loginHint\" property (such as a username). For more, visit:\r\n * https://learn.microsoft.com/en-us/azure/active-directory/develop/msal-js-sso#sso-between-different-apps\r\n * If you do not receive the username claim in ID tokens, see also:\r\n * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/FAQ.md#why-is-getaccountbyusername-returning-null-even-though-im-signed-in\r\n */\r\n// export const silentRequest = {\r\n// scopes: [],\r\n// domainHint: \"\",\r\n// };\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { ComponentBase } from '../../views/component-base';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { MsalService } from '@azure/msal-angular';\r\nimport { loginRequest } from 'src/app/auth-config';\r\n\r\n@Component({\r\n selector: 'app-elevated-access',\r\n templateUrl: './elevated-access.component.html',\r\n styleUrls: ['./elevated-access.component.scss'],\r\n})\r\nexport class ElevatedAccessComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n constructor(\r\n public store: Store,\r\n public router: Router,\r\n public authService: MsalService\r\n ) {\r\n super();\r\n }\r\n\r\n async ngOnInit() {\r\n super.ngOnInitBase();\r\n sessionStorage.setItem('login-type', 'Elevated');\r\n\r\n if (window.self !== window.top) {\r\n await this.authService.instance\r\n .loginPopup(loginRequest)\r\n .then((response) => {\r\n this.authService.instance.setActiveAccount(response.account);\r\n })\r\n .catch((_) => {\r\n this.authService.instance.logout();\r\n });\r\n } else {\r\n this.router.navigate(['/dashboard']);\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n Loading...\r\n\r\n
\r\n
\r\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { featureKey } from '../../store/shared.reducers';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { IBPAYDetailsViewState } from './state';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const getBPAYDetails = createSelector(memberPortalState, (state) => state.bpayDetailsViewState);\r\n\r\nexport const getBPAYDetails_Item = createSelector(\r\n getBPAYDetails,\r\n (state: IBPAYDetailsViewState) => state.item\r\n);\r\n\r\n\r\n","import { getBPAYDetails_Item } from './selectors';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { RequestAction } from './actions';\r\nimport { ComponentBase } from '../../../../views/component-base';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { Router } from '@angular/router';\r\nimport { memberAccountDropdown_SelectedAccount } from '../member-account-dropdown/selectors';\r\nimport { FeatureToggleName } from 'src/app/model/feature-toggle-name.model';\r\nimport { commomState_SystemConfig_Config } from 'src/app/store/common/common.selectors';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { AsyncPipe, NgIf } from '@angular/common';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MatTooltip } from '@angular/material/tooltip';\r\nimport { AppNoItemsComponent } from '@ifaa-components/ui-components';\r\nimport { FeatureToggleDirective } from '../../directives/feature-toggle.directive';\r\nimport { MessageDirective } from '../../directives/message.directive';\r\n\r\n@Component({\r\n selector: 'app-bpay-details',\r\n templateUrl: './bpay-details.component.html',\r\n styleUrls: ['./bpay-details.component.scss'],\r\n imports: [\r\n MatIcon,\r\n MatTooltip,\r\n AppNoItemsComponent,\r\n AsyncPipe,\r\n NgIf,\r\n FeatureToggleDirective,\r\n MessageDirective,\r\n ],\r\n})\r\nexport class BPAYDetailsComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n bpayDetail$ = this.store.pipe(select(getBPAYDetails_Item));\r\n spouseBPAYViewFeatureToggle =\r\n FeatureToggleName.member.account.spouseBPAYContribution.view;\r\n tenantConfig$ = this.appstore.pipe(select(commomState_SystemConfig_Config));\r\n\r\n constructor(\r\n public store: Store,\r\n public appstore: Store,\r\n private router: Router\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n this.sub = this.selectedAccount$.subscribe((x) => {\r\n if (x) {\r\n this.dispatch(this.store, RequestAction({ accountId: x.accountId }));\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n\r\n

Personal contribution BPAY details\r\n help_outline\r\n\r\n

\r\n\r\n

\r\n Below are your unique BPAY details to make personal contributions through your\r\n bank.\r\n

\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n

Biller Code: {{bpayDetail.billerCode}}

\r\n

Ref: {{bpayDetail.reference}}

\r\n
\r\n
\r\n
\r\n

Mobile & Internet Banking - BPAY®

\r\n

Make this payment from your preferred bank account.

\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n

Spouse contribution BPAY details\r\n help_outline\r\n

\r\n\r\n

Your spouse can use below BPAY details to make contributions to your smartMonday account via their bank.

\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n

Biller Code: {{bpayDetail.spouseBillerCode}}

\r\n

Ref: {{bpayDetail.reference}}

\r\n
\r\n
\r\n
\r\n

Mobile & Internet Banking - BPAY®

\r\n

Make this payment from your preferred bank account.

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n

Please keep in mind your financial institution's processing time-frames if making payment\r\n via\r\n BPAY. We\r\n recommend you allow at least three business days for BPAY.

\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { ComponentBase } from '../../views/component-base';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { AsyncPipe } from '@angular/common';\r\nimport { AppToolbarOptionsComponent } from '@ifaa-components/ui-components';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { BPAYDetailsComponent } from 'src/app/modules/shared/components/bpay-details/bpay-details.component';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { MessagePipe } from 'src/app/modules/shared/pipes/message';\r\nimport { TextTransformPipe } from 'src/app/modules/shared/pipes/textTransform';\r\n\r\n@Component({\r\n selector: 'app-make-a-contribution-view',\r\n templateUrl: './make-a-contribution-view.component.html',\r\n styleUrls: ['./make-a-contribution-view.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n AppComponentWrapperComponent,\r\n AppToolbarOptionsComponent,\r\n TextTransformPipe,\r\n AnimateCssDirective,\r\n MessagePipe,\r\n AsyncPipe,\r\n BPAYDetailsComponent,\r\n ],\r\n})\r\nexport class MakeContributionViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n constructor(public store: Store) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n //this.dispatch(this.store, RequestAction());\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
{{'Contributions' | textTransform}}
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n

\r\n\r\n
\r\n
\r\n\r\n BPAY® Details\">\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { IMemberPensionViewState } from './state';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { featureKey } from '../../store/shared.reducers';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const getMemberPensionView = createSelector(memberPortalState, (state) => state.memberPensionViewState);\r\n\r\nexport const getMemberPensionView_Model = createSelector(\r\n getMemberPensionView,\r\n (state: IMemberPensionViewState) => state.model\r\n);\r\n\r\nexport const getMemberPensionView_beneficiaryList = createSelector(\r\n getMemberPensionView,\r\n (state: IMemberPensionViewState) => state.beneficiaryList\r\n);\r\n","import {\r\n getMemberPensionView_beneficiaryList,\r\n getMemberPensionView_Model,\r\n} from './selectors';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport {\r\n RequestAction,\r\n RequestBeneficiariesAction,\r\n ResetDataAction,\r\n} from './actions';\r\nimport { ComponentBase } from '../../../../views/component-base';\r\nimport { AppState } from '../../../../store/app.states';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { commomState_LoggedinInfo } from 'src/app/store/common/common.selectors';\r\nimport {\r\n AppButtonComponent,\r\n AppNoItemsComponent,\r\n AppReadonlyComponent,\r\n Helper,\r\n} from '@ifaa-components/ui-components';\r\nimport { memberAccountDropdown_SelectedAccount } from '../member-account-dropdown/selectors';\r\nimport { FeatureToggleName } from 'src/app/model/feature-toggle-name.model';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n NgIf,\r\n AsyncPipe,\r\n DatePipe,\r\n CurrencyPipe,\r\n NgFor,\r\n} from '@angular/common';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { FeatureToggleDirective } from '../../directives/feature-toggle.directive';\r\nimport { MessageDirective } from '../../directives/message.directive';\r\n\r\n@Component({\r\n selector: 'app-member-pension-view',\r\n templateUrl: './member-pension-view.component.html',\r\n styleUrls: ['./member-pension-view.component.scss'],\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n AppReadonlyComponent,\r\n DatePipe,\r\n CurrencyPipe,\r\n AppNoItemsComponent,\r\n TranslatePipe,\r\n NgFor,\r\n AppButtonComponent,\r\n FeatureToggleDirective,\r\n MessageDirective,\r\n ],\r\n})\r\nexport class MemberPensionViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n data$ = this.store.pipe(select(getMemberPensionView_Model));\r\n beneficiaryList$ = this.store.pipe(\r\n select(getMemberPensionView_beneficiaryList)\r\n );\r\n @Input() itemclass: string = 'w-50';\r\n loggedIn$ = this.appstore.pipe(select(commomState_LoggedinInfo));\r\n\r\n helper = new Helper();\r\n\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n\r\n changePensionScheduleFeatureToggle =\r\n FeatureToggleName.member.account.changePensionSchedule.view;\r\n editBankDetailsFeatureToggle =\r\n FeatureToggleName.member.account.editBankDetails.view;\r\n centrelinkScheduleFeatureToggle =\r\n FeatureToggleName.member.account.centrelinkSchedule.view;\r\n\r\n constructor(\r\n public store: Store,\r\n public appstore: Store,\r\n private router: Router\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.dispatch(this.store, ResetDataAction());\r\n\r\n this.sub = this.selectedAccount$.subscribe((x) => {\r\n if (x) {\r\n this.dispatch(this.store, RequestAction({ accountId: x.accountId }));\r\n this.dispatch(\r\n this.store,\r\n RequestBeneficiariesAction({ accountId: x.accountId })\r\n );\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n updateSchedule() {\r\n this.router.navigate(['/pension-details/change-schedule']);\r\n }\r\n\r\n viewRequests() {\r\n this.router.navigate(['/pension-details/change-schedule/requests']);\r\n }\r\n}\r\n","
\r\n
\r\n

Retirement Pension

\r\n\r\n
\r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n

Transition to Retirement Pension

\r\n\r\n
\r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n
\r\n
\r\n\r\n

Reversionary Beneficiary Details

\r\n\r\n \r\n\r\n 0\"\r\n >\r\n \r\n \r\n Name\r\n \r\n \r\n \r\n \r\n {{ item.name }}\r\n \r\n \r\n \r\n
\r\n\r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { ComponentBase } from '../component-base';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AppToolbarOptionsComponent } from '@ifaa-components/ui-components';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { MemberPensionViewComponent } from 'src/app/modules/shared/components/member-pension-view/member-pension-view.component';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { TextTransformPipe } from 'src/app/modules/shared/pipes/textTransform';\r\n\r\n@Component({\r\n selector: 'app-pension-view',\r\n templateUrl: './pension-view.component.html',\r\n styleUrls: ['./pension-view.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n AppComponentWrapperComponent,\r\n AppToolbarOptionsComponent,\r\n TextTransformPipe,\r\n MemberPensionViewComponent,\r\n AnimateCssDirective,\r\n ],\r\n})\r\nexport class PensionViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
{{'Pension Details' | textTransform}}
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { ComponentBase } from '../../views/component-base';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { AppToolbarOptionsComponent } from '@ifaa-components/ui-components';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { InvestmentEditComponent } from 'src/app/modules/shared/components/investment-edit/investment-edit.component';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { TextTransformPipe } from 'src/app/modules/shared/pipes/textTransform';\r\n\r\n@Component({\r\n selector: 'app-investment-view',\r\n templateUrl: './investment-view.component.html',\r\n styleUrls: ['./investment-view.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n AppComponentWrapperComponent,\r\n AppToolbarOptionsComponent,\r\n TextTransformPipe,\r\n InvestmentEditComponent,\r\n AnimateCssDirective,\r\n ],\r\n})\r\nexport class InvestmentEditViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n constructor(public store: Store) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
{{'Investments' | textTransform}}
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { featureKey } from '../../store/shared.reducers';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { IAccessYourSuperStartComponentState } from './state';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const getAccessYourSuperStartState = createSelector(memberPortalState, (state) => state.accessYourSuperStartComponentState);\r\n\r\nexport const accessYourSuperStart_Model = createSelector(\r\n getAccessYourSuperStartState,\r\n (state: IAccessYourSuperStartComponentState) => state.model\r\n);\r\n \r\nexport const accessYourSuperStart_Filter = createSelector(\r\n getAccessYourSuperStartState,\r\n (state: IAccessYourSuperStartComponentState) => state.filter\r\n);\r\n\r\nexport const accessYourSuperStart_GetSelectedAccount = createSelector(\r\n getAccessYourSuperStartState,\r\n (state: IAccessYourSuperStartComponentState) => state.applicationAccountId\r\n)\r\n\r\nexport const accessYourSuperStart_ApplicationToCancelled = createSelector(\r\n getAccessYourSuperStartState,\r\n (state: IAccessYourSuperStartComponentState) => state.applicationToCancelled\r\n)\r\n\r\nexport const accessYourSuperStart_ApplicationData = createSelector(\r\n getAccessYourSuperStartState,\r\n (state: IAccessYourSuperStartComponentState) => state.applicationData\r\n)\r\n\r\nexport const accessYourSuperStart_UpdatingSubmittedDocuments = createSelector(\r\n getAccessYourSuperStartState,\r\n (state: IAccessYourSuperStartComponentState) => state.updatingSubmittedDocuments\r\n)","import { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { featureKey } from '../../store/shared.reducers';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { IAccessYourSuperFormComponentState } from './state';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const getAccessYourSuperFormState = createSelector(memberPortalState, (state) => state.accessYourSuperFormComponentState);\r\n\r\nexport const accessYourSuperForm_CurrentStep = createSelector(\r\n getAccessYourSuperFormState,\r\n (state: IAccessYourSuperFormComponentState) => state.currentStep\r\n);\r\n\r\nexport const accessYourSuperForm_ApplicationId = createSelector(\r\n getAccessYourSuperFormState,\r\n (state: IAccessYourSuperFormComponentState) => state.applicationId\r\n);\r\n\r\nexport const accessYourSuperForm_ApplicationModel = createSelector(\r\n getAccessYourSuperFormState,\r\n (state: IAccessYourSuperFormComponentState) => state.applicationData\r\n);\r\n\r\nexport const accessYourSuperForm_CurrentStepUpdated = createSelector(\r\n getAccessYourSuperFormState,\r\n (state: IAccessYourSuperFormComponentState) => state.currentStepUpdated\r\n);\r\n\r\nexport const accessYourSuperForm_ApplicationTypes = createSelector(\r\n getAccessYourSuperFormState,\r\n (state: IAccessYourSuperFormComponentState) => state.applicationTypes\r\n);","import { Component, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport {\r\n accessYourSuperStart_Filter,\r\n accessYourSuperStart_Model,\r\n accessYourSuperStart_ApplicationData,\r\n accessYourSuperStart_ApplicationToCancelled,\r\n accessYourSuperStart_UpdatingSubmittedDocuments,\r\n} from './selectors';\r\nimport { memberAccountDropdown_SelectedAccount } from '../member-account-dropdown/selectors';\r\nimport {\r\n CancelApplicationAction,\r\n MoveApplicationToCancelledAction,\r\n RequestAction,\r\n RequestContinueApplicationAction,\r\n ResetComponentStateAction,\r\n} from './actions';\r\nimport { AccessYourSuperApplicationsModel } from 'src/app/model/access-your-super-applications.model';\r\nimport { combineLatest } from 'rxjs';\r\nimport { distinct } from 'rxjs/operators';\r\nimport { map } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n AppButtonComponent,\r\n AppButtonToggleComponent,\r\n Helper,\r\n} from '@ifaa-components/ui-components';\r\nimport {\r\n SaveApplicationDataAction,\r\n SetCurrentStepAction,\r\n} from '../access-your-super-form/actions';\r\nimport { SaveApplicationDataForUpdateSubmittedAction } from '../access-your-super-update-submitted/actions';\r\nimport { accessYourSuperForm_CurrentStep } from '../access-your-super-form/selector';\r\nimport { commonState_IsSending } from 'src/app/store/common/common.selectors';\r\nimport { AsyncPipe, NgIf, DatePipe, NgFor } from '@angular/common';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { AppRadioDirective } from '../../directives/app-radio.directive';\r\n\r\n@Component({\r\n selector: 'app-access-your-super-start',\r\n templateUrl: './access-your-super-start.component.html',\r\n styleUrls: ['./access-your-super-start.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n AsyncPipe,\r\n NgIf,\r\n AppButtonToggleComponent,\r\n TranslatePipe,\r\n AppButtonComponent,\r\n DatePipe,\r\n NgFor,\r\n AppRadioDirective,\r\n ],\r\n})\r\nexport class AccessYourSuperStartComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n model$ = this.store.pipe(select(accessYourSuperStart_Model));\r\n filter$ = this.store.pipe(select(accessYourSuperStart_Filter));\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n applicationToCancelled$ = this.store.pipe(\r\n select(accessYourSuperStart_ApplicationToCancelled)\r\n );\r\n applicationData$ = this.store.pipe(\r\n select(accessYourSuperStart_ApplicationData)\r\n );\r\n currentStep$ = this.store.pipe(select(accessYourSuperForm_CurrentStep));\r\n updatingSubmittedDocuments$ = this.store.pipe(\r\n select(accessYourSuperStart_UpdatingSubmittedDocuments)\r\n );\r\n\r\n isSubmitting$ = this.store.pipe(select(commonState_IsSending));\r\n\r\n applicationId: number = 0;\r\n currentList: AccessYourSuperApplicationsModel[] = [];\r\n cancelDialogText: string =\r\n 'Please confirm that you would like to cancel this request. This action cannot be reversed. Once cancelled, you will need to start a new application if you wish to send a benefit payment request.';\r\n\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n // sends dispatch request to update the UI so application is moved to cancelled filter\r\n this.sub = this.applicationToCancelled$.subscribe((x) => {\r\n if (x) {\r\n this.dispatch(\r\n this.store,\r\n MoveApplicationToCancelledAction({\r\n applicationId: this.applicationId,\r\n })\r\n );\r\n }\r\n });\r\n\r\n // send api request when we have the selected account\r\n this.sub = this.selectedAccount$\r\n .pipe(\r\n distinct((x) => {\r\n if (x) {\r\n return x.accountId;\r\n }\r\n })\r\n )\r\n .subscribe((x) => {\r\n var accountId = x?.accountId;\r\n\r\n if (accountId) {\r\n // send api request to get applications for account\r\n this.dispatch(this.store, RequestAction({ accountId: accountId }));\r\n }\r\n });\r\n\r\n this.sub = combineLatest([this.filter$, this.model$])\r\n .pipe(map(([filter, model]) => ({ filter, model })))\r\n .subscribe((x) => {\r\n if (x.model && x.filter) {\r\n this.currentList = x.model[x.filter.value.activeOptionButton];\r\n }\r\n });\r\n\r\n this.sub = combineLatest([\r\n this.applicationData$,\r\n this.currentStep$,\r\n this.updatingSubmittedDocuments$,\r\n ])\r\n .pipe(\r\n map(([applicationData, currentStep, updatingSubmittedDocuments]) => ({\r\n applicationData,\r\n currentStep,\r\n updatingSubmittedDocuments,\r\n }))\r\n )\r\n .subscribe((x) => {\r\n if (!x.updatingSubmittedDocuments) {\r\n // Save the current step and application data so it is ready for the access-your-super-form component\r\n if (x.applicationData && x.currentStep === null) {\r\n this.dispatch(\r\n this.store,\r\n SetCurrentStepAction({\r\n nextStep: x.applicationData.conditionData.currentStep,\r\n })\r\n );\r\n this.dispatch(\r\n this.store,\r\n SaveApplicationDataAction({\r\n applicationId: x.applicationData.conditionData.applicationId,\r\n model: x.applicationData,\r\n })\r\n );\r\n }\r\n // When current step is set, navigate to create-application\r\n if (x.applicationData && x.currentStep !== null) {\r\n this.router.navigate(['/access-your-super/create-application']);\r\n }\r\n } else {\r\n // save the application data into the review component state and go to page\r\n this.dispatch(\r\n this.store,\r\n SaveApplicationDataForUpdateSubmittedAction({\r\n applicationId: x.applicationData.conditionData.applicationId,\r\n model: x.applicationData,\r\n })\r\n );\r\n this.router.navigate(['/access-your-super/review']);\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n this.dispatch(this.store, ResetComponentStateAction());\r\n }\r\n\r\n createNewApplication() {\r\n this.dispatch(this.store, SetCurrentStepAction({ nextStep: 0 }));\r\n this.router.navigate(['/access-your-super/create-application']);\r\n }\r\n\r\n async continueApplication(applicationId: number, draftApplication: boolean) {\r\n this.applicationId = applicationId;\r\n var helper = new Helper();\r\n var account = await helper.getValue(this.selectedAccount$);\r\n this.dispatch(\r\n this.store,\r\n RequestContinueApplicationAction({\r\n accountId: account.accountId,\r\n applicationId: applicationId,\r\n draftApplication: draftApplication,\r\n })\r\n );\r\n }\r\n\r\n async cancelApplication(event: any, applicationId: number) {\r\n this.applicationId = applicationId;\r\n if (event === 'ok') {\r\n var helper = new Helper();\r\n var account = await helper.getValue(this.selectedAccount$);\r\n this.dispatch(\r\n this.store,\r\n CancelApplicationAction({\r\n accountId: account.accountId,\r\n applicationId: applicationId,\r\n })\r\n );\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n

\r\n Your applications in draft will be automatically cancelled after 30 days\r\n from when they were created.\r\n

\r\n

\r\n You can add additional documentation to your submitted applications which\r\n have not been completed.\r\n

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Created on\r\n \r\n \r\n Submitted on\r\n \r\n \r\n Case status\r\n \r\n 768\r\n \"\r\n width=\"30%\"\r\n scope=\"col\"\r\n >\r\n Actions\r\n \r\n \r\n Cancelled on\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 768\r\n \"\r\n >\r\n
\r\n \r\n \r\n
\r\n \r\n 768\r\n \"\r\n >\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Condition of release
{{ item.applicationType }}\r\n {{ item.startedDate | date : \"dd MMM yyyy\" }}\r\n \r\n {{ item.lastModified | date : \"dd MMM yyyy\" }}\r\n \r\n {{ item.caseStatus }}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { ComponentBase } from '../../views/component-base';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { AppToolbarOptionsComponent } from '@ifaa-components/ui-components';\r\nimport { AccessYourSuperStartComponent } from 'src/app/modules/shared/components/access-your-super-start/access-your-super-start.component';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { TextTransformPipe } from 'src/app/modules/shared/pipes/textTransform';\r\n\r\n@Component({\r\n selector: 'app-access-your-super-view',\r\n templateUrl: './access-your-super-view.component.html',\r\n styleUrls: ['./access-your-super-view.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n AppComponentWrapperComponent,\r\n AppToolbarOptionsComponent,\r\n TextTransformPipe,\r\n AccessYourSuperStartComponent,\r\n AnimateCssDirective,\r\n ],\r\n})\r\nexport class AccessYourSuperViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n constructor(public store: Store) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
{{'Access Your Super' | textTransform}}
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { MatStep, MatStepper } from '@angular/material/stepper';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { NgFor } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-access-your-super-stepper',\r\n templateUrl: 'access-your-super-progress-stepper.component.html',\r\n styleUrls: ['access-your-super-progress-stepper.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [MatStepper, NgFor, MatStep],\r\n})\r\nexport class AccessYourSuperStepper\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n @Input() set stepTitles(value: any[]) {\r\n this.titles = value;\r\n }\r\n @Input() onSelectionChangeFn: (titles: any[], event: any) => void;\r\n\r\n @ViewChild('stepper') private stepper: MatStepper;\r\n\r\n titles: any[];\r\n nextValidStep: number = 0;\r\n\r\n constructor(public store: Store, private cdRef: ChangeDetectorRef) {\r\n super();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n super.ngOnDestroyBase();\r\n }\r\n ngOnInit(): void {\r\n super.ngOnInitBase();\r\n }\r\n\r\n resetCompletion(index: number) {\r\n var step = this.stepper.steps.find((x, stepindex) => index === stepindex);\r\n step.completed = false;\r\n }\r\n\r\n setSelectedIndex(index: number) {\r\n if (this.titles.length > 0) {\r\n this.titles.forEach((x, i) => {\r\n var step = this.stepper.steps.find((x, stepindex) => i === stepindex);\r\n if (i < index) {\r\n step.completed = true;\r\n }\r\n });\r\n this.stepper.selectedIndex = index;\r\n }\r\n\r\n if (this.nextValidStep < index) {\r\n this.nextValidStep = index;\r\n this.cdRef.detectChanges();\r\n }\r\n }\r\n}\r\n","\r\n \r\n \r\n","export class AccessYourSuperHelper{\r\n getCustomSectionTitle = (applicationTypeId: number) : string => {\r\n switch (applicationTypeId) {\r\n case 1: {\r\n return \"Retirement benefit payment\";\r\n }\r\n case 2: {\r\n return \"Ceased work after 60\";\r\n }\r\n case 3: {\r\n return \"Permanent retirement after preservation age\";\r\n }\r\n case 4: {\r\n return \"Benefit payment of the RNP component\";\r\n }\r\n case 5: {\r\n return \"Pension Commutations\";\r\n }\r\n case 8: {\r\n return \"Terminal medical condition benefit payment\";\r\n }\r\n case 10: {\r\n return \"Severe financial hardship\";\r\n }\r\n case 11: {\r\n return \"Compassionate grounds\"\r\n }\r\n case 13: {\r\n return \"URNP Component\"\r\n }\r\n case 17: {\r\n return \"Transfer to KiwiSaver\"\r\n }\r\n }\r\n }\r\n}","import { createFeatureSelector, createSelector } from \"@ngrx/store\";\r\nimport { featureKey } from \"../../store/shared.reducers\";\r\nimport { MemberPortalSharedState } from \"../../store/shared.states\";\r\nimport { IAccessYourSuperBankDetailsComponentState } from \"./state\";\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const getAccessYourSuperBankDetailState = createSelector(memberPortalState, (state) => state.accessYourSuperBankDetailComponentState);\r\n\r\nexport const accessYourSuperBankDetails_Form = createSelector(\r\n getAccessYourSuperBankDetailState,\r\n (state: IAccessYourSuperBankDetailsComponentState) => state.form\r\n)\r\n\r\nexport const accessYourSuperBankDetails_BankDetailsSaved = createSelector(\r\n getAccessYourSuperBankDetailState,\r\n (state:IAccessYourSuperBankDetailsComponentState) => state.bankDetailsSaved\r\n)","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n AppButtonComponent,\r\n AppReadonlyComponent,\r\n EntryFieldComponent,\r\n Helper,\r\n} from '@ifaa-components/ui-components';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { debounceTime, distinctUntilChanged, pairwise } from 'rxjs/operators';\r\nimport { AccessYourSuperBankDetailsSubmissionModel } from 'src/app/model/access-your-super-form.models';\r\nimport { BankDetailsModel } from 'src/app/model/bank-details.model';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { SetCurrentStepAction } from '../access-your-super-form/actions';\r\nimport {\r\n ResetComponentStateAction,\r\n SaveBankDetailsAction,\r\n SearchBankNameAction,\r\n SetFieldValuesAction,\r\n} from './actions';\r\nimport {\r\n accessYourSuperBankDetails_BankDetailsSaved,\r\n accessYourSuperBankDetails_Form,\r\n} from './selectors';\r\nimport { NgIf, AsyncPipe, NgClass } from '@angular/common';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MatTooltip } from '@angular/material/tooltip';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { NgrxFormsModule } from 'ngrx-forms';\r\nimport { AppButtonDirective } from '../../directives/appbutton.directive';\r\nimport { InputScrollDirective } from '../../directives/input-scroll.directive';\r\n\r\n@Component({\r\n selector: 'app-access-your-super-bank-details',\r\n templateUrl: './access-your-super-bank-details.component.html',\r\n styleUrls: ['./access-your-super-bank-details.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n NgrxFormsModule,\r\n AppReadonlyComponent,\r\n MatIcon,\r\n MatTooltip,\r\n EntryFieldComponent,\r\n InputScrollDirective,\r\n NgClass,\r\n AppButtonComponent,\r\n TranslatePipe,\r\n AppButtonDirective,\r\n ],\r\n})\r\nexport class AccessYourSuperBankDetailsComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n @Output() onBankDetailsSaved: EventEmitter = new EventEmitter();\r\n @Input() set wording(value: { [key: string]: string }) {\r\n this.nameFieldTooltip = value?.bankDetailsNameTooltip;\r\n }\r\n @Input() set data(value: BankDetailsModel) {\r\n this.model = value;\r\n }\r\n @Input() set nextStep(value: number) {\r\n this.step = value;\r\n }\r\n @Input() set backStep(value: number) {\r\n this.previousStep = value;\r\n }\r\n @Input() set applicationId(value: number) {\r\n this.id = value;\r\n }\r\n @Input() set account(value: number) {\r\n this.accountId = value;\r\n }\r\n @Input() set submitting(value: boolean) {\r\n this.isSubmitting = value;\r\n }\r\n\r\n form$ = this.store.pipe(select(accessYourSuperBankDetails_Form));\r\n bankDetailsSaved$ = this.store.pipe(\r\n select(accessYourSuperBankDetails_BankDetailsSaved)\r\n );\r\n\r\n model: BankDetailsModel = null;\r\n step: number = null;\r\n previousStep: number = null;\r\n id: number = null;\r\n accountId: number = null;\r\n payload: AccessYourSuperBankDetailsSubmissionModel = null;\r\n nameFieldTooltip: string = null;\r\n isSubmitting: boolean = false;\r\n\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n async ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n var helper = new Helper();\r\n var formData = await helper.getValue(this.form$);\r\n\r\n if (this.model && formData) {\r\n this.dispatch(\r\n this.store,\r\n SetFieldValuesAction({\r\n bankName: this.model.bankName,\r\n accountName: this.model.accountName,\r\n accountNumber: this.model.accountNumber,\r\n bsb: this.model.bsb,\r\n })\r\n );\r\n }\r\n\r\n this.sub = this.form$\r\n .pipe(\r\n pairwise(),\r\n distinctUntilChanged((x, y) => {\r\n if (x[1].value.bankAccountBsb !== y[1].value.bankAccountBsb)\r\n return false;\r\n\r\n return true;\r\n }),\r\n debounceTime(500)\r\n )\r\n .subscribe((form) => {\r\n if (\r\n form[0].value.bankAccountBsb !== form[1].value.bankAccountBsb &&\r\n form[1].value.bankAccountBsb?.length > 0\r\n ) {\r\n this.dispatch(\r\n this.store,\r\n SearchBankNameAction({ bsb: form[1].value.bankAccountBsb })\r\n );\r\n }\r\n });\r\n\r\n this.sub = this.bankDetailsSaved$.subscribe((x) => {\r\n if (x) {\r\n this.onBankDetailsSaved.emit(this.payload);\r\n this.dispatch(\r\n this.store,\r\n SetCurrentStepAction({ nextStep: this.step })\r\n );\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n this.dispatch(this.store, ResetComponentStateAction());\r\n }\r\n\r\n goBack() {\r\n this.dispatch(\r\n this.store,\r\n SetCurrentStepAction({ nextStep: this.previousStep })\r\n );\r\n }\r\n\r\n exitForm() {\r\n this.router.navigate(['/access-your-super']);\r\n }\r\n\r\n async goNextStep() {\r\n var helper = new Helper();\r\n var form = await helper.getValue(this.form$);\r\n\r\n this.payload = {\r\n accountName: form.value.bankAccountName,\r\n bsb: form.value.bankAccountBsb,\r\n accountNumber: `${form.value.bankAccountNumber}`,\r\n bankName: form.value.financialInstitutionName,\r\n currentStep: this.step,\r\n };\r\n\r\n this.dispatch(\r\n this.store,\r\n SaveBankDetailsAction({\r\n accountId: this.accountId,\r\n applicationId: this.id,\r\n payload: this.payload,\r\n })\r\n );\r\n }\r\n}\r\n","
\r\n

Payment instructions

\r\n
\r\n
\r\n
0\">\r\n \r\n
\r\n
\r\n
Names(s) on account:\r\n help_outline\r\n
\r\n \r\n
\r\n
\r\n
\r\n
BSB:
\r\n \r\n
\r\n
\r\n
Account Number:
\r\n \r\n
\r\n
\r\n
\r\n\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex flex-wrap mt-4\">\r\n
\r\n \r\n
\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex\">\r\n 767, 'mt-1': screenWidth<768}\"\r\n class=\"flex-fill {{'BTN.access-your-super.back.class' | translate}}\" title=\"Back\"\r\n icon=\"{{'BTN.access-your-super.back.icon' | translate}}\" [isDisabled]=\"isSubmitting\"\r\n color=\"{{'BTN.access-your-super.back.color' | translate}}\" (onClick)=\"goBack()\">\r\n 767, 'mt-1': screenWidth<768}\" class=\"flex-fill\"\r\n title=\"Next\" icon=\"{{'BTN.access-your-super.continue.icon' | translate}}\"\r\n color=\"{{'BTN.access-your-super.continue.color' | translate}}\"\r\n [isDisabled]=\"form.isInvalid || isSubmitting\" loading (onClick)=\"goNextStep()\">\r\n
\r\n
\r\n
\r\n
","export enum AccessYourSuperPaymentTypeEnum {\r\n FullAmountCloseAccount = 1,\r\n FullAmountKeepAccountOpen = 2,\r\n PartialAmount = 3,\r\n FullAmountRestrictedNonPreserved = 4,\r\n FullPensionLumpSumBenefitCloseAccount = 5,\r\n FullGrossAmountTenThousand = 6,\r\n FullAmountEntireUnrp = 7,\r\n FullAmountEntireUnrpKeepAccountOpen = 8\r\n}","import { createFeatureSelector, createSelector } from \"@ngrx/store\";\r\nimport { featureKey } from \"../../../store/shared.reducers\";\r\nimport { MemberPortalSharedState } from \"../../../store/shared.states\";\r\nimport { IAccessYourSuperCeasedPaidEmploymentComponentState } from \"./state\";\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const getAccessYourSuperCeasedPaidEmploymentState = createSelector(memberPortalState, (state) => state.accessYourSuperCeasedPaidEmploymentComponentState);\r\n\r\nexport const accessYourSuperCeasedPaidEmployment_Model = createSelector(\r\n getAccessYourSuperCeasedPaidEmploymentState,\r\n (state: IAccessYourSuperCeasedPaidEmploymentComponentState) => state.model\r\n);\r\n\r\nexport const accessYourSuperCeasedPaidEmployment_Form = createSelector(\r\n getAccessYourSuperCeasedPaidEmploymentState,\r\n (state: IAccessYourSuperCeasedPaidEmploymentComponentState) => state.form\r\n)\r\n\r\nexport const accessYourSuperCeasedPaidEmployment_TaxOptions = createSelector(\r\n getAccessYourSuperCeasedPaidEmploymentState,\r\n (state: IAccessYourSuperCeasedPaidEmploymentComponentState) => state.taxOptions\r\n)\r\n\r\nexport const accessYourSuperCeasedPaidEmployment_CurrentTotalPercent = createSelector(\r\n getAccessYourSuperCeasedPaidEmploymentState,\r\n (state: IAccessYourSuperCeasedPaidEmploymentComponentState) => state.form.value.investmentOptionDrawdown.reduce((a, b) => a + b.percentage, 0)\r\n);\r\n\r\nexport const accessYourSuperCeasedPaidEmployment_SavedFormData = createSelector(\r\n getAccessYourSuperCeasedPaidEmploymentState,\r\n (state: IAccessYourSuperCeasedPaidEmploymentComponentState) => state.savedFormData\r\n)","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from 'src/app/store/app.states';\r\n\r\n@Pipe({\r\n name: 'convertNan',\r\n})\r\nexport class ConvertNanPipe implements PipeTransform {\r\n constructor(\r\n public store: Store,\r\n protected _sanitizer: DomSanitizer\r\n ) {}\r\n\r\n // Displays 0 instead of values disappearing from UI due to NaN\r\n transform(value: number): number {\r\n if (Number.isNaN(value)) return 0;\r\n\r\n return value;\r\n }\r\n}\r\n","import { NgFor, CurrencyPipe, NgClass, NgIf } from '@angular/common';\r\nimport { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { NumberEntryFieldComponent } from '@ifaa-components/ui-components';\r\nimport { Store } from '@ngrx/store';\r\nimport { FormGroupState } from 'ngrx-forms';\r\nimport { AccessYourSuperDrawdownModel } from 'src/app/model/access-your-super-custom-sections.model';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { InputScrollDirective } from '../../../directives/input-scroll.directive';\r\nimport { ConvertNanPipe } from '../../../pipes/convertNan';\r\n\r\n@Component({\r\n selector: 'app-access-your-super-drawdown',\r\n templateUrl: './access-your-super-drawdown.component.html',\r\n styleUrls: ['./access-your-super-drawdown.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n NgFor,\r\n CurrencyPipe,\r\n NgClass,\r\n ConvertNanPipe,\r\n NumberEntryFieldComponent,\r\n InputScrollDirective,\r\n NgIf,\r\n ],\r\n})\r\nexport class AccessYourSuperDrawdownComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n @Input() set form(value: FormGroupState) {\r\n this.formControl = value;\r\n }\r\n @Input() set totalCount(value: number) {\r\n this.total = value;\r\n }\r\n @Input() set disclaimer(value: string) {\r\n this.drawdownDisclaimer = value;\r\n }\r\n\r\n formControl: FormGroupState = null;\r\n total: number = null;\r\n drawdownDisclaimer: string = null;\r\n\r\n constructor(public store: Store) {\r\n super();\r\n }\r\n ngOnDestroy(): void {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n async ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n trackByFn(index, item) {\r\n return index;\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
OptionCurrent ($)Calculated amount 767\">Drawdown (% of Benefit amount)
{{item.value.option}}{{item.value.amount | currency}} item.value.amount }\">\r\n {{formControl.value.partialAmountSpecified * (item.value.percentage/100) | convertNan |\r\n currency}} 767\">\r\n \r\n \r\n
\r\n Drawdown (% of Benefit amount)\r\n \r\n \r\n \r\n
\r\n
\r\n {{drawdownDisclaimer}}\r\n
\r\n
\r\n
\r\n
0\"\r\n class=\"mb-0 access-your-super-drawdown alert \"\r\n [ngClass]=\"{'alert-success': total === 100, 'alert-danger': total !== 100}\">\r\n Total: {{total | convertNan }}% of 100%\r\n
\r\n
\r\n
\r\n
","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n AppButtonComponent,\r\n EntryFieldDropdownComponent,\r\n EntryFieldRadioComponent,\r\n Helper,\r\n KeyValueModel,\r\n NumberEntryFieldComponent,\r\n} from '@ifaa-components/ui-components';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { NgrxFormsModule, SetErrorsAction, SetValueAction } from 'ngrx-forms';\r\nimport { distinct, distinctUntilChanged, pairwise } from 'rxjs/operators';\r\nimport { AccessYourSuperPaymentTypeEnum } from 'src/app/enums/access-your-super-payment-type.enum';\r\nimport { AccessYourSuperPaymentDetailSubmissionModel } from 'src/app/model/access-your-super-custom-sections.model';\r\nimport { AvailableAccountBalanceModel } from 'src/app/model/available-account-balance.model';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { SetCurrentStepAction } from '../../access-your-super-form/actions';\r\nimport { RequestAction } from '../access-your-super-ceased-paid-employment/actions';\r\nimport {\r\n ResetComponentStateAction,\r\n SaveFormDataAction,\r\n SetTaxOptionsAction,\r\n} from './actions';\r\nimport {\r\n accessYourSuperCeasedPaidEmployment_CurrentTotalPercent,\r\n accessYourSuperCeasedPaidEmployment_Form,\r\n accessYourSuperCeasedPaidEmployment_Model,\r\n accessYourSuperCeasedPaidEmployment_SavedFormData,\r\n accessYourSuperCeasedPaidEmployment_TaxOptions,\r\n} from './selectors';\r\nimport { InvestmentItemModel } from 'src/app/model/investment-item.model';\r\nimport { commonState_SystemConfig_AccountFeatureToggles } from 'src/app/store/common/common.selectors';\r\nimport { FeatureToggleName } from 'src/app/model/feature-toggle-name.model';\r\nimport { FeatureToggleHelper } from 'src/app/helper/featureToggleHelper';\r\nimport { memberAccountDropdown_SelectedAccount } from '../../member-account-dropdown/selectors';\r\nimport { combineLatest } from 'rxjs';\r\nimport { NgIf, AsyncPipe, NgClass } from '@angular/common';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MatTooltip } from '@angular/material/tooltip';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { AnimateCssDirective } from '../../../directives/animatecss.directive';\r\nimport { AppRadioDirective } from '../../../directives/app-radio.directive';\r\nimport { AppButtonDirective } from '../../../directives/appbutton.directive';\r\nimport { InputScrollDirective } from '../../../directives/input-scroll.directive';\r\nimport { AccessYourSuperDrawdownComponent } from '../access-your-super-drawdown/access-your-super-drawdown.component';\r\n\r\n@Component({\r\n selector: 'app-access-your-super-ceased-paid-employment',\r\n templateUrl: './access-your-super-ceased-paid-employment.component.html',\r\n styleUrls: ['./access-your-super-ceased-paid-employment.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n NgrxFormsModule,\r\n EntryFieldRadioComponent,\r\n AppRadioDirective,\r\n AccessYourSuperDrawdownComponent,\r\n InputScrollDirective,\r\n MatIcon,\r\n MatTooltip,\r\n NumberEntryFieldComponent,\r\n AnimateCssDirective,\r\n EntryFieldDropdownComponent,\r\n AccessYourSuperDrawdownComponent,\r\n NgClass,\r\n AppButtonComponent,\r\n TranslatePipe,\r\n AppButtonDirective,\r\n ],\r\n})\r\nexport class AccessYourSuperCeasedPaidEmploymentComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n @Input() set nextStep(value: number) {\r\n this.step = value;\r\n }\r\n @Input() set applicationId(value: number) {\r\n this.id = value;\r\n }\r\n @Input() set backStep(value: number) {\r\n this.previousStep = value;\r\n }\r\n @Input() set account(value: number) {\r\n this.accountId = value;\r\n }\r\n @Input() set data(value: AvailableAccountBalanceModel) {\r\n this.accountBalance = value;\r\n }\r\n @Input() set typeId(value: number) {\r\n this.applicationTypeId = value;\r\n }\r\n @Input() set canGoBack(value: boolean) {\r\n this.showBackButton = value;\r\n }\r\n @Input() set submitting(value: boolean) {\r\n this.isSubmitting = value;\r\n }\r\n\r\n model$ = this.store.pipe(select(accessYourSuperCeasedPaidEmployment_Model));\r\n form$ = this.store.pipe(select(accessYourSuperCeasedPaidEmployment_Form));\r\n taxOptions$ = this.store.pipe(\r\n select(accessYourSuperCeasedPaidEmployment_TaxOptions)\r\n );\r\n savedFormData$ = this.store.pipe(\r\n select(accessYourSuperCeasedPaidEmployment_SavedFormData)\r\n );\r\n currentTotalPercent$ = this.store.pipe(\r\n select(accessYourSuperCeasedPaidEmployment_CurrentTotalPercent)\r\n );\r\n featureToggles$ = this.store.pipe(\r\n select(commonState_SystemConfig_AccountFeatureToggles)\r\n );\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n\r\n step: number = null;\r\n previousStep: number = null;\r\n id: number = null;\r\n applicationTypeId: number = null;\r\n paymentDetailId: number = null;\r\n accountId: number = null;\r\n accountBalance: AvailableAccountBalanceModel = null;\r\n showBenefitAmountTooltip: boolean = false;\r\n featureToggleHelper: FeatureToggleHelper = new FeatureToggleHelper();\r\n isSubmitting: boolean = false;\r\n showBackButton: boolean = false;\r\n\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n async ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.sub = combineLatest([\r\n this.selectedAccount$,\r\n this.featureToggles$,\r\n ]).subscribe((x) => {\r\n if (x[0] && x[1]) {\r\n this.showBenefitAmountTooltip = this.featureToggleHelper.checkToggle(\r\n FeatureToggleName.member.account.accessYourSuper.benefitAmountTooltip\r\n .view,\r\n x[1],\r\n x[0],\r\n true\r\n );\r\n }\r\n });\r\n\r\n this.sub = this.model$.pipe(distinct()).subscribe(async (x) => {\r\n if (!x) {\r\n this.dispatch(\r\n this.store,\r\n RequestAction({\r\n accountId: this.accountId,\r\n applicationId: this.id,\r\n applicationTypeId: this.applicationTypeId,\r\n })\r\n );\r\n }\r\n\r\n if (x) {\r\n var helper = new Helper();\r\n var form = await helper.getValue(this.form$);\r\n\r\n var taxOptions = [] as KeyValueModel[];\r\n taxOptions.push({ key: true, value: x.formLabels.beforeTax });\r\n taxOptions.push({ key: false, value: x.formLabels.afterTax });\r\n this.dispatch(this.store, SetTaxOptionsAction({ payload: taxOptions }));\r\n\r\n var investmentOptions = Object.assign([], x.currentInvestmentMix);\r\n\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.restrictedNonPreservedAmount.id,\r\n this.accountBalance.restrictedNonPreserved\r\n )\r\n );\r\n\r\n // update form values if we are updating an existing application\r\n if (x.submissionData) {\r\n this.paymentDetailId =\r\n x.submissionData.accessYourSuperPaymentDetailId;\r\n\r\n if (\r\n x.submissionData.paymentTypeId !==\r\n AccessYourSuperPaymentTypeEnum.PartialAmount\r\n ) {\r\n this.store.dispatch(\r\n new SetValueAction(form.controls.paymentType.id, 0)\r\n );\r\n } else {\r\n this.store.dispatch(\r\n new SetValueAction(form.controls.paymentType.id, 1)\r\n );\r\n }\r\n\r\n x.submissionData.isBeforeTax === true ||\r\n x.submissionData.isBeforeTax === false\r\n ? this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.isBeforeTax.id,\r\n x.submissionData.isBeforeTax\r\n )\r\n )\r\n : null;\r\n\r\n x.submissionData.benefitAmount\r\n ? this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.partialAmountSpecified.id,\r\n x.submissionData.benefitAmount\r\n )\r\n )\r\n : null;\r\n\r\n x.submissionData.partialWithdrawalInvestmentSelection === true ||\r\n x.submissionData.partialWithdrawalInvestmentSelection === false\r\n ? this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.partialWithdrawalSelection.id,\r\n x.submissionData.partialWithdrawalInvestmentSelection\r\n )\r\n )\r\n : null;\r\n\r\n // update the investmentOptions in form state if the member saved a custom drawdown\r\n if (x.submissionData.partialWithdrawalInvestmentSelection) {\r\n // if we have any specified investment options saved that are not in the current investment mix, we need to discard all of those that were saved\r\n var drawdownMatchesCurrentInvestmentMix = true;\r\n\r\n x.submissionData.investmentDrawdown.forEach((drawDown) => {\r\n var investmentOptionIndex = investmentOptions?.findIndex(\r\n (o) => o.optionId === drawDown.optionId\r\n );\r\n\r\n // if we dont get an investmentOption, set the flag to false. Otherwise update the investmentOptions array with the saved percentage\r\n if (investmentOptionIndex === -1)\r\n drawdownMatchesCurrentInvestmentMix = false;\r\n else {\r\n investmentOptions[investmentOptionIndex] = {\r\n ...investmentOptions[investmentOptionIndex],\r\n percentage: drawDown.percentage,\r\n };\r\n }\r\n });\r\n\r\n // if our current investment mix matches the saved options, update the form value with the updated investmentOptions array\r\n // if it doesnt match, update the form value with the members current investment mix so they will have to reselect an investment drawdown\r\n if (drawdownMatchesCurrentInvestmentMix) {\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.investmentOptionDrawdown.id,\r\n investmentOptions\r\n )\r\n );\r\n } else {\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.investmentOptionDrawdown.id,\r\n x.currentInvestmentMix\r\n )\r\n );\r\n }\r\n }\r\n // if they didn't specify a custom drawdown, set the options with their investment mix\r\n else {\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.investmentOptionDrawdown.id,\r\n investmentOptions\r\n )\r\n );\r\n }\r\n } else {\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.investmentOptionDrawdown.id,\r\n investmentOptions\r\n )\r\n );\r\n }\r\n }\r\n });\r\n\r\n this.sub = this.form$\r\n .pipe(\r\n pairwise(),\r\n distinctUntilChanged((x, y) => {\r\n // check if text box value is NaN to avoid infinite loop..\r\n if (Number.isNaN(y[1].value.partialAmountSpecified)) return true;\r\n\r\n if (\r\n x[1].value.paymentType !== y[1].value.paymentType ||\r\n x[1].value.investmentOptionDrawdown !==\r\n y[1].value.investmentOptionDrawdown ||\r\n x[1].value.partialAmountSpecified !==\r\n y[1].value.partialAmountSpecified ||\r\n x[1].value.partialWithdrawalSelection !==\r\n y[1].value.partialWithdrawalSelection\r\n )\r\n return false;\r\n\r\n return true;\r\n })\r\n )\r\n .subscribe((form) => {\r\n if (form) {\r\n // If user has swapped from partial amount back to full amount, reset all form validations\r\n if (\r\n form[0].value.paymentType === 1 &&\r\n form[1].value.paymentType === 0\r\n ) {\r\n this.store.dispatch(\r\n new SetErrorsAction(\r\n form[1].controls.partialAmountSpecified.id,\r\n {}\r\n )\r\n );\r\n this.store.dispatch(\r\n new SetErrorsAction(form[1].controls.isBeforeTax.id, {})\r\n );\r\n }\r\n\r\n // Reset validation if user swaps from custom selection to auto selection of investment dropdown\r\n if (\r\n form[0].value.partialWithdrawalSelection !==\r\n form[1].value.partialWithdrawalSelection\r\n ) {\r\n this.store.dispatch(\r\n new SetErrorsAction(\r\n form[1].controls.investmentOptionDrawdown.id,\r\n {}\r\n )\r\n );\r\n }\r\n\r\n if (\r\n form[1].value.paymentType === 1 &&\r\n form[1].value.partialWithdrawalSelection\r\n ) {\r\n var drawdownTotal = 0;\r\n var calculatedAmountHigherThanBalance = false;\r\n\r\n form[1].value.investmentOptionDrawdown.forEach(\r\n (investmentOption, index) => {\r\n drawdownTotal += investmentOption.percentage;\r\n if (!calculatedAmountHigherThanBalance) {\r\n calculatedAmountHigherThanBalance =\r\n investmentOption.amount <\r\n form[1].value.partialAmountSpecified *\r\n (investmentOption.percentage / 100);\r\n }\r\n }\r\n );\r\n\r\n // If drawdownTotal is 100, remove error. If it is not 100, set validation error\r\n if (drawdownTotal === 100 && !calculatedAmountHigherThanBalance) {\r\n this.store.dispatch(\r\n new SetErrorsAction(\r\n form[1].controls.investmentOptionDrawdown.id,\r\n {}\r\n )\r\n );\r\n } else {\r\n var errors = {};\r\n\r\n if (drawdownTotal !== 100) {\r\n errors['percentageTotal'] = 'Total must be 100.';\r\n }\r\n\r\n if (calculatedAmountHigherThanBalance) {\r\n errors['calculatedTotal'] =\r\n 'A calculated amount cannot be higher than the investment accounts balance.';\r\n }\r\n this.store.dispatch(\r\n new SetErrorsAction(\r\n form[1].controls.investmentOptionDrawdown.id,\r\n errors\r\n )\r\n );\r\n }\r\n }\r\n }\r\n });\r\n\r\n // Go next step when form has been successfully saved\r\n this.sub = this.savedFormData$.subscribe((x) => {\r\n if (x) {\r\n this.dispatch(\r\n this.store,\r\n SetCurrentStepAction({ nextStep: this.step })\r\n );\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n this.dispatch(this.store, ResetComponentStateAction());\r\n }\r\n\r\n exitForm() {\r\n this.router.navigate(['/access-your-super']);\r\n }\r\n\r\n async goNextStep() {\r\n var helper = new Helper();\r\n var form = await helper.getValue(this.form$);\r\n\r\n var paymentTypeId =\r\n form.value.paymentType === 0\r\n ? AccessYourSuperPaymentTypeEnum.FullAmountRestrictedNonPreserved\r\n : AccessYourSuperPaymentTypeEnum.PartialAmount;\r\n\r\n var investmentDrawdown = form.value.investmentOptionDrawdown.map(\r\n (investmentOption) =>\r\n ({\r\n optionId: investmentOption.optionId,\r\n option: investmentOption.option,\r\n amount: investmentOption.amount,\r\n percentage: investmentOption.percentage,\r\n } as InvestmentItemModel)\r\n );\r\n\r\n var payload = {\r\n accessYourSuperPaymentDetailId: this.paymentDetailId,\r\n accessYourSuperApplicationId: this.id,\r\n paymentTypeId: paymentTypeId,\r\n benefitAmount:\r\n paymentTypeId === AccessYourSuperPaymentTypeEnum.PartialAmount\r\n ? form.value.partialAmountSpecified\r\n : null,\r\n isBeforeTax:\r\n paymentTypeId === AccessYourSuperPaymentTypeEnum.PartialAmount\r\n ? form.value.isBeforeTax\r\n : null,\r\n partialWithdrawalInvestmentSelection:\r\n paymentTypeId === AccessYourSuperPaymentTypeEnum.PartialAmount\r\n ? form.value.partialWithdrawalSelection\r\n : null,\r\n investmentDrawdown:\r\n paymentTypeId === AccessYourSuperPaymentTypeEnum.PartialAmount &&\r\n form.value.partialWithdrawalSelection\r\n ? investmentDrawdown\r\n : null,\r\n } as AccessYourSuperPaymentDetailSubmissionModel;\r\n\r\n this.dispatch(\r\n this.store,\r\n SaveFormDataAction({ accountId: this.accountId, payload: payload })\r\n );\r\n }\r\n\r\n goBack() {\r\n this.dispatch(\r\n this.store,\r\n SetCurrentStepAction({ nextStep: this.previousStep })\r\n );\r\n }\r\n}\r\n","
\r\n

Benefit payment of the RNP component

\r\n
\r\n
\r\n
\r\n
\r\n
{{model.formLabels.paymentType}}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
{{model.formLabels.benefitAmount}}\r\n help_outline\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{model.formLabels.investmentOptionChoice}}\r\n help_outline\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{model.formLabels.provideInvestmentOption}}\r\n
\r\n \r\n
\r\n
\r\n\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex flex-wrap mt-4\">\r\n
\r\n \r\n
\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex\">\r\n 767, 'mt-1': screenWidth<768}\"\r\n class=\"flex-fill {{'BTN.access-your-super.back.class' | translate}}\" title=\"Back\"\r\n icon=\"{{'BTN.access-your-super.back.icon' | translate}}\" [isDisabled]=\"isSubmitting\"\r\n color=\"{{'BTN.access-your-super.back.color' | translate}}\" (onClick)=\"goBack()\">\r\n 767, 'mt-1': screenWidth<768}\" class=\"flex-fill\"\r\n title=\"Next\" icon=\"{{'BTN.access-your-super.continue.icon' | translate}}\"\r\n color=\"{{'BTN.access-your-super.continue.color' | translate}}\"\r\n [isDisabled]=\"form.isInvalid || isSubmitting\" loading (onClick)=\"goNextStep()\">\r\n
\r\n
\r\n
\r\n
","import { createFeatureSelector, createSelector } from \"@ngrx/store\";\r\nimport { featureKey } from \"../../../store/shared.reducers\";\r\nimport { MemberPortalSharedState } from \"../../../store/shared.states\";\r\nimport { IAccessYourSuperCeasedWorkSixtyComponentState } from \"./state\";\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const getAccessYourSuperCeasedWorkSixtyState = createSelector(memberPortalState, (state) => state.accessYourSuperCeasedWorkSixtyComponentState);\r\n\r\nexport const accessYourSuperCeasedWorkSixty_Model = createSelector(\r\n getAccessYourSuperCeasedWorkSixtyState,\r\n (state: IAccessYourSuperCeasedWorkSixtyComponentState) => state.model\r\n);\r\n\r\nexport const accessYourSuperCeasedWorkSixty_Form = createSelector(\r\n getAccessYourSuperCeasedWorkSixtyState,\r\n (state: IAccessYourSuperCeasedWorkSixtyComponentState) => state.form\r\n)\r\n\r\nexport const accessYourSuperCeasedWorkSixty_FullAmountRadioOptions = createSelector(\r\n getAccessYourSuperCeasedWorkSixtyState,\r\n (state: IAccessYourSuperCeasedWorkSixtyComponentState) => state.fullAmountRadioOptions\r\n)\r\n\r\nexport const accessYourSuperCeasedWorkSixty_CurrentTotalPercent = createSelector(\r\n getAccessYourSuperCeasedWorkSixtyState,\r\n (state: IAccessYourSuperCeasedWorkSixtyComponentState) => state.form.value.investmentOptionDrawdown.reduce((a, b) => a + b.percentage, 0)\r\n);\r\n\r\nexport const accessYourSuperCeasedWorkSixty_SavedFormData = createSelector(\r\n getAccessYourSuperCeasedWorkSixtyState,\r\n (state: IAccessYourSuperCeasedWorkSixtyComponentState) => state.savedFormData\r\n)","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n AppButtonComponent,\r\n EntryFieldRadioComponent,\r\n Helper,\r\n KeyValueModel,\r\n NumberEntryFieldComponent,\r\n} from '@ifaa-components/ui-components';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { NgrxFormsModule, SetErrorsAction, SetValueAction } from 'ngrx-forms';\r\nimport { distinct, distinctUntilChanged, pairwise } from 'rxjs/operators';\r\nimport { AccessYourSuperPaymentTypeEnum } from 'src/app/enums/access-your-super-payment-type.enum';\r\nimport { AccessYourSuperPaymentDetailSubmissionModel } from 'src/app/model/access-your-super-custom-sections.model';\r\nimport { InvestmentItemModel } from 'src/app/model/investment-item.model';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { SetCurrentStepAction } from '../../access-your-super-form/actions';\r\nimport {\r\n RequestAction,\r\n ResetComponentStateAction,\r\n SaveFormDataAction,\r\n SetFullAmountRadioOptionsAction,\r\n} from './actions';\r\nimport {\r\n accessYourSuperCeasedWorkSixty_CurrentTotalPercent,\r\n accessYourSuperCeasedWorkSixty_Form,\r\n accessYourSuperCeasedWorkSixty_FullAmountRadioOptions,\r\n accessYourSuperCeasedWorkSixty_Model,\r\n accessYourSuperCeasedWorkSixty_SavedFormData,\r\n} from './selectors';\r\nimport { commonState_SystemConfig_AccountFeatureToggles } from 'src/app/store/common/common.selectors';\r\nimport { memberAccountDropdown_SelectedAccount } from '../../member-account-dropdown/selectors';\r\nimport { FeatureToggleHelper } from 'src/app/helper/featureToggleHelper';\r\nimport { combineLatest } from 'rxjs';\r\nimport { FeatureToggleName } from 'src/app/model/feature-toggle-name.model';\r\nimport { NgIf, AsyncPipe, NgClass } from '@angular/common';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MatTooltip } from '@angular/material/tooltip';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { AnimateCssDirective } from '../../../directives/animatecss.directive';\r\nimport { AppRadioDirective } from '../../../directives/app-radio.directive';\r\nimport { AppButtonDirective } from '../../../directives/appbutton.directive';\r\nimport { InputScrollDirective } from '../../../directives/input-scroll.directive';\r\nimport { AccessYourSuperDrawdownComponent } from '../access-your-super-drawdown/access-your-super-drawdown.component';\r\n\r\n@Component({\r\n selector: 'app-access-your-super-ceased-work-sixty',\r\n templateUrl: './access-your-super-ceased-work-sixty.component.html',\r\n styleUrls: ['./access-your-super-ceased-work-sixty.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n NgrxFormsModule,\r\n EntryFieldRadioComponent,\r\n AppRadioDirective,\r\n InputScrollDirective,\r\n MatIcon,\r\n MatTooltip,\r\n NumberEntryFieldComponent,\r\n AnimateCssDirective,\r\n AccessYourSuperDrawdownComponent,\r\n NgClass,\r\n AppButtonComponent,\r\n TranslatePipe,\r\n AppButtonDirective,\r\n ],\r\n})\r\nexport class AccessYourSuperCeasedWorkSixtyComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n @Input() set nextStep(value: number) {\r\n this.step = value;\r\n }\r\n @Input() set applicationId(value: number) {\r\n this.id = value;\r\n }\r\n @Input() set backStep(value: number) {\r\n this.previousStep = value;\r\n }\r\n @Input() set account(value: number) {\r\n this.accountId = value;\r\n }\r\n @Input() set typeId(value: number) {\r\n this.applicationTypeId = value;\r\n }\r\n @Input() set canGoBack(value: boolean) {\r\n this.showBackButton = value;\r\n }\r\n @Input() set submitting(value: boolean) {\r\n this.isSubmitting = value;\r\n }\r\n\r\n model$ = this.store.pipe(select(accessYourSuperCeasedWorkSixty_Model));\r\n form$ = this.store.pipe(select(accessYourSuperCeasedWorkSixty_Form));\r\n fullAmountRadioOptions$ = this.store.pipe(\r\n select(accessYourSuperCeasedWorkSixty_FullAmountRadioOptions)\r\n );\r\n currentTotalPercent$ = this.store.pipe(\r\n select(accessYourSuperCeasedWorkSixty_CurrentTotalPercent)\r\n );\r\n savedFormData$ = this.store.pipe(\r\n select(accessYourSuperCeasedWorkSixty_SavedFormData)\r\n );\r\n featureToggles$ = this.store.pipe(\r\n select(commonState_SystemConfig_AccountFeatureToggles)\r\n );\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n\r\n step: number = null;\r\n previousStep: number = null;\r\n id: number = null;\r\n applicationTypeId: number = null;\r\n investmentOptions: InvestmentItemModel[];\r\n paymentDetailId: number = null;\r\n accountId: number = null;\r\n showBenefitAmountTooltip: boolean = false;\r\n featureToggleHelper: FeatureToggleHelper = new FeatureToggleHelper();\r\n isSubmitting: boolean = false;\r\n showBackButton: boolean = false;\r\n\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n async ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.sub = combineLatest([\r\n this.selectedAccount$,\r\n this.featureToggles$,\r\n ]).subscribe((x) => {\r\n if (x[0] && x[1]) {\r\n this.showBenefitAmountTooltip = this.featureToggleHelper.checkToggle(\r\n FeatureToggleName.member.account.accessYourSuper.benefitAmountTooltip\r\n .view,\r\n x[1],\r\n x[0],\r\n true\r\n );\r\n }\r\n });\r\n\r\n this.sub = this.model$.pipe(distinct()).subscribe(async (x) => {\r\n if (!x) {\r\n this.dispatch(\r\n this.store,\r\n RequestAction({\r\n accountId: this.accountId,\r\n applicationId: this.id,\r\n applicationTypeId: this.applicationTypeId,\r\n })\r\n );\r\n }\r\n\r\n if (x) {\r\n // set full amount radio options\r\n var fullAmountRadioOptions = [] as KeyValueModel[];\r\n fullAmountRadioOptions.push({\r\n key: 0,\r\n value: x.formLabels.fullAmountOptionOne,\r\n });\r\n fullAmountRadioOptions.push({\r\n key: 1,\r\n value: x.formLabels.fullAmountOptionTwo,\r\n });\r\n this.dispatch(\r\n this.store,\r\n SetFullAmountRadioOptionsAction({ payload: fullAmountRadioOptions })\r\n );\r\n\r\n var investmentOptions = Object.assign([], x.currentInvestmentMix);\r\n\r\n var helper = new Helper();\r\n var form = await helper.getValue(this.form$);\r\n\r\n // update form values if we are updating an existing application\r\n if (x.submissionData) {\r\n this.paymentDetailId =\r\n x.submissionData.accessYourSuperPaymentDetailId;\r\n\r\n if (\r\n x.submissionData.paymentTypeId !==\r\n AccessYourSuperPaymentTypeEnum.PartialAmount\r\n ) {\r\n this.store.dispatch(\r\n new SetValueAction(form.controls.paymentType.id, 0)\r\n );\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.fullAmountSelection.id,\r\n x.submissionData.paymentTypeId - 1\r\n )\r\n );\r\n } else {\r\n this.store.dispatch(\r\n new SetValueAction(form.controls.paymentType.id, 1)\r\n );\r\n }\r\n\r\n x.submissionData.benefitAmount\r\n ? this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.partialAmountSpecified.id,\r\n x.submissionData.benefitAmount\r\n )\r\n )\r\n : null;\r\n\r\n x.submissionData.partialWithdrawalInvestmentSelection === true ||\r\n x.submissionData.partialWithdrawalInvestmentSelection === false\r\n ? this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.partialWithdrawalSelection.id,\r\n x.submissionData.partialWithdrawalInvestmentSelection\r\n )\r\n )\r\n : null;\r\n\r\n // update the investmentOptions in form state if the member saved a custom drawdown\r\n if (x.submissionData.partialWithdrawalInvestmentSelection) {\r\n // if we have any specified investment options saved that are not in the current investment mix, we need to discard all of those that were saved\r\n var drawdownMatchesCurrentInvestmentMix = true;\r\n\r\n x.submissionData.investmentDrawdown.forEach((drawDown) => {\r\n var investmentOptionIndex = investmentOptions.findIndex(\r\n (o) => o.optionId === drawDown.optionId\r\n );\r\n\r\n // if we dont get an investmentOption, set the flag to false. Otherwise update the investmentOptions array with the saved percentage\r\n if (investmentOptionIndex === -1)\r\n drawdownMatchesCurrentInvestmentMix = false;\r\n else {\r\n investmentOptions[investmentOptionIndex] = {\r\n ...investmentOptions[investmentOptionIndex],\r\n percentage: drawDown.percentage,\r\n };\r\n }\r\n });\r\n\r\n // if our current investment mix matches the saved options, update the form value with the updated investmentOptions array\r\n // if it doesnt match, update the form value with the members current investment mix so they will have to reselect an investment drawdown\r\n if (drawdownMatchesCurrentInvestmentMix) {\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.investmentOptionDrawdown.id,\r\n investmentOptions\r\n )\r\n );\r\n } else {\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.investmentOptionDrawdown.id,\r\n x.currentInvestmentMix\r\n )\r\n );\r\n }\r\n }\r\n // if they didn't specify a custom drawdown, set the options with their investment mix\r\n else {\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.investmentOptionDrawdown.id,\r\n investmentOptions\r\n )\r\n );\r\n }\r\n } else {\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.investmentOptionDrawdown.id,\r\n investmentOptions\r\n )\r\n );\r\n }\r\n }\r\n });\r\n\r\n this.sub = this.form$\r\n .pipe(\r\n pairwise(),\r\n distinctUntilChanged((x, y) => {\r\n // check if text box value is NaN to avoid infinite loop..\r\n if (Number.isNaN(y[1].value.partialAmountSpecified)) return true;\r\n\r\n if (\r\n x[1].value.paymentType !== y[1].value.paymentType ||\r\n x[1].value.fullAmountSelection !== y[1].value.fullAmountSelection ||\r\n x[1].value.investmentOptionDrawdown !==\r\n y[1].value.investmentOptionDrawdown ||\r\n x[1].value.partialAmountSpecified !==\r\n y[1].value.partialAmountSpecified ||\r\n x[1].value.partialWithdrawalSelection !==\r\n y[1].value.partialWithdrawalSelection\r\n )\r\n return false;\r\n\r\n return true;\r\n })\r\n )\r\n .subscribe((form) => {\r\n if (form) {\r\n // If user has swapped from partial amount back to full amount, reset all form validations\r\n if (\r\n form[0].value.paymentType === 1 &&\r\n form[1].value.paymentType === 0\r\n ) {\r\n this.store.dispatch(\r\n new SetErrorsAction(\r\n form[1].controls.partialAmountSpecified.id,\r\n {}\r\n )\r\n );\r\n this.store.dispatch(\r\n new SetErrorsAction(\r\n form[1].controls.investmentOptionDrawdown.id,\r\n {}\r\n )\r\n );\r\n }\r\n\r\n // Reset validation if user swaps from custom selection to auto selection of investment dropdown\r\n if (\r\n form[0].value.partialWithdrawalSelection !==\r\n form[1].value.partialWithdrawalSelection\r\n ) {\r\n this.store.dispatch(\r\n new SetErrorsAction(\r\n form[1].controls.investmentOptionDrawdown.id,\r\n {}\r\n )\r\n );\r\n }\r\n\r\n if (\r\n form[1].value.paymentType === 1 &&\r\n form[1].value.partialWithdrawalSelection\r\n ) {\r\n var drawdownTotal = 0;\r\n var calculatedAmountHigherThanBalance = false;\r\n\r\n form[1].value.investmentOptionDrawdown.forEach(\r\n (investmentOption, index) => {\r\n drawdownTotal += investmentOption.percentage;\r\n if (!calculatedAmountHigherThanBalance) {\r\n calculatedAmountHigherThanBalance =\r\n investmentOption.amount <\r\n form[1].value.partialAmountSpecified *\r\n (investmentOption.percentage / 100);\r\n }\r\n }\r\n );\r\n\r\n // If drawdownTotal is 100, remove error. If it is not 100, set validation error\r\n if (drawdownTotal === 100 && !calculatedAmountHigherThanBalance) {\r\n this.store.dispatch(\r\n new SetErrorsAction(\r\n form[1].controls.investmentOptionDrawdown.id,\r\n {}\r\n )\r\n );\r\n } else {\r\n var errors = {};\r\n\r\n if (drawdownTotal !== 100) {\r\n errors['percentageTotal'] = 'Total must be 100.';\r\n }\r\n\r\n if (calculatedAmountHigherThanBalance) {\r\n errors['calculatedTotal'] =\r\n 'A calculated amount cannot be higher than the investment accounts balance.';\r\n }\r\n this.store.dispatch(\r\n new SetErrorsAction(\r\n form[1].controls.investmentOptionDrawdown.id,\r\n errors\r\n )\r\n );\r\n }\r\n }\r\n }\r\n });\r\n\r\n // Go next step when form has been successfully saved\r\n this.sub = this.savedFormData$.subscribe((x) => {\r\n if (x) {\r\n this.dispatch(\r\n this.store,\r\n SetCurrentStepAction({ nextStep: this.step })\r\n );\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n this.dispatch(this.store, ResetComponentStateAction());\r\n }\r\n\r\n exitForm() {\r\n this.router.navigate(['/access-your-super']);\r\n }\r\n\r\n async goNextStep() {\r\n var helper = new Helper();\r\n var form = await helper.getValue(this.form$);\r\n\r\n var paymentTypeId =\r\n form.value.paymentType === 0 && form.value.fullAmountSelection === 0\r\n ? AccessYourSuperPaymentTypeEnum.FullAmountCloseAccount\r\n : form.value.paymentType === 0 && form.value.fullAmountSelection === 1\r\n ? AccessYourSuperPaymentTypeEnum.FullAmountKeepAccountOpen\r\n : AccessYourSuperPaymentTypeEnum.PartialAmount;\r\n\r\n var investmentDrawdown = form.value.investmentOptionDrawdown.map(\r\n (investmentOption) =>\r\n ({\r\n optionId: investmentOption.optionId,\r\n option: investmentOption.option,\r\n amount: investmentOption.amount,\r\n percentage: investmentOption.percentage,\r\n } as InvestmentItemModel)\r\n );\r\n\r\n var payload = {\r\n accessYourSuperPaymentDetailId: this.paymentDetailId,\r\n accessYourSuperApplicationId: this.id,\r\n paymentTypeId: paymentTypeId,\r\n benefitAmount:\r\n paymentTypeId === AccessYourSuperPaymentTypeEnum.PartialAmount\r\n ? form.value.partialAmountSpecified\r\n : null,\r\n partialWithdrawalInvestmentSelection:\r\n paymentTypeId === AccessYourSuperPaymentTypeEnum.PartialAmount\r\n ? form.value.partialWithdrawalSelection\r\n : null,\r\n investmentDrawdown:\r\n paymentTypeId === AccessYourSuperPaymentTypeEnum.PartialAmount &&\r\n form.value.partialWithdrawalSelection\r\n ? investmentDrawdown\r\n : null,\r\n } as AccessYourSuperPaymentDetailSubmissionModel;\r\n\r\n this.dispatch(\r\n this.store,\r\n SaveFormDataAction({ accountId: this.accountId, payload: payload })\r\n );\r\n }\r\n\r\n goBack() {\r\n this.dispatch(\r\n this.store,\r\n SetCurrentStepAction({ nextStep: this.previousStep })\r\n );\r\n }\r\n}\r\n","
\r\n

Ceased work after 60

\r\n
\r\n
\r\n
\r\n
\r\n
{{model.formLabels.paymentType}}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{model.formLabels.benefitAmount}}\r\n help_outline\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{model.formLabels.investmentOptionChoice}}\r\n help_outline\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{model.formLabels.provideInvestmentOption}}\r\n
\r\n \r\n
\r\n
\r\n\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex flex-wrap mt-4\">\r\n
\r\n \r\n
\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex\">\r\n 767, 'mt-1': screenWidth<768}\"\r\n class=\"flex-fill {{'BTN.access-your-super.back.class' | translate}}\" title=\"Back\"\r\n icon=\"{{'BTN.access-your-super.back.icon' | translate}}\" [isDisabled]=\"isSubmitting\"\r\n color=\"{{'BTN.access-your-super.back.color' | translate}}\" (onClick)=\"goBack()\">\r\n 767, 'mt-1': screenWidth<768}\" class=\"flex-fill\"\r\n title=\"Next\" icon=\"{{'BTN.access-your-super.continue.icon' | translate}}\"\r\n color=\"{{'BTN.access-your-super.continue.color' | translate}}\"\r\n [isDisabled]=\"form.isInvalid || isSubmitting\" loading (onClick)=\"goNextStep()\">\r\n
\r\n
\r\n
\r\n
","import { createFeatureSelector, createSelector } from \"@ngrx/store\";\r\nimport { featureKey } from \"../../../store/shared.reducers\";\r\nimport { MemberPortalSharedState } from \"../../../store/shared.states\";\r\nimport { IAccessYourSuperCompassionateGroundsComponentState } from \"./state\";\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const getAccessYourSuperCompassionateGroundsState = createSelector(memberPortalState, (state) => state.accessYourSuperCompassionateGroundsComponentState);\r\n\r\nexport const accessYourSuperCompassionateGrounds_Model = createSelector(\r\n getAccessYourSuperCompassionateGroundsState,\r\n (state: IAccessYourSuperCompassionateGroundsComponentState) => state.model\r\n);\r\n\r\nexport const accessYourSuperCompassionateGrounds_Form = createSelector(\r\n getAccessYourSuperCompassionateGroundsState,\r\n (state: IAccessYourSuperCompassionateGroundsComponentState) => state.form\r\n)\r\n\r\nexport const accessYourSuperCompassionateGrounds_SavedFormData = createSelector(\r\n getAccessYourSuperCompassionateGroundsState,\r\n (state: IAccessYourSuperCompassionateGroundsComponentState) => state.savedFormData\r\n)","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n AppButtonComponent,\r\n EntryFieldRadioComponent,\r\n Helper,\r\n NumberEntryFieldComponent,\r\n} from '@ifaa-components/ui-components';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { NgrxFormsModule, SetValueAction } from 'ngrx-forms';\r\nimport { distinct, pairwise } from 'rxjs/operators';\r\nimport { AccessYourSuperPaymentTypeEnum } from 'src/app/enums/access-your-super-payment-type.enum';\r\nimport { AccessYourSuperPaymentDetailSubmissionModel } from 'src/app/model/access-your-super-custom-sections.model';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { SetCurrentStepAction } from '../../access-your-super-form/actions';\r\nimport {\r\n RequestAction,\r\n ResetComponentStateAction,\r\n SaveFormDataAction,\r\n} from './actions';\r\nimport {\r\n accessYourSuperCompassionateGrounds_Form,\r\n accessYourSuperCompassionateGrounds_Model,\r\n accessYourSuperCompassionateGrounds_SavedFormData,\r\n} from './selectors';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { NgIf, AsyncPipe, NgClass } from '@angular/common';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { AnimateCssDirective } from '../../../directives/animatecss.directive';\r\nimport { AppRadioDirective } from '../../../directives/app-radio.directive';\r\nimport { AppButtonDirective } from '../../../directives/appbutton.directive';\r\nimport { InputScrollDirective } from '../../../directives/input-scroll.directive';\r\n\r\n@Component({\r\n selector: 'app-access-your-super-compassionate-grounds',\r\n templateUrl: './access-your-super-compassionate-grounds.component.html',\r\n styleUrls: ['./access-your-super-compassionate-grounds.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n NgrxFormsModule,\r\n EntryFieldRadioComponent,\r\n AppRadioDirective,\r\n InputScrollDirective,\r\n NumberEntryFieldComponent,\r\n AnimateCssDirective,\r\n NgClass,\r\n AppButtonComponent,\r\n TranslatePipe,\r\n AppButtonDirective,\r\n ],\r\n})\r\nexport class AccessYourSuperCompassionateGroundsComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n @Input() set nextStep(value: number) {\r\n this.step = value;\r\n }\r\n @Input() set applicationId(value: number) {\r\n this.id = value;\r\n }\r\n @Input() set backStep(value: number) {\r\n this.previousStep = value;\r\n }\r\n @Input() set account(value: number) {\r\n this.accountId = value;\r\n }\r\n @Input() set typeId(value: number) {\r\n this.applicationTypeId = value;\r\n }\r\n @Input() set canGoBack(value: boolean) {\r\n this.showBackButton = value;\r\n }\r\n @Input() set submitting(value: boolean) {\r\n this.isSubmitting = value;\r\n }\r\n\r\n model$ = this.store.pipe(select(accessYourSuperCompassionateGrounds_Model));\r\n form$ = this.store.pipe(select(accessYourSuperCompassionateGrounds_Form));\r\n savedFormData$ = this.store.pipe(\r\n select(accessYourSuperCompassionateGrounds_SavedFormData)\r\n );\r\n\r\n helper = new Helper();\r\n step: number = null;\r\n previousStep: number = null;\r\n id: number = null;\r\n applicationTypeId: number = null;\r\n paymentDetailId: number = null;\r\n accountId: number = null;\r\n isSubmitting: boolean = false;\r\n showBackButton: boolean = false;\r\n\r\n constructor(\r\n public store: Store,\r\n private router: Router,\r\n private toastr: ToastrService\r\n ) {\r\n super();\r\n }\r\n\r\n async ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.sub = this.model$.pipe(distinct()).subscribe(async (x) => {\r\n if (!x) {\r\n this.dispatch(\r\n this.store,\r\n RequestAction({\r\n accountId: this.accountId,\r\n applicationId: this.id,\r\n applicationTypeId: this.applicationTypeId,\r\n })\r\n );\r\n }\r\n\r\n if (x) {\r\n var form = await this.helper.getValue(this.form$);\r\n\r\n var investmentOptions = Object.assign([], x.currentInvestmentMix);\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.investmentOptionDrawdown.id,\r\n investmentOptions\r\n )\r\n );\r\n\r\n // update form values if we are updating an existing application\r\n if (x.submissionData) {\r\n this.paymentDetailId =\r\n x.submissionData.accessYourSuperPaymentDetailId;\r\n\r\n x.submissionData.otherCondition?.isAtoApproved\r\n ? this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.isAtoApproved.id,\r\n x.submissionData.otherCondition?.isAtoApproved\r\n )\r\n )\r\n : null;\r\n\r\n x.submissionData.benefitAmount\r\n ? this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.partialAmountSpecified.id,\r\n x.submissionData.benefitAmount\r\n )\r\n )\r\n : null;\r\n }\r\n }\r\n });\r\n\r\n this.sub = this.form$.pipe(pairwise()).subscribe(async (x) => {\r\n if (x[0].value.isAtoApproved && !x[1].value.isAtoApproved) {\r\n var model = await this.helper.getValue(this.model$);\r\n this.toastr.error(model.formLabels.atoNotApprovedWarning);\r\n }\r\n });\r\n\r\n // Go next step when form has been successfully saved\r\n this.sub = this.savedFormData$.subscribe((x) => {\r\n if (x) {\r\n this.dispatch(\r\n this.store,\r\n SetCurrentStepAction({ nextStep: this.step })\r\n );\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n this.dispatch(this.store, ResetComponentStateAction());\r\n }\r\n\r\n exitForm() {\r\n this.router.navigate(['/access-your-super']);\r\n }\r\n\r\n async goNextStep() {\r\n var helper = new Helper();\r\n var form = await helper.getValue(this.form$);\r\n\r\n var paymentTypeId = AccessYourSuperPaymentTypeEnum.PartialAmount;\r\n\r\n var payload = {\r\n accessYourSuperPaymentDetailId: this.paymentDetailId,\r\n accessYourSuperApplicationId: this.id,\r\n paymentTypeId: paymentTypeId,\r\n benefitAmount:\r\n paymentTypeId === AccessYourSuperPaymentTypeEnum.PartialAmount\r\n ? form.value.partialAmountSpecified\r\n : null,\r\n otherCondition: {\r\n isAtoApproved: form.value.isAtoApproved,\r\n },\r\n } as AccessYourSuperPaymentDetailSubmissionModel;\r\n\r\n this.dispatch(\r\n this.store,\r\n SaveFormDataAction({ accountId: this.accountId, payload: payload })\r\n );\r\n }\r\n\r\n goBack() {\r\n this.dispatch(\r\n this.store,\r\n SetCurrentStepAction({ nextStep: this.previousStep })\r\n );\r\n }\r\n}\r\n","
\r\n

Compassionate grounds

\r\n
\r\n
\r\n
\r\n
\r\n
{{model.formLabels.atoApproved}}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{model.formLabels.benefitAmount}}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex flex-wrap mt-4\">\r\n
\r\n \r\n
\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex\">\r\n 767, 'mt-1': screenWidth<768}\"\r\n class=\"flex-fill {{'BTN.access-your-super.back.class' | translate}}\" title=\"Back\"\r\n icon=\"{{'BTN.access-your-super.back.icon' | translate}}\" [isDisabled]=\"isSubmitting\"\r\n color=\"{{'BTN.access-your-super.back.color' | translate}}\" (onClick)=\"goBack()\">\r\n 767, 'mt-1': screenWidth<768}\" class=\"flex-fill\"\r\n title=\"Next\" icon=\"{{'BTN.access-your-super.continue.icon' | translate}}\"\r\n color=\"{{'BTN.access-your-super.continue.color' | translate}}\"\r\n [isDisabled]=\"form.isInvalid || isSubmitting\" loading (onClick)=\"goNextStep()\">\r\n
\r\n
\r\n
\r\n
","import { createFeatureSelector, createSelector } from \"@ngrx/store\";\r\nimport { IAccessYourSuperKiwiSaverComponentState } from \"./state\";\r\nimport { MemberPortalSharedState } from \"src/app/modules/shared/store/shared.states\";\r\nimport { featureKey } from \"../../../store/shared.reducers\";\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const getAccessYourSuperKiwiSaverState = createSelector(memberPortalState, (state) => state.accessYourSuperKiwiSaverComponentState);\r\n\r\nexport const accessYourSuperKiwiSaver_Model = createSelector(\r\n getAccessYourSuperKiwiSaverState,\r\n (state: IAccessYourSuperKiwiSaverComponentState) => state.model\r\n);\r\n\r\nexport const accessYourSuperKiwiSaver_FormOne = createSelector(\r\n getAccessYourSuperKiwiSaverState,\r\n (state: IAccessYourSuperKiwiSaverComponentState) => state.formOne\r\n);\r\nexport const accessYourSuperKiwiSaver_FormTwo = createSelector(\r\n getAccessYourSuperKiwiSaverState,\r\n (state: IAccessYourSuperKiwiSaverComponentState) => state.formTwo\r\n);\r\nexport const accessYourSuperKiwiSaver_FormThree = createSelector(\r\n getAccessYourSuperKiwiSaverState,\r\n (state: IAccessYourSuperKiwiSaverComponentState) => state.formThree\r\n);\r\n\r\nexport const accessYourSuperKiwiSaver_SavedFormData = createSelector(\r\n getAccessYourSuperKiwiSaverState,\r\n (state: IAccessYourSuperKiwiSaverComponentState) => state.savedFormData\r\n);\r\n\r\nexport const accessYourSuperKiwiSaver_KiwiSaverStep = createSelector(\r\n getAccessYourSuperKiwiSaverState,\r\n (state: IAccessYourSuperKiwiSaverComponentState) => state.kiwiSaverStep\r\n);","import {\r\n AfterViewInit,\r\n Component,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n QueryList,\r\n ViewChildren,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n AppButtonComponent,\r\n EntryFieldAddressAccurityComponent,\r\n EntryFieldComponent,\r\n EntryFieldDateComponent,\r\n EntryFieldRadioComponent,\r\n Helper,\r\n} from '@ifaa-components/ui-components';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { distinct, distinctUntilChanged, map, pairwise } from 'rxjs/operators';\r\nimport { AccessYourSuperKiwiSaverDetailSubmissionModel } from 'src/app/model/access-your-super-custom-sections.model';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport {\r\n RequestAction,\r\n ResetComponentStateAction,\r\n SaveFormDataAction,\r\n SetKiwiSaverStepAction,\r\n} from './actions';\r\nimport {\r\n accessYourSuperKiwiSaver_FormOne,\r\n accessYourSuperKiwiSaver_FormTwo,\r\n accessYourSuperKiwiSaver_FormThree,\r\n accessYourSuperKiwiSaver_Model,\r\n accessYourSuperKiwiSaver_SavedFormData,\r\n accessYourSuperKiwiSaver_KiwiSaverStep,\r\n} from './selectors';\r\nimport { SetCurrentStepAction } from 'src/app/modules/shared/components/access-your-super-form/actions';\r\nimport { FeatureToggleName } from 'src/app/model/feature-toggle-name.model';\r\nimport { combineLatest } from 'rxjs';\r\nimport { NgrxFormsModule, SetErrorsAction } from 'ngrx-forms';\r\nimport { AccessYourSuperStepper } from '../../access-your-super-progress-stepper/access-your-super-progress-stepper.component';\r\nimport { CombinedFormData } from './state';\r\nimport { NgIf, AsyncPipe, NgClass } from '@angular/common';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { AnimateCssDirective } from '../../../directives/animatecss.directive';\r\nimport { AppRadioDirective } from '../../../directives/app-radio.directive';\r\nimport { AppButtonDirective } from '../../../directives/appbutton.directive';\r\nimport { FeatureToggleDirective } from '../../../directives/feature-toggle.directive';\r\nimport {\r\n InputScrollDirective,\r\n InputDateScrollDirective,\r\n InputAddressScrollDirective,\r\n} from '../../../directives/input-scroll.directive';\r\n\r\n@Component({\r\n selector: 'app-access-your-super-kiwi-saver',\r\n templateUrl: './access-your-super-kiwi-saver.component.html',\r\n styleUrls: ['./access-your-super-kiwi-saver.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n AnimateCssDirective,\r\n NgrxFormsModule,\r\n NgClass,\r\n EntryFieldComponent,\r\n InputScrollDirective,\r\n EntryFieldRadioComponent,\r\n AppRadioDirective,\r\n EntryFieldDateComponent,\r\n InputDateScrollDirective,\r\n FeatureToggleDirective,\r\n EntryFieldAddressAccurityComponent,\r\n InputAddressScrollDirective,\r\n AccessYourSuperStepper,\r\n AppButtonComponent,\r\n TranslatePipe,\r\n AppButtonDirective,\r\n ],\r\n})\r\nexport class AccessYourSuperKiwiSaverComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy, AfterViewInit\r\n{\r\n @Input() set nextStep(value: number) {\r\n this.step = value;\r\n }\r\n @Input() set applicationId(value: number) {\r\n this.id = value;\r\n }\r\n @Input() set backStep(value: number) {\r\n this.previousStep = value;\r\n }\r\n @Input() set account(value: number) {\r\n this.accountId = value;\r\n }\r\n @Input() set typeId(value: number) {\r\n this.applicationTypeId = value;\r\n }\r\n @Input() set submitting(value: boolean) {\r\n this.isSubmitting = value;\r\n }\r\n\r\n employerConfirmationFeatureToggle =\r\n FeatureToggleName.member.account.accessYourSuper\r\n .kiwiSaverEmployerConfirmation.view;\r\n\r\n model$ = this.store.pipe(select(accessYourSuperKiwiSaver_Model));\r\n formOne$ = this.store.pipe(select(accessYourSuperKiwiSaver_FormOne));\r\n formTwo$ = this.store.pipe(select(accessYourSuperKiwiSaver_FormTwo));\r\n formThree$ = this.store.pipe(select(accessYourSuperKiwiSaver_FormThree));\r\n savedFormData$ = this.store.pipe(\r\n select(accessYourSuperKiwiSaver_SavedFormData)\r\n );\r\n kiwiSaverStep$ = this.store.pipe(\r\n select(accessYourSuperKiwiSaver_KiwiSaverStep)\r\n );\r\n combinedFormData$ = null;\r\n\r\n step: number = null;\r\n previousStep: number = null;\r\n id: number = null;\r\n applicationTypeId: number = null;\r\n kiwiSaverDetailId: number = null;\r\n accountId: number = null;\r\n stepperData: any[] = [];\r\n isSubmitting: boolean = false;\r\n helper = new Helper();\r\n combinedFormData: CombinedFormData = null;\r\n\r\n @ViewChildren(AccessYourSuperStepper)\r\n private kiwiSaverStepper: QueryList;\r\n\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.sub = combineLatest([\r\n this.kiwiSaverStepper?.changes,\r\n this.kiwiSaverStep$,\r\n ])\r\n .pipe(map(([queryList, step]) => ({ queryList, step })))\r\n .subscribe((x) => {\r\n if (x.queryList && x.step) {\r\n x.queryList.first.setSelectedIndex(x.step - 1);\r\n }\r\n });\r\n }\r\n\r\n async ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n (this.combinedFormData$ = combineLatest([\r\n this.formOne$,\r\n this.formTwo$,\r\n this.formThree$,\r\n ]).pipe(\r\n map(([formOne, formTwo, formThree]) => {\r\n this.combinedFormData = { formOne, formTwo, formThree };\r\n })\r\n )),\r\n (this.sub = this.combinedFormData$\r\n .pipe(\r\n pairwise(),\r\n distinctUntilChanged((x, y) => {\r\n return JSON.stringify(x) === JSON.stringify(y);\r\n })\r\n )\r\n .subscribe((x) => {\r\n if (x) {\r\n if (\r\n !x[0].formOne.value.isCurrentEmployerLastAusEmployer &&\r\n x[1].formOne.value.isCurrentEmployerLastAusEmployer\r\n ) {\r\n this.store.dispatch(\r\n new SetErrorsAction(\r\n x[1].formOne.controls.lastAusEmployerName.id,\r\n {}\r\n )\r\n );\r\n this.store.dispatch(\r\n new SetErrorsAction(\r\n x[1].formOne.controls.lastAusEmploymentDate.id,\r\n {}\r\n )\r\n );\r\n }\r\n }\r\n }));\r\n\r\n this.sub = this.model$.pipe(distinct()).subscribe(async (x) => {\r\n if (!x) {\r\n this.dispatch(\r\n this.store,\r\n RequestAction({ accountId: this.accountId, applicationId: this.id })\r\n );\r\n }\r\n\r\n if (x) {\r\n if (x.submissionData) {\r\n this.kiwiSaverDetailId =\r\n x.submissionData.accessYourSuperKiwiSaverDetailId;\r\n this.dispatch(\r\n this.store,\r\n SetKiwiSaverStepAction({ step: x.submissionData.kiwiSaverStep })\r\n );\r\n\r\n this.stepperData.push({\r\n title: 'Employment details',\r\n completed: x.submissionData.kiwiSaverStep > 1 ? true : false,\r\n stepIndex: 1,\r\n });\r\n this.stepperData.push({\r\n title: 'Addresses',\r\n completed: x.submissionData.kiwiSaverStep > 2 ? true : false,\r\n stepIndex: 2,\r\n });\r\n this.stepperData.push({\r\n title: 'KiwiSaver details',\r\n completed: false,\r\n stepIndex: 3,\r\n });\r\n }\r\n }\r\n });\r\n\r\n // Go next step when form has been successfully saved\r\n this.sub = this.savedFormData$.subscribe(async (x) => {\r\n if (x) {\r\n var currentStep = await this.helper.getValue(this.kiwiSaverStep$);\r\n if (currentStep !== 3) {\r\n this.dispatch(\r\n this.store,\r\n SetKiwiSaverStepAction({ step: currentStep + 1 })\r\n );\r\n } else {\r\n this.dispatch(\r\n this.store,\r\n SetCurrentStepAction({ nextStep: this.step })\r\n );\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n this.dispatch(this.store, ResetComponentStateAction());\r\n }\r\n\r\n exitForm() {\r\n this.router.navigate(['/access-your-super']);\r\n }\r\n\r\n async goNextStep() {\r\n var payload = null;\r\n var currentStep = await this.helper.getValue(this.kiwiSaverStep$);\r\n\r\n switch (currentStep) {\r\n case 1: {\r\n var formOne = await this.helper.getValue(this.formOne$);\r\n if (formOne.isTouched) {\r\n payload = {\r\n accessYourSuperApplicationId: this.id,\r\n accessYourSuperKiwiSaverDetailId: this.kiwiSaverDetailId,\r\n currentEmployerName: formOne.value.currentEmployerName,\r\n lastAusEmployerName: formOne.value.isCurrentEmployerLastAusEmployer\r\n ? null\r\n : formOne.value.lastAusEmployerName,\r\n lastAusEmploymentDate: !formOne.value.lastAusEmploymentDate\r\n ? null\r\n : new Date(formOne.value.lastAusEmploymentDate),\r\n isEmployerConfirmationRequested: formOne.value\r\n .isEmployerConfirmationRequired\r\n ? formOne.value.isEmployerConfirmationRequested\r\n : null,\r\n kiwiSaverStep: 1,\r\n } as AccessYourSuperKiwiSaverDetailSubmissionModel;\r\n this.dispatch(\r\n this.store,\r\n SaveFormDataAction({ accountId: this.accountId, payload: payload })\r\n );\r\n } else {\r\n this.dispatch(\r\n this.store,\r\n SetKiwiSaverStepAction({ step: currentStep + 1 })\r\n );\r\n }\r\n break;\r\n }\r\n case 2: {\r\n var formTwo = await this.helper.getValue(this.formTwo$);\r\n if (\r\n formTwo.controls.lastAusResidentialAddress.isTouched ||\r\n formTwo.controls.nzResidentialAddress.isTouched\r\n ) {\r\n payload = {\r\n accessYourSuperApplicationId: this.id,\r\n accessYourSuperKiwiSaverDetailId: this.kiwiSaverDetailId,\r\n lastAusResidentialAddress: formTwo.value.lastAusResidentialAddress,\r\n nzResidentialAddress: formTwo.value.nzResidentialAddress,\r\n kiwiSaverStep: 2,\r\n } as AccessYourSuperKiwiSaverDetailSubmissionModel;\r\n this.dispatch(\r\n this.store,\r\n SaveFormDataAction({ accountId: this.accountId, payload: payload })\r\n );\r\n } else {\r\n this.dispatch(\r\n this.store,\r\n SetKiwiSaverStepAction({ step: currentStep + 1 })\r\n );\r\n }\r\n break;\r\n }\r\n case 3: {\r\n var formThree = await this.helper.getValue(this.formThree$);\r\n if (\r\n formThree.isTouched ||\r\n formThree.controls.schemePostalAddress.isTouched\r\n ) {\r\n payload = {\r\n accessYourSuperApplicationId: this.id,\r\n accessYourSuperKiwiSaverDetailId: this.kiwiSaverDetailId,\r\n nzIrdNumber: formThree.value.nzIrdNumber,\r\n kiwiSaverSchemeName: formThree.value.kiwiSaverSchemeName,\r\n kiwiSaverSchemeRegistrationNumber:\r\n formThree.value.kiwiSaverSchemeRegistrationNumber,\r\n kiwiSaverSchemeAccountNumber:\r\n formThree.value.kiwiSaverSchemeAccountNumber,\r\n schemePostalAddress: formThree.value.schemePostalAddress,\r\n kiwiSaverStep: 3,\r\n } as AccessYourSuperKiwiSaverDetailSubmissionModel;\r\n this.dispatch(\r\n this.store,\r\n SaveFormDataAction({ accountId: this.accountId, payload: payload })\r\n );\r\n } else {\r\n this.dispatch(\r\n this.store,\r\n SetCurrentStepAction({ nextStep: this.step })\r\n );\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n\r\n async goBack() {\r\n var currentStep = await this.helper.getValue(this.kiwiSaverStep$);\r\n if (currentStep === 1) {\r\n this.dispatch(\r\n this.store,\r\n SetCurrentStepAction({ nextStep: this.previousStep })\r\n );\r\n } else {\r\n this.dispatch(\r\n this.store,\r\n SetKiwiSaverStepAction({ step: currentStep - 1 })\r\n );\r\n }\r\n }\r\n\r\n onStepperSelectionChange(titles: any[], event: any) {\r\n this.dispatch(\r\n this.store,\r\n SetKiwiSaverStepAction({ step: event.selectedIndex + 1 })\r\n );\r\n }\r\n}\r\n","
\r\n

Transfer to KiwiSaver

\r\n
\r\n
\r\n
\r\n
991, 'w-100': screenWidth<992}\">\r\n
{{model.formLabels.currentEmployerName}}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{model.formLabels.lastAusEmployerConfirmation}}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
991, 'w-100': screenWidth<992}\">\r\n
{{model.formLabels.lastAusEmployer}}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{model.formLabels.lastAusEmploymentDate}}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
{{model.formLabels.employerConfirmationInput}}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{model.formLabels.lastAusAddress}}
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
{{model.formLabels.nzAddress}}
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
991, 'w-100': screenWidth<992}\">\r\n
{{model.formLabels.irdNumber}}
\r\n
\r\n \r\n
\r\n
\r\n
991, 'w-100': screenWidth<992}\">\r\n
{{model.formLabels.kiwisaverSchemeName}}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
991, 'w-100': screenWidth<992}\">\r\n
{{model.formLabels.registrationNumber}}
\r\n
\r\n \r\n
\r\n
\r\n
991, 'w-100': screenWidth<992}\">\r\n
{{model.formLabels.schemeAccountNumber}}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
{{model.formLabels.schemeAddress}}
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
991, 'd-none': screenWidth<992}\">\r\n \r\n
\r\n\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex flex-wrap mt-4\">\r\n
\r\n \r\n
\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex\">\r\n 767, 'mt-1': screenWidth<768}\"\r\n class=\"flex-fill {{'BTN.access-your-super.back.class' | translate}}\" title=\"Back\"\r\n icon=\"{{'BTN.access-your-super.back.icon' | translate}}\" [isDisabled]=\"isSubmitting\"\r\n color=\"{{'BTN.access-your-super.back.color' | translate}}\" (onClick)=\"goBack()\">\r\n 767, 'mt-1': screenWidth<768}\" class=\"flex-fill\"\r\n title=\"Next\" icon=\"{{'BTN.access-your-super.continue.icon' | translate}}\"\r\n color=\"{{'BTN.access-your-super.continue.color' | translate}}\" [isDisabled]=\"(combinedFormData.formOne.isInvalid && (kiwiSaverStep$ | async) === 1) ||\r\n (combinedFormData.formTwo.isInvalid && (kiwiSaverStep$ | async) === 2) ||\r\n (combinedFormData.formThree.isInvalid && (kiwiSaverStep$ | async) === 3) || isSubmitting\" loading\r\n (onClick)=\"goNextStep()\">\r\n
\r\n
\r\n
\r\n
","import { createFeatureSelector, createSelector } from \"@ngrx/store\";\r\nimport { featureKey } from \"../../../store/shared.reducers\";\r\nimport { MemberPortalSharedState } from \"../../../store/shared.states\";\r\nimport { IAccessYourSuperPensionCommutationsComponentState } from \"./state\";\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const getAccessYourSuperPensionCommutationsState = createSelector(memberPortalState, (state) => state.accessYourSuperPensionCommutationsComponentState);\r\n\r\nexport const accessYourSuperPensionCommutations_Model = createSelector(\r\n getAccessYourSuperPensionCommutationsState,\r\n (state: IAccessYourSuperPensionCommutationsComponentState) => state.model\r\n);\r\n\r\nexport const accessYourSuperPensionCommutations_Form = createSelector(\r\n getAccessYourSuperPensionCommutationsState,\r\n (state: IAccessYourSuperPensionCommutationsComponentState) => state.form\r\n)\r\n\r\nexport const accessYourSuperPensionCommutations_FullAmountRadioOptions = createSelector(\r\n getAccessYourSuperPensionCommutationsState,\r\n (state: IAccessYourSuperPensionCommutationsComponentState) => state.fullAmountRadioOptions\r\n)\r\n\r\nexport const accessYourSuperPensionCommutations_TaxOptions = createSelector(\r\n getAccessYourSuperPensionCommutationsState,\r\n (state: IAccessYourSuperPensionCommutationsComponentState) => state.taxOptions\r\n)\r\n\r\nexport const accessYourSuperPensionCommutations_CurrentTotalPercent = createSelector(\r\n getAccessYourSuperPensionCommutationsState,\r\n (state: IAccessYourSuperPensionCommutationsComponentState) => state.form.value.investmentOptionDrawdown.reduce((a, b) => a + b.percentage, 0)\r\n);\r\n\r\nexport const accessYourSuperPensionCommutations_SavedFormData = createSelector(\r\n getAccessYourSuperPensionCommutationsState,\r\n (state: IAccessYourSuperPensionCommutationsComponentState) => state.savedFormData\r\n)","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n AppButtonComponent,\r\n EntryFieldDropdownComponent,\r\n EntryFieldRadioComponent,\r\n Helper,\r\n KeyValueModel,\r\n NumberEntryFieldComponent,\r\n} from '@ifaa-components/ui-components';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { NgrxFormsModule, SetErrorsAction, SetValueAction } from 'ngrx-forms';\r\nimport { distinct, distinctUntilChanged, pairwise } from 'rxjs/operators';\r\nimport { AccessYourSuperPaymentTypeEnum } from 'src/app/enums/access-your-super-payment-type.enum';\r\nimport { AccessYourSuperPaymentDetailSubmissionModel } from 'src/app/model/access-your-super-custom-sections.model';\r\nimport { AvailableAccountBalanceModel } from 'src/app/model/available-account-balance.model';\r\nimport { InvestmentItemModel } from 'src/app/model/investment-item.model';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { SetCurrentStepAction } from '../../access-your-super-form/actions';\r\nimport {\r\n RequestAction,\r\n ResetComponentStateAction,\r\n SaveFormDataAction,\r\n SetFullAmountRadioOptionsAction,\r\n SetTaxOptionsAction,\r\n} from './actions';\r\nimport {\r\n accessYourSuperPensionCommutations_CurrentTotalPercent,\r\n accessYourSuperPensionCommutations_Form,\r\n accessYourSuperPensionCommutations_FullAmountRadioOptions,\r\n accessYourSuperPensionCommutations_Model,\r\n accessYourSuperPensionCommutations_SavedFormData,\r\n accessYourSuperPensionCommutations_TaxOptions,\r\n} from './selectors';\r\nimport { AccountModel } from 'src/app/model/account.model';\r\nimport { NgIf, AsyncPipe, NgClass } from '@angular/common';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MatTooltip } from '@angular/material/tooltip';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { AnimateCssDirective } from '../../../directives/animatecss.directive';\r\nimport { AppRadioDirective } from '../../../directives/app-radio.directive';\r\nimport { AppButtonDirective } from '../../../directives/appbutton.directive';\r\nimport { InputScrollDirective } from '../../../directives/input-scroll.directive';\r\nimport { AccessYourSuperDrawdownComponent } from '../access-your-super-drawdown/access-your-super-drawdown.component';\r\n\r\n@Component({\r\n selector: 'app-access-your-super-pension-commutations',\r\n templateUrl: './access-your-super-pension-commutations.component.html',\r\n styleUrls: ['./access-your-super-pension-commutations.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n NgrxFormsModule,\r\n EntryFieldRadioComponent,\r\n AppRadioDirective,\r\n NumberEntryFieldComponent,\r\n InputScrollDirective,\r\n AnimateCssDirective,\r\n EntryFieldDropdownComponent,\r\n MatIcon,\r\n MatTooltip,\r\n AccessYourSuperDrawdownComponent,\r\n NgClass,\r\n AppButtonComponent,\r\n AppButtonDirective,\r\n TranslatePipe,\r\n ],\r\n})\r\nexport class AccessYourSuperPensionCommutationsComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n @Input() set nextStep(value: number) {\r\n this.step = value;\r\n }\r\n @Input() set applicationId(value: number) {\r\n this.id = value;\r\n }\r\n @Input() set backStep(value: number) {\r\n this.previousStep = value;\r\n }\r\n @Input() set accountData(value: AccountModel) {\r\n this.account = value;\r\n }\r\n @Input() set data(value: AvailableAccountBalanceModel) {\r\n this.accountBalance = value;\r\n }\r\n @Input() set typeId(value: number) {\r\n this.applicationTypeId = value;\r\n }\r\n @Input() set canGoBack(value: boolean) {\r\n this.showBackButton = value;\r\n }\r\n @Input() set submitting(value: boolean) {\r\n this.isSubmitting = value;\r\n }\r\n\r\n model$ = this.store.pipe(select(accessYourSuperPensionCommutations_Model));\r\n form$ = this.store.pipe(select(accessYourSuperPensionCommutations_Form));\r\n fullAmountRadioOptions$ = this.store.pipe(\r\n select(accessYourSuperPensionCommutations_FullAmountRadioOptions)\r\n );\r\n taxOptions$ = this.store.pipe(\r\n select(accessYourSuperPensionCommutations_TaxOptions)\r\n );\r\n currentTotalPercent$ = this.store.pipe(\r\n select(accessYourSuperPensionCommutations_CurrentTotalPercent)\r\n );\r\n savedFormData$ = this.store.pipe(\r\n select(accessYourSuperPensionCommutations_SavedFormData)\r\n );\r\n\r\n step: number = null;\r\n previousStep: number = null;\r\n id: number = null;\r\n applicationTypeId: number = null;\r\n investmentOptions: InvestmentItemModel[];\r\n paymentDetailId: number = null;\r\n account: AccountModel = null;\r\n accountBalance: AvailableAccountBalanceModel = null;\r\n increaseHeightForError: boolean = false;\r\n isSubmitting: boolean = false;\r\n showBackButton: boolean = false;\r\n\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n async ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.sub = this.model$.pipe(distinct()).subscribe(async (x) => {\r\n if (!x) {\r\n this.dispatch(\r\n this.store,\r\n RequestAction({\r\n accountId: this.account?.accountId,\r\n applicationId: this.id,\r\n applicationTypeId: this.applicationTypeId,\r\n })\r\n );\r\n }\r\n\r\n if (x) {\r\n // set full amount radio options\r\n var fullAmountRadioOptions = [] as KeyValueModel[];\r\n fullAmountRadioOptions.push({\r\n key: 0,\r\n value: x.formLabels.fullAmountOptionOne,\r\n });\r\n this.dispatch(\r\n this.store,\r\n SetFullAmountRadioOptionsAction({ payload: fullAmountRadioOptions })\r\n );\r\n\r\n // set tax options\r\n var taxOptions = [] as KeyValueModel[];\r\n taxOptions.push({ key: true, value: x.formLabels.beforeTax });\r\n taxOptions.push({ key: false, value: x.formLabels.afterTax });\r\n this.dispatch(this.store, SetTaxOptionsAction({ payload: taxOptions }));\r\n\r\n var investmentOptions = Object.assign([], x.currentInvestmentMix);\r\n\r\n var helper = new Helper();\r\n var form = await helper.getValue(this.form$);\r\n\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.unrestrictedNonPreservedAmount.id,\r\n this.accountBalance.unrestrictedNonPreserved\r\n )\r\n );\r\n this.store.dispatch(\r\n new SetValueAction(form.controls.isTtr.id, this.account.isTtrType)\r\n );\r\n\r\n // update form values if we are updating an existing application\r\n if (x.submissionData) {\r\n this.paymentDetailId =\r\n x.submissionData.accessYourSuperPaymentDetailId;\r\n\r\n if (\r\n x.submissionData.paymentTypeId !==\r\n AccessYourSuperPaymentTypeEnum.PartialAmount\r\n ) {\r\n this.store.dispatch(\r\n new SetValueAction(form.controls.paymentType.id, 0)\r\n );\r\n this.store.dispatch(\r\n new SetValueAction(form.controls.fullAmountSelection.id, 0)\r\n );\r\n } else {\r\n this.store.dispatch(\r\n new SetValueAction(form.controls.paymentType.id, 1)\r\n );\r\n }\r\n\r\n x.submissionData.benefitAmount\r\n ? this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.partialAmountSpecified.id,\r\n x.submissionData.benefitAmount\r\n )\r\n )\r\n : null;\r\n\r\n x.submissionData.isBeforeTax === true ||\r\n x.submissionData.isBeforeTax === false\r\n ? this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.isBeforeTax.id,\r\n x.submissionData.isBeforeTax\r\n )\r\n )\r\n : null;\r\n\r\n x.submissionData.isPermanentlyRetired === true ||\r\n x.submissionData.isPermanentlyRetired === false\r\n ? this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.isPermanentlyRetired.id,\r\n x.submissionData.isPermanentlyRetired\r\n )\r\n )\r\n : null;\r\n\r\n x.submissionData.partialWithdrawalInvestmentSelection === true ||\r\n x.submissionData.partialWithdrawalInvestmentSelection === false\r\n ? this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.partialWithdrawalSelection.id,\r\n x.submissionData.partialWithdrawalInvestmentSelection\r\n )\r\n )\r\n : null;\r\n\r\n // update the investmentOptions in form state if the member saved a custom drawdown\r\n if (x.submissionData.partialWithdrawalInvestmentSelection) {\r\n // if we have any specified investment options saved that are not in the current investment mix, we need to discard all of those that were saved\r\n var drawdownMatchesCurrentInvestmentMix = true;\r\n\r\n x.submissionData.investmentDrawdown.forEach((drawDown) => {\r\n var investmentOptionIndex = investmentOptions.findIndex(\r\n (o) => o.optionId === drawDown.optionId\r\n );\r\n\r\n // if we dont get an investmentOption, set the flag to false. Otherwise update the investmentOptions array with the saved percentage\r\n if (investmentOptionIndex === -1)\r\n drawdownMatchesCurrentInvestmentMix = false;\r\n else {\r\n investmentOptions[investmentOptionIndex] = {\r\n ...investmentOptions[investmentOptionIndex],\r\n percentage: drawDown.percentage,\r\n };\r\n }\r\n });\r\n\r\n // if our current investment mix matches the saved options, update the form value with the updated investmentOptions array\r\n // if it doesnt match, update the form value with the members current investment mix so they will have to reselect an investment drawdown\r\n if (drawdownMatchesCurrentInvestmentMix) {\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.investmentOptionDrawdown.id,\r\n investmentOptions\r\n )\r\n );\r\n } else {\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.investmentOptionDrawdown.id,\r\n x.currentInvestmentMix\r\n )\r\n );\r\n }\r\n }\r\n // if they didn't specify a custom drawdown, set the options with their investment mix\r\n else {\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.investmentOptionDrawdown.id,\r\n investmentOptions\r\n )\r\n );\r\n }\r\n } else {\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.investmentOptionDrawdown.id,\r\n investmentOptions\r\n )\r\n );\r\n }\r\n }\r\n });\r\n\r\n this.sub = this.form$\r\n .pipe(\r\n pairwise(),\r\n distinctUntilChanged((x, y) => {\r\n // check if text box value is NaN to avoid infinite loop..\r\n if (Number.isNaN(y[1].value.partialAmountSpecified)) return true;\r\n\r\n if (\r\n x[1].value.paymentType !== y[1].value.paymentType ||\r\n x[1].value.fullAmountSelection !== y[1].value.fullAmountSelection ||\r\n x[1].value.investmentOptionDrawdown !==\r\n y[1].value.investmentOptionDrawdown ||\r\n x[1].value.partialAmountSpecified !==\r\n y[1].value.partialAmountSpecified ||\r\n x[1].value.partialWithdrawalSelection !==\r\n y[1].value.partialWithdrawalSelection ||\r\n x[1].value.isPermanentlyRetired !== y[1].value.isPermanentlyRetired\r\n )\r\n return false;\r\n\r\n return true;\r\n })\r\n )\r\n .subscribe((form) => {\r\n if (form) {\r\n if (form[1].value.paymentType === 1) {\r\n // if account is not ttr, or if it is ttr and they are perm retired, amount needs to be less than total balance\r\n if (form[1].value.isTtr && !form[1].value.isPermanentlyRetired) {\r\n if (\r\n form[1].value.unrestrictedNonPreservedAmount === 0 &&\r\n form[1].value.partialAmountSpecified > 0\r\n ) {\r\n this.increaseHeightForError = true;\r\n }\r\n // Reset height for error label\r\n else if (this.increaseHeightForError) {\r\n this.increaseHeightForError = false;\r\n }\r\n }\r\n // Reset height for error label\r\n else if (this.increaseHeightForError) {\r\n this.increaseHeightForError = false;\r\n }\r\n }\r\n // Reset height for error label\r\n else if (this.increaseHeightForError) {\r\n this.increaseHeightForError = false;\r\n }\r\n\r\n // If user has swapped from partial amount back to full amount, reset all form validations\r\n if (\r\n form[0].value.paymentType === 1 &&\r\n form[1].value.paymentType === 0\r\n ) {\r\n this.store.dispatch(\r\n new SetErrorsAction(form[1].controls.isBeforeTax.id, {})\r\n );\r\n this.store.dispatch(\r\n new SetErrorsAction(\r\n form[1].controls.partialAmountSpecified.id,\r\n {}\r\n )\r\n );\r\n this.store.dispatch(\r\n new SetErrorsAction(\r\n form[1].controls.investmentOptionDrawdown.id,\r\n {}\r\n )\r\n );\r\n }\r\n\r\n // Reset validation if user swaps from custom selection to auto selection of investment dropdown\r\n if (\r\n form[0].value.partialWithdrawalSelection !==\r\n form[1].value.partialWithdrawalSelection\r\n ) {\r\n this.store.dispatch(\r\n new SetErrorsAction(\r\n form[1].controls.investmentOptionDrawdown.id,\r\n {}\r\n )\r\n );\r\n }\r\n\r\n if (\r\n form[1].value.paymentType === 1 &&\r\n form[1].value.partialWithdrawalSelection\r\n ) {\r\n var drawdownTotal = 0;\r\n var calculatedAmountHigherThanBalance = false;\r\n\r\n form[1].value.investmentOptionDrawdown.forEach(\r\n (investmentOption, index) => {\r\n drawdownTotal += investmentOption.percentage;\r\n if (!calculatedAmountHigherThanBalance) {\r\n calculatedAmountHigherThanBalance =\r\n investmentOption.amount <\r\n form[1].value.partialAmountSpecified *\r\n (investmentOption.percentage / 100);\r\n }\r\n }\r\n );\r\n\r\n // If drawdownTotal is 100, remove error. If it is not 100, set validation error\r\n if (drawdownTotal === 100 && !calculatedAmountHigherThanBalance) {\r\n this.store.dispatch(\r\n new SetErrorsAction(\r\n form[1].controls.investmentOptionDrawdown.id,\r\n {}\r\n )\r\n );\r\n } else {\r\n var errors = {};\r\n\r\n if (drawdownTotal !== 100) {\r\n errors['percentageTotal'] = 'Total must be 100.';\r\n }\r\n\r\n if (calculatedAmountHigherThanBalance) {\r\n errors['calculatedTotal'] =\r\n 'A calculated amount cannot be higher than the investment accounts balance.';\r\n }\r\n this.store.dispatch(\r\n new SetErrorsAction(\r\n form[1].controls.investmentOptionDrawdown.id,\r\n errors\r\n )\r\n );\r\n }\r\n }\r\n }\r\n });\r\n\r\n // Go next step when form has been successfully saved\r\n this.sub = this.savedFormData$.subscribe((x) => {\r\n if (x) {\r\n this.dispatch(\r\n this.store,\r\n SetCurrentStepAction({ nextStep: this.step })\r\n );\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n this.dispatch(this.store, ResetComponentStateAction());\r\n }\r\n\r\n exitForm() {\r\n this.router.navigate(['/access-your-super']);\r\n }\r\n\r\n async goNextStep() {\r\n var helper = new Helper();\r\n var form = await helper.getValue(this.form$);\r\n\r\n var paymentTypeId =\r\n form.value.paymentType === 0\r\n ? AccessYourSuperPaymentTypeEnum.FullPensionLumpSumBenefitCloseAccount\r\n : AccessYourSuperPaymentTypeEnum.PartialAmount;\r\n\r\n var investmentDrawdown = form.value.investmentOptionDrawdown.map(\r\n (investmentOption) =>\r\n ({\r\n optionId: investmentOption.optionId,\r\n option: investmentOption.option,\r\n amount: investmentOption.amount,\r\n percentage: investmentOption.percentage,\r\n } as InvestmentItemModel)\r\n );\r\n\r\n var payload = {\r\n accessYourSuperPaymentDetailId: this.paymentDetailId,\r\n accessYourSuperApplicationId: this.id,\r\n paymentTypeId: paymentTypeId,\r\n benefitAmount:\r\n paymentTypeId === AccessYourSuperPaymentTypeEnum.PartialAmount\r\n ? form.value.partialAmountSpecified\r\n : null,\r\n isBeforeTax:\r\n paymentTypeId === AccessYourSuperPaymentTypeEnum.PartialAmount\r\n ? form.value.isBeforeTax\r\n : null,\r\n isPermanentlyRetired: form.value.isPermanentlyRetired,\r\n partialWithdrawalInvestmentSelection:\r\n paymentTypeId === AccessYourSuperPaymentTypeEnum.PartialAmount\r\n ? form.value.partialWithdrawalSelection\r\n : null,\r\n investmentDrawdown:\r\n paymentTypeId === AccessYourSuperPaymentTypeEnum.PartialAmount &&\r\n form.value.partialWithdrawalSelection\r\n ? investmentDrawdown\r\n : null,\r\n } as AccessYourSuperPaymentDetailSubmissionModel;\r\n\r\n this.dispatch(\r\n this.store,\r\n SaveFormDataAction({\r\n accountId: this.account?.accountId,\r\n payload: payload,\r\n })\r\n );\r\n }\r\n\r\n goBack() {\r\n this.dispatch(\r\n this.store,\r\n SetCurrentStepAction({ nextStep: this.previousStep })\r\n );\r\n }\r\n}\r\n","
\r\n

Pension Commutations

\r\n
\r\n
\r\n
\r\n
\r\n
{{model.formLabels.paymentType}}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{model.formLabels.benefitAmount}}\r\n help_outline\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{model.formLabels.permanentlyRetired}}\r\n help_outline\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{model.formLabels.investmentOptionChoice}}\r\n help_outline\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{model.formLabels.provideInvestmentOption}}\r\n
\r\n \r\n
\r\n

Warning: If your pension was commenced prior\r\n to 1 January 2015, and you were in receipt of a social security pension, any commutation made may affect\r\n the income testing of your benefit.

\r\n
\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex flex-wrap mt-4\">\r\n
\r\n \r\n
\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex\">\r\n 767, 'mt-1': screenWidth<768}\"\r\n class=\"flex-fill {{'BTN.access-your-super.back.class' | translate}}\" title=\"Back\"\r\n icon=\"{{'BTN.access-your-super.back.icon' | translate}}\"\r\n color=\"{{'BTN.access-your-super.back.color' | translate}}\" (onClick)=\"goBack()\"\r\n [isDisabled]=\"isSubmitting\">\r\n 767, 'mt-1': screenWidth<768}\" class=\"flex-fill\"\r\n title=\"Next\" icon=\"{{'BTN.access-your-super.continue.icon' | translate}}\"\r\n color=\"{{'BTN.access-your-super.continue.color' | translate}}\"\r\n [isDisabled]=\"form.isInvalid || isSubmitting\" loading (onClick)=\"goNextStep()\">\r\n
\r\n
\r\n
\r\n
","import { createFeatureSelector, createSelector } from \"@ngrx/store\";\r\nimport { featureKey } from \"../../../store/shared.reducers\";\r\nimport { MemberPortalSharedState } from \"../../../store/shared.states\";\r\nimport { IAccessYourSuperPermanentRetirementPreservationComponentState } from \"./state\";\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const getAccessYourSuperPermanentRetirementPreservationState = createSelector(memberPortalState, (state) => state.accessYourSuperPermanentRetirementPreservationComponentState);\r\n\r\nexport const accessYourSuperPermanentRetirementPreservation_Model = createSelector(\r\n getAccessYourSuperPermanentRetirementPreservationState,\r\n (state: IAccessYourSuperPermanentRetirementPreservationComponentState) => state.model\r\n);\r\n\r\nexport const accessYourSuperPermanentRetirementPreservation_Form = createSelector(\r\n getAccessYourSuperPermanentRetirementPreservationState,\r\n (state: IAccessYourSuperPermanentRetirementPreservationComponentState) => state.form\r\n)\r\n\r\nexport const accessYourSuperPermanentRetirementPreservation_FullAmountRadioOptions = createSelector(\r\n getAccessYourSuperPermanentRetirementPreservationState,\r\n (state: IAccessYourSuperPermanentRetirementPreservationComponentState) => state.fullAmountRadioOptions\r\n)\r\n\r\nexport const accessYourSuperPermanentRetirementPreservation_CurrentTotalPercent = createSelector(\r\n getAccessYourSuperPermanentRetirementPreservationState,\r\n (state: IAccessYourSuperPermanentRetirementPreservationComponentState) => state.form.value.investmentOptionDrawdown.reduce((a, b) => a + b.percentage, 0)\r\n);\r\n\r\nexport const accessYourSuperPermanentRetirementPreservation_SavedFormData = createSelector(\r\n getAccessYourSuperPermanentRetirementPreservationState,\r\n (state: IAccessYourSuperPermanentRetirementPreservationComponentState) => state.savedFormData\r\n)","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n AppButtonComponent,\r\n EntryFieldRadioComponent,\r\n Helper,\r\n KeyValueModel,\r\n NumberEntryFieldComponent,\r\n} from '@ifaa-components/ui-components';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { NgrxFormsModule, SetErrorsAction, SetValueAction } from 'ngrx-forms';\r\nimport { distinct, distinctUntilChanged, pairwise } from 'rxjs/operators';\r\nimport { AccessYourSuperPaymentTypeEnum } from 'src/app/enums/access-your-super-payment-type.enum';\r\nimport { AccessYourSuperPaymentDetailSubmissionModel } from 'src/app/model/access-your-super-custom-sections.model';\r\nimport { InvestmentItemModel } from 'src/app/model/investment-item.model';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { SetCurrentStepAction } from '../../access-your-super-form/actions';\r\nimport {\r\n RequestAction,\r\n ResetComponentStateAction,\r\n SaveFormDataAction,\r\n SetFullAmountRadioOptionsAction,\r\n} from './actions';\r\nimport {\r\n accessYourSuperPermanentRetirementPreservation_CurrentTotalPercent,\r\n accessYourSuperPermanentRetirementPreservation_Form,\r\n accessYourSuperPermanentRetirementPreservation_FullAmountRadioOptions,\r\n accessYourSuperPermanentRetirementPreservation_Model,\r\n accessYourSuperPermanentRetirementPreservation_SavedFormData,\r\n} from './selectors';\r\nimport { combineLatest } from 'rxjs';\r\nimport { FeatureToggleName } from 'src/app/model/feature-toggle-name.model';\r\nimport { commonState_SystemConfig_AccountFeatureToggles } from 'src/app/store/common/common.selectors';\r\nimport { memberAccountDropdown_SelectedAccount } from '../../member-account-dropdown/selectors';\r\nimport { FeatureToggleHelper } from 'src/app/helper/featureToggleHelper';\r\nimport { NgIf, AsyncPipe, NgClass } from '@angular/common';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MatTooltip } from '@angular/material/tooltip';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { AnimateCssDirective } from '../../../directives/animatecss.directive';\r\nimport { AppRadioDirective } from '../../../directives/app-radio.directive';\r\nimport { AppButtonDirective } from '../../../directives/appbutton.directive';\r\nimport { InputScrollDirective } from '../../../directives/input-scroll.directive';\r\nimport { AccessYourSuperDrawdownComponent } from '../access-your-super-drawdown/access-your-super-drawdown.component';\r\n\r\n@Component({\r\n selector: 'app-access-your-super-permanent-retirement-preservation',\r\n templateUrl:\r\n './access-your-super-permanent-retirement-preservation.component.html',\r\n styleUrls: [\r\n './access-your-super-permanent-retirement-preservation.component.scss',\r\n ],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n NgrxFormsModule,\r\n EntryFieldRadioComponent,\r\n AppRadioDirective,\r\n InputScrollDirective,\r\n MatIcon,\r\n MatTooltip,\r\n NumberEntryFieldComponent,\r\n AnimateCssDirective,\r\n AccessYourSuperDrawdownComponent,\r\n NgClass,\r\n AppButtonComponent,\r\n AppButtonDirective,\r\n TranslatePipe,\r\n ],\r\n})\r\nexport class AccessYourSuperPermanentRetirementPreservationComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n @Input() set nextStep(value: number) {\r\n this.step = value;\r\n }\r\n @Input() set applicationId(value: number) {\r\n this.id = value;\r\n }\r\n @Input() set backStep(value: number) {\r\n this.previousStep = value;\r\n }\r\n @Input() set account(value: number) {\r\n this.accountId = value;\r\n }\r\n @Input() set typeId(value: number) {\r\n this.applicationTypeId = value;\r\n }\r\n @Input() set canGoBack(value: boolean) {\r\n this.showBackButton = value;\r\n }\r\n @Input() set submitting(value: boolean) {\r\n this.isSubmitting = value;\r\n }\r\n\r\n model$ = this.store.pipe(\r\n select(accessYourSuperPermanentRetirementPreservation_Model)\r\n );\r\n form$ = this.store.pipe(\r\n select(accessYourSuperPermanentRetirementPreservation_Form)\r\n );\r\n fullAmountRadioOptions$ = this.store.pipe(\r\n select(\r\n accessYourSuperPermanentRetirementPreservation_FullAmountRadioOptions\r\n )\r\n );\r\n currentTotalPercent$ = this.store.pipe(\r\n select(accessYourSuperPermanentRetirementPreservation_CurrentTotalPercent)\r\n );\r\n savedFormData$ = this.store.pipe(\r\n select(accessYourSuperPermanentRetirementPreservation_SavedFormData)\r\n );\r\n featureToggles$ = this.store.pipe(\r\n select(commonState_SystemConfig_AccountFeatureToggles)\r\n );\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n\r\n step: number = null;\r\n previousStep: number = null;\r\n id: number = null;\r\n applicationTypeId: number = null;\r\n investmentOptions: InvestmentItemModel[];\r\n paymentDetailId: number = null;\r\n accountId: number = null;\r\n showBenefitAmountTooltip: boolean = false;\r\n featureToggleHelper: FeatureToggleHelper = new FeatureToggleHelper();\r\n isSubmitting: boolean = false;\r\n showBackButton: boolean = false;\r\n\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n async ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.sub = combineLatest([\r\n this.selectedAccount$,\r\n this.featureToggles$,\r\n ]).subscribe((x) => {\r\n if (x[0] && x[1]) {\r\n this.showBenefitAmountTooltip = this.featureToggleHelper.checkToggle(\r\n FeatureToggleName.member.account.accessYourSuper.benefitAmountTooltip\r\n .view,\r\n x[1],\r\n x[0],\r\n true\r\n );\r\n }\r\n });\r\n\r\n this.sub = this.model$.pipe(distinct()).subscribe(async (x) => {\r\n if (!x) {\r\n this.dispatch(\r\n this.store,\r\n RequestAction({\r\n accountId: this.accountId,\r\n applicationId: this.id,\r\n applicationTypeId: this.applicationTypeId,\r\n })\r\n );\r\n }\r\n\r\n if (x) {\r\n // set full amount radio options\r\n var fullAmountRadioOptions = [] as KeyValueModel[];\r\n fullAmountRadioOptions.push({\r\n key: 0,\r\n value: x.formLabels.fullAmountOptionOne,\r\n });\r\n fullAmountRadioOptions.push({\r\n key: 1,\r\n value: x.formLabels.fullAmountOptionTwo,\r\n });\r\n this.dispatch(\r\n this.store,\r\n SetFullAmountRadioOptionsAction({ payload: fullAmountRadioOptions })\r\n );\r\n\r\n var investmentOptions = Object.assign([], x.currentInvestmentMix);\r\n\r\n var helper = new Helper();\r\n var form = await helper.getValue(this.form$);\r\n\r\n // update form values if we are updating an existing application\r\n if (x.submissionData) {\r\n this.paymentDetailId =\r\n x.submissionData.accessYourSuperPaymentDetailId;\r\n\r\n if (\r\n x.submissionData.paymentTypeId !==\r\n AccessYourSuperPaymentTypeEnum.PartialAmount\r\n ) {\r\n this.store.dispatch(\r\n new SetValueAction(form.controls.paymentType.id, 0)\r\n );\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.fullAmountSelection.id,\r\n x.submissionData.paymentTypeId - 1\r\n )\r\n );\r\n } else {\r\n this.store.dispatch(\r\n new SetValueAction(form.controls.paymentType.id, 1)\r\n );\r\n }\r\n\r\n x.submissionData.benefitAmount\r\n ? this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.partialAmountSpecified.id,\r\n x.submissionData.benefitAmount\r\n )\r\n )\r\n : null;\r\n\r\n x.submissionData.isPermanentlyRetired === true ||\r\n x.submissionData.isPermanentlyRetired === false\r\n ? this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.isPermanentlyRetired.id,\r\n x.submissionData.isPermanentlyRetired\r\n )\r\n )\r\n : null;\r\n\r\n x.submissionData.partialWithdrawalInvestmentSelection === true ||\r\n x.submissionData.partialWithdrawalInvestmentSelection === false\r\n ? this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.partialWithdrawalSelection.id,\r\n x.submissionData.partialWithdrawalInvestmentSelection\r\n )\r\n )\r\n : null;\r\n\r\n // update the investmentOptions in form state if the member saved a custom drawdown\r\n if (x.submissionData.partialWithdrawalInvestmentSelection) {\r\n // if we have any specified investment options saved that are not in the current investment mix, we need to discard all of those that were saved\r\n var drawdownMatchesCurrentInvestmentMix = true;\r\n\r\n x.submissionData.investmentDrawdown.forEach((drawDown) => {\r\n var investmentOptionIndex = investmentOptions.findIndex(\r\n (o) => o.optionId === drawDown.optionId\r\n );\r\n\r\n // if we dont get an investmentOption, set the flag to false. Otherwise update the investmentOptions array with the saved percentage\r\n if (investmentOptionIndex === -1)\r\n drawdownMatchesCurrentInvestmentMix = false;\r\n else {\r\n investmentOptions[investmentOptionIndex] = {\r\n ...investmentOptions[investmentOptionIndex],\r\n percentage: drawDown.percentage,\r\n };\r\n }\r\n });\r\n\r\n // if our current investment mix matches the saved options, update the form value with the updated investmentOptions array\r\n // if it doesnt match, update the form value with the members current investment mix so they will have to reselect an investment drawdown\r\n if (drawdownMatchesCurrentInvestmentMix) {\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.investmentOptionDrawdown.id,\r\n investmentOptions\r\n )\r\n );\r\n } else {\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.investmentOptionDrawdown.id,\r\n x.currentInvestmentMix\r\n )\r\n );\r\n }\r\n }\r\n // if they didn't specify a custom drawdown, set the options with their investment mix\r\n else {\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.investmentOptionDrawdown.id,\r\n investmentOptions\r\n )\r\n );\r\n }\r\n } else {\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.investmentOptionDrawdown.id,\r\n investmentOptions\r\n )\r\n );\r\n }\r\n }\r\n });\r\n\r\n this.sub = this.form$\r\n .pipe(\r\n pairwise(),\r\n distinctUntilChanged((x, y) => {\r\n // check if text box value is NaN to avoid infinite loop..\r\n if (Number.isNaN(y[1].value.partialAmountSpecified)) return true;\r\n\r\n if (\r\n x[1].value.paymentType !== y[1].value.paymentType ||\r\n x[1].value.fullAmountSelection !== y[1].value.fullAmountSelection ||\r\n x[1].value.investmentOptionDrawdown !==\r\n y[1].value.investmentOptionDrawdown ||\r\n x[1].value.partialAmountSpecified !==\r\n y[1].value.partialAmountSpecified ||\r\n x[1].value.partialWithdrawalSelection !==\r\n y[1].value.partialWithdrawalSelection\r\n )\r\n return false;\r\n\r\n return true;\r\n })\r\n )\r\n .subscribe((form) => {\r\n if (form) {\r\n // If user has swapped from partial amount back to full amount, reset all form validations\r\n if (\r\n form[0].value.paymentType === 1 &&\r\n form[1].value.paymentType === 0\r\n ) {\r\n this.store.dispatch(\r\n new SetErrorsAction(\r\n form[1].controls.partialAmountSpecified.id,\r\n {}\r\n )\r\n );\r\n this.store.dispatch(\r\n new SetErrorsAction(\r\n form[1].controls.investmentOptionDrawdown.id,\r\n {}\r\n )\r\n );\r\n }\r\n\r\n // Reset validation if user swaps from custom selection to auto selection of investment dropdown\r\n if (\r\n form[0].value.partialWithdrawalSelection !==\r\n form[1].value.partialWithdrawalSelection\r\n ) {\r\n this.store.dispatch(\r\n new SetErrorsAction(\r\n form[1].controls.investmentOptionDrawdown.id,\r\n {}\r\n )\r\n );\r\n }\r\n\r\n if (\r\n form[1].value.paymentType === 1 &&\r\n form[1].value.partialWithdrawalSelection\r\n ) {\r\n var drawdownTotal = 0;\r\n var calculatedAmountHigherThanBalance = false;\r\n\r\n form[1].value.investmentOptionDrawdown.forEach(\r\n (investmentOption, index) => {\r\n drawdownTotal += investmentOption.percentage;\r\n if (!calculatedAmountHigherThanBalance) {\r\n calculatedAmountHigherThanBalance =\r\n investmentOption.amount <\r\n form[1].value.partialAmountSpecified *\r\n (investmentOption.percentage / 100);\r\n }\r\n }\r\n );\r\n\r\n // If drawdownTotal is 100, remove error. If it is not 100, set validation error\r\n if (drawdownTotal === 100 && !calculatedAmountHigherThanBalance) {\r\n this.store.dispatch(\r\n new SetErrorsAction(\r\n form[1].controls.investmentOptionDrawdown.id,\r\n {}\r\n )\r\n );\r\n } else {\r\n var errors = {};\r\n\r\n if (drawdownTotal !== 100) {\r\n errors['percentageTotal'] = 'Total must be 100.';\r\n }\r\n\r\n if (calculatedAmountHigherThanBalance) {\r\n errors['calculatedTotal'] =\r\n 'A calculated amount cannot be higher than the investment accounts balance.';\r\n }\r\n this.store.dispatch(\r\n new SetErrorsAction(\r\n form[1].controls.investmentOptionDrawdown.id,\r\n errors\r\n )\r\n );\r\n }\r\n }\r\n }\r\n });\r\n\r\n // Go next step when form has been successfully saved\r\n this.sub = this.savedFormData$.subscribe((x) => {\r\n if (x) {\r\n this.dispatch(\r\n this.store,\r\n SetCurrentStepAction({ nextStep: this.step })\r\n );\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n this.dispatch(this.store, ResetComponentStateAction());\r\n }\r\n\r\n exitForm() {\r\n this.router.navigate(['/access-your-super']);\r\n }\r\n\r\n async goNextStep() {\r\n var helper = new Helper();\r\n var form = await helper.getValue(this.form$);\r\n\r\n var paymentTypeId =\r\n form.value.paymentType === 0 && form.value.fullAmountSelection === 0\r\n ? AccessYourSuperPaymentTypeEnum.FullAmountCloseAccount\r\n : form.value.paymentType === 0 && form.value.fullAmountSelection === 1\r\n ? AccessYourSuperPaymentTypeEnum.FullAmountKeepAccountOpen\r\n : AccessYourSuperPaymentTypeEnum.PartialAmount;\r\n\r\n var investmentDrawdown = form.value.investmentOptionDrawdown.map(\r\n (investmentOption) =>\r\n ({\r\n optionId: investmentOption.optionId,\r\n option: investmentOption.option,\r\n amount: investmentOption.amount,\r\n percentage: investmentOption.percentage,\r\n } as InvestmentItemModel)\r\n );\r\n\r\n var payload = {\r\n accessYourSuperPaymentDetailId: this.paymentDetailId,\r\n accessYourSuperApplicationId: this.id,\r\n paymentTypeId: paymentTypeId,\r\n benefitAmount:\r\n paymentTypeId === AccessYourSuperPaymentTypeEnum.PartialAmount\r\n ? form.value.partialAmountSpecified\r\n : null,\r\n isPermanentlyRetired: form.value.isPermanentlyRetired,\r\n partialWithdrawalInvestmentSelection:\r\n paymentTypeId === AccessYourSuperPaymentTypeEnum.PartialAmount\r\n ? form.value.partialWithdrawalSelection\r\n : null,\r\n investmentDrawdown:\r\n paymentTypeId === AccessYourSuperPaymentTypeEnum.PartialAmount &&\r\n form.value.partialWithdrawalSelection\r\n ? investmentDrawdown\r\n : null,\r\n } as AccessYourSuperPaymentDetailSubmissionModel;\r\n\r\n this.dispatch(\r\n this.store,\r\n SaveFormDataAction({ accountId: this.accountId, payload: payload })\r\n );\r\n }\r\n\r\n goBack() {\r\n this.dispatch(\r\n this.store,\r\n SetCurrentStepAction({ nextStep: this.previousStep })\r\n );\r\n }\r\n}\r\n","
\r\n

Permanent retirement after preservation age

\r\n
\r\n
\r\n
\r\n
\r\n
{{model.formLabels.paymentType}}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{model.formLabels.benefitAmount}}\r\n help_outline\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{model.formLabels.permanentlyRetired}}\r\n help_outline\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{model.formLabels.investmentOptionChoice}}\r\n help_outline\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{model.formLabels.provideInvestmentOption}}\r\n
\r\n \r\n
\r\n
\r\n\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex flex-wrap mt-4\">\r\n
\r\n \r\n
\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex\">\r\n 767, 'mt-1': screenWidth<768}\"\r\n class=\"flex-fill {{'BTN.access-your-super.back.class' | translate}}\" title=\"Back\"\r\n icon=\"{{'BTN.access-your-super.back.icon' | translate}}\" [isDisabled]=\"isSubmitting\"\r\n color=\"{{'BTN.access-your-super.back.color' | translate}}\" (onClick)=\"goBack()\">\r\n 767, 'mt-1': screenWidth<768}\" class=\"flex-fill\"\r\n title=\"Next\" icon=\"{{'BTN.access-your-super.continue.icon' | translate}}\"\r\n color=\"{{'BTN.access-your-super.continue.color' | translate}}\"\r\n [isDisabled]=\"form.isInvalid || isSubmitting\" loading (onClick)=\"goNextStep()\">\r\n
\r\n
\r\n
\r\n
","import { createFeatureSelector, createSelector } from \"@ngrx/store\";\r\nimport { featureKey } from \"../../../store/shared.reducers\";\r\nimport { MemberPortalSharedState } from \"../../../store/shared.states\";\r\nimport { IAccessYourSuperRetirementComponentState } from \"./state\";\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const getAccessYourSuperRetirementState = createSelector(memberPortalState, (state) => state.accessYourSuperRetirementComponentState);\r\n\r\nexport const accessYourSuperRetirement_Model = createSelector(\r\n getAccessYourSuperRetirementState,\r\n (state: IAccessYourSuperRetirementComponentState) => state.model\r\n);\r\n\r\nexport const accessYourSuperRetirement_Form = createSelector(\r\n getAccessYourSuperRetirementState,\r\n (state: IAccessYourSuperRetirementComponentState) => state.form\r\n)\r\n\r\nexport const accessYourSuperRetirement_FullAmountRadioOptions = createSelector(\r\n getAccessYourSuperRetirementState,\r\n (state: IAccessYourSuperRetirementComponentState) => state.fullAmountRadioOptions\r\n)\r\n\r\nexport const accessYourSuperRetirement_CurrentTotalPercent = createSelector(\r\n getAccessYourSuperRetirementState,\r\n (state: IAccessYourSuperRetirementComponentState) => state.form.value.investmentOptionDrawdown.reduce((a, b) => a + b.percentage, 0)\r\n);\r\n\r\nexport const accessYourSuperRetirement_SavedFormData = createSelector(\r\n getAccessYourSuperRetirementState,\r\n (state: IAccessYourSuperRetirementComponentState) => state.savedFormData\r\n)","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n AppButtonComponent,\r\n EntryFieldRadioComponent,\r\n Helper,\r\n KeyValueModel,\r\n NumberEntryFieldComponent,\r\n} from '@ifaa-components/ui-components';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { NgrxFormsModule, SetErrorsAction, SetValueAction } from 'ngrx-forms';\r\nimport { distinct, distinctUntilChanged, pairwise } from 'rxjs/operators';\r\nimport { AccessYourSuperPaymentTypeEnum } from 'src/app/enums/access-your-super-payment-type.enum';\r\nimport { AccessYourSuperPaymentDetailSubmissionModel } from 'src/app/model/access-your-super-custom-sections.model';\r\nimport { InvestmentItemModel } from 'src/app/model/investment-item.model';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { SetCurrentStepAction } from '../../access-your-super-form/actions';\r\nimport { memberAccountDropdown_SelectedAccount } from '../../member-account-dropdown/selectors';\r\nimport {\r\n RequestAction,\r\n ResetComponentStateAction,\r\n SaveFormDataAction,\r\n SetFullAmountRadioOptionsAction,\r\n} from './actions';\r\nimport {\r\n accessYourSuperRetirement_CurrentTotalPercent,\r\n accessYourSuperRetirement_Form,\r\n accessYourSuperRetirement_FullAmountRadioOptions,\r\n accessYourSuperRetirement_Model,\r\n accessYourSuperRetirement_SavedFormData,\r\n} from './selectors';\r\nimport { commonState_SystemConfig_AccountFeatureToggles } from 'src/app/store/common/common.selectors';\r\nimport { FeatureToggleHelper } from 'src/app/helper/featureToggleHelper';\r\nimport { combineLatest } from 'rxjs';\r\nimport { FeatureToggleName } from 'src/app/model/feature-toggle-name.model';\r\nimport { NgIf, AsyncPipe, NgClass } from '@angular/common';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MatTooltip } from '@angular/material/tooltip';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { AnimateCssDirective } from '../../../directives/animatecss.directive';\r\nimport { AppRadioDirective } from '../../../directives/app-radio.directive';\r\nimport { AppButtonDirective } from '../../../directives/appbutton.directive';\r\nimport { InputScrollDirective } from '../../../directives/input-scroll.directive';\r\nimport { AccessYourSuperDrawdownComponent } from '../access-your-super-drawdown/access-your-super-drawdown.component';\r\n\r\n@Component({\r\n selector: 'app-access-your-super-retirement',\r\n templateUrl: './access-your-super-retirement.component.html',\r\n styleUrls: ['./access-your-super-retirement.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n NgrxFormsModule,\r\n EntryFieldRadioComponent,\r\n AppRadioDirective,\r\n InputScrollDirective,\r\n MatIcon,\r\n MatTooltip,\r\n NumberEntryFieldComponent,\r\n AnimateCssDirective,\r\n AccessYourSuperDrawdownComponent,\r\n NgClass,\r\n AppButtonComponent,\r\n AppButtonDirective,\r\n TranslatePipe,\r\n ],\r\n})\r\nexport class AccessYourSuperRetirementComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n @Input() set nextStep(value: number) {\r\n this.step = value;\r\n }\r\n @Input() set applicationId(value: number) {\r\n this.id = value;\r\n }\r\n @Input() set backStep(value: number) {\r\n this.previousStep = value;\r\n }\r\n @Input() set account(value: number) {\r\n this.accountId = value;\r\n }\r\n @Input() set typeId(value: number) {\r\n this.applicationTypeId = value;\r\n }\r\n @Input() set canGoBack(value: boolean) {\r\n this.showBackButton = value;\r\n }\r\n @Input() set submitting(value: boolean) {\r\n this.isSubmitting = value;\r\n }\r\n\r\n model$ = this.store.pipe(select(accessYourSuperRetirement_Model));\r\n form$ = this.store.pipe(select(accessYourSuperRetirement_Form));\r\n fullAmountRadioOptions$ = this.store.pipe(\r\n select(accessYourSuperRetirement_FullAmountRadioOptions)\r\n );\r\n currentTotalPercent$ = this.store.pipe(\r\n select(accessYourSuperRetirement_CurrentTotalPercent)\r\n );\r\n savedFormData$ = this.store.pipe(\r\n select(accessYourSuperRetirement_SavedFormData)\r\n );\r\n featureToggles$ = this.store.pipe(\r\n select(commonState_SystemConfig_AccountFeatureToggles)\r\n );\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n\r\n step: number = null;\r\n previousStep: number = null;\r\n id: number = null;\r\n applicationTypeId: number = null;\r\n investmentOptions: InvestmentItemModel[];\r\n paymentDetailId: number = null;\r\n accountId: number = null;\r\n showBenefitAmountTooltip: boolean = false;\r\n featureToggleHelper: FeatureToggleHelper = new FeatureToggleHelper();\r\n isSubmitting: boolean = false;\r\n showBackButton: boolean = false;\r\n\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n async ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.sub = combineLatest([\r\n this.selectedAccount$,\r\n this.featureToggles$,\r\n ]).subscribe((x) => {\r\n if (x[0] && x[1]) {\r\n this.showBenefitAmountTooltip = this.featureToggleHelper.checkToggle(\r\n FeatureToggleName.member.account.accessYourSuper.benefitAmountTooltip\r\n .view,\r\n x[1],\r\n x[0],\r\n true\r\n );\r\n }\r\n });\r\n\r\n this.sub = this.model$.pipe(distinct()).subscribe(async (x) => {\r\n if (!x) {\r\n this.dispatch(\r\n this.store,\r\n RequestAction({\r\n accountId: this.accountId,\r\n applicationId: this.id,\r\n applicationTypeId: this.applicationTypeId,\r\n })\r\n );\r\n }\r\n\r\n if (x) {\r\n // set full amount radio options\r\n var fullAmountRadioOptions = [] as KeyValueModel[];\r\n fullAmountRadioOptions.push({\r\n key: 0,\r\n value: x.formLabels.fullAmountOptionOne,\r\n });\r\n fullAmountRadioOptions.push({\r\n key: 1,\r\n value: x.formLabels.fullAmountOptionTwo,\r\n });\r\n this.dispatch(\r\n this.store,\r\n SetFullAmountRadioOptionsAction({ payload: fullAmountRadioOptions })\r\n );\r\n\r\n var investmentOptions = Object.assign([], x.currentInvestmentMix);\r\n\r\n var helper = new Helper();\r\n var form = await helper.getValue(this.form$);\r\n\r\n // update form values if we are updating an existing application\r\n if (x.submissionData) {\r\n this.paymentDetailId =\r\n x.submissionData.accessYourSuperPaymentDetailId;\r\n\r\n if (\r\n x.submissionData.paymentTypeId !==\r\n AccessYourSuperPaymentTypeEnum.PartialAmount\r\n ) {\r\n this.store.dispatch(\r\n new SetValueAction(form.controls.paymentType.id, 0)\r\n );\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.fullAmountSelection.id,\r\n x.submissionData.paymentTypeId - 1\r\n )\r\n );\r\n } else {\r\n this.store.dispatch(\r\n new SetValueAction(form.controls.paymentType.id, 1)\r\n );\r\n }\r\n\r\n x.submissionData.benefitAmount\r\n ? this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.partialAmountSpecified.id,\r\n x.submissionData.benefitAmount\r\n )\r\n )\r\n : null;\r\n\r\n x.submissionData.partialWithdrawalInvestmentSelection === true ||\r\n x.submissionData.partialWithdrawalInvestmentSelection === false\r\n ? this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.partialWithdrawalSelection.id,\r\n x.submissionData.partialWithdrawalInvestmentSelection\r\n )\r\n )\r\n : null;\r\n\r\n // update the investmentOptions in form state if the member saved a custom drawdown\r\n if (x.submissionData.partialWithdrawalInvestmentSelection) {\r\n // if we have any specified investment options saved that are not in the current investment mix, we need to discard all of those that were saved\r\n var drawdownMatchesCurrentInvestmentMix = true;\r\n\r\n x.submissionData.investmentDrawdown.forEach((drawDown) => {\r\n var investmentOptionIndex = investmentOptions.findIndex(\r\n (o) => o.optionId === drawDown.optionId\r\n );\r\n\r\n // if we dont get an investmentOption, set the flag to false. Otherwise update the investmentOptions array with the saved percentage\r\n if (investmentOptionIndex === -1)\r\n drawdownMatchesCurrentInvestmentMix = false;\r\n else {\r\n investmentOptions[investmentOptionIndex] = {\r\n ...investmentOptions[investmentOptionIndex],\r\n percentage: drawDown.percentage,\r\n };\r\n }\r\n });\r\n\r\n // if our current investment mix matches the saved options, update the form value with the updated investmentOptions array\r\n // if it doesnt match, update the form value with the members current investment mix so they will have to reselect an investment drawdown\r\n if (drawdownMatchesCurrentInvestmentMix) {\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.investmentOptionDrawdown.id,\r\n investmentOptions\r\n )\r\n );\r\n } else {\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.investmentOptionDrawdown.id,\r\n x.currentInvestmentMix\r\n )\r\n );\r\n }\r\n }\r\n // if they didn't specify a custom drawdown, set the options with their investment mix\r\n else {\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.investmentOptionDrawdown.id,\r\n investmentOptions\r\n )\r\n );\r\n }\r\n } else {\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.investmentOptionDrawdown.id,\r\n investmentOptions\r\n )\r\n );\r\n }\r\n }\r\n });\r\n\r\n this.sub = this.form$\r\n .pipe(\r\n pairwise(),\r\n distinctUntilChanged((x, y) => {\r\n // check if text box value is NaN to avoid infinite loop..\r\n if (Number.isNaN(y[1].value.partialAmountSpecified)) return true;\r\n\r\n if (\r\n x[1].value.paymentType !== y[1].value.paymentType ||\r\n x[1].value.fullAmountSelection !== y[1].value.fullAmountSelection ||\r\n x[1].value.investmentOptionDrawdown !==\r\n y[1].value.investmentOptionDrawdown ||\r\n x[1].value.partialAmountSpecified !==\r\n y[1].value.partialAmountSpecified ||\r\n x[1].value.partialWithdrawalSelection !==\r\n y[1].value.partialWithdrawalSelection\r\n )\r\n return false;\r\n\r\n return true;\r\n })\r\n )\r\n .subscribe((form) => {\r\n if (form) {\r\n // If user has swapped from partial amount back to full amount, reset all form validations\r\n if (\r\n form[0].value.paymentType === 1 &&\r\n form[1].value.paymentType === 0\r\n ) {\r\n this.store.dispatch(\r\n new SetErrorsAction(\r\n form[1].controls.partialAmountSpecified.id,\r\n {}\r\n )\r\n );\r\n this.store.dispatch(\r\n new SetErrorsAction(\r\n form[1].controls.investmentOptionDrawdown.id,\r\n {}\r\n )\r\n );\r\n }\r\n\r\n // Reset validation if user swaps from custom selection to auto selection of investment dropdown\r\n if (\r\n form[0].value.partialWithdrawalSelection !==\r\n form[1].value.partialWithdrawalSelection\r\n ) {\r\n this.store.dispatch(\r\n new SetErrorsAction(\r\n form[1].controls.investmentOptionDrawdown.id,\r\n {}\r\n )\r\n );\r\n }\r\n\r\n if (\r\n form[1].value.paymentType === 1 &&\r\n form[1].value.partialWithdrawalSelection\r\n ) {\r\n var drawdownTotal = 0;\r\n var calculatedAmountHigherThanBalance = false;\r\n\r\n form[1].value.investmentOptionDrawdown.forEach(\r\n (investmentOption, index) => {\r\n drawdownTotal += investmentOption.percentage;\r\n if (!calculatedAmountHigherThanBalance) {\r\n calculatedAmountHigherThanBalance =\r\n investmentOption.amount <\r\n form[1].value.partialAmountSpecified *\r\n (investmentOption.percentage / 100);\r\n }\r\n }\r\n );\r\n\r\n // If drawdownTotal is 100, remove error. If it is not 100, set validation error\r\n if (drawdownTotal === 100 && !calculatedAmountHigherThanBalance) {\r\n this.store.dispatch(\r\n new SetErrorsAction(\r\n form[1].controls.investmentOptionDrawdown.id,\r\n {}\r\n )\r\n );\r\n } else {\r\n var errors = {};\r\n\r\n if (drawdownTotal !== 100) {\r\n errors['percentageTotal'] = 'Total must be 100.';\r\n }\r\n\r\n if (calculatedAmountHigherThanBalance) {\r\n errors['calculatedTotal'] =\r\n 'A calculated amount cannot be higher than the investment accounts balance.';\r\n }\r\n this.store.dispatch(\r\n new SetErrorsAction(\r\n form[1].controls.investmentOptionDrawdown.id,\r\n errors\r\n )\r\n );\r\n }\r\n }\r\n }\r\n });\r\n\r\n // Go next step when form has been successfully saved\r\n this.sub = this.savedFormData$.subscribe((x) => {\r\n if (x) {\r\n this.dispatch(\r\n this.store,\r\n SetCurrentStepAction({ nextStep: this.step })\r\n );\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n this.dispatch(this.store, ResetComponentStateAction());\r\n }\r\n\r\n exitForm() {\r\n this.router.navigate(['/access-your-super']);\r\n }\r\n\r\n async goNextStep() {\r\n var helper = new Helper();\r\n var form = await helper.getValue(this.form$);\r\n\r\n var paymentTypeId =\r\n form.value.paymentType === 0 && form.value.fullAmountSelection === 0\r\n ? AccessYourSuperPaymentTypeEnum.FullAmountCloseAccount\r\n : form.value.paymentType === 0 && form.value.fullAmountSelection === 1\r\n ? AccessYourSuperPaymentTypeEnum.FullAmountKeepAccountOpen\r\n : AccessYourSuperPaymentTypeEnum.PartialAmount;\r\n\r\n var investmentDrawdown = form.value.investmentOptionDrawdown.map(\r\n (investmentOption) =>\r\n ({\r\n optionId: investmentOption.optionId,\r\n option: investmentOption.option,\r\n amount: investmentOption.amount,\r\n percentage: investmentOption.percentage,\r\n } as InvestmentItemModel)\r\n );\r\n\r\n var payload = {\r\n accessYourSuperPaymentDetailId: this.paymentDetailId,\r\n accessYourSuperApplicationId: this.id,\r\n paymentTypeId: paymentTypeId,\r\n benefitAmount:\r\n paymentTypeId === AccessYourSuperPaymentTypeEnum.PartialAmount\r\n ? form.value.partialAmountSpecified\r\n : null,\r\n partialWithdrawalInvestmentSelection:\r\n paymentTypeId === AccessYourSuperPaymentTypeEnum.PartialAmount\r\n ? form.value.partialWithdrawalSelection\r\n : null,\r\n investmentDrawdown:\r\n paymentTypeId === AccessYourSuperPaymentTypeEnum.PartialAmount &&\r\n form.value.partialWithdrawalSelection\r\n ? investmentDrawdown\r\n : null,\r\n } as AccessYourSuperPaymentDetailSubmissionModel;\r\n\r\n this.dispatch(\r\n this.store,\r\n SaveFormDataAction({ accountId: this.accountId, payload: payload })\r\n );\r\n }\r\n\r\n goBack() {\r\n this.dispatch(\r\n this.store,\r\n SetCurrentStepAction({ nextStep: this.previousStep })\r\n );\r\n }\r\n}\r\n","
\r\n

Retirement benefit payment

\r\n
\r\n
\r\n
\r\n
\r\n
{{model.formLabels.paymentType}}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{model.formLabels.benefitAmount}}\r\n help_outline\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{model.formLabels.investmentOptionChoice}}\r\n help_outline\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{model.formLabels.provideInvestmentOption}}\r\n
\r\n \r\n
\r\n
\r\n\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex flex-wrap mt-4\">\r\n
\r\n \r\n
\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex\">\r\n 767, 'mt-1': screenWidth<768}\"\r\n class=\"flex-fill {{'BTN.access-your-super.back.class' | translate}}\" title=\"Back\"\r\n icon=\"{{'BTN.access-your-super.back.icon' | translate}}\" [isDisabled]=\"isSubmitting\"\r\n color=\"{{'BTN.access-your-super.back.color' | translate}}\" (onClick)=\"goBack()\">\r\n 767, 'mt-1': screenWidth<768}\" class=\"flex-fill\"\r\n title=\"Next\" icon=\"{{'BTN.access-your-super.continue.icon' | translate}}\"\r\n color=\"{{'BTN.access-your-super.continue.color' | translate}}\"\r\n [isDisabled]=\"form.isInvalid || isSubmitting\" loading (onClick)=\"goNextStep()\">\r\n
\r\n
\r\n
\r\n
","import { createFeatureSelector, createSelector } from \"@ngrx/store\";\r\nimport { featureKey } from \"../../../store/shared.reducers\";\r\nimport { MemberPortalSharedState } from \"../../../store/shared.states\";\r\nimport { IAccessYourSuperSevereFinancialHardshipComponentState } from \"./state\";\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const getAccessYourSuperSevereFinancialHardshipState = createSelector(memberPortalState, (state) => state.accessYourSuperSevereFinancialHardshipComponentState);\r\n\r\nexport const accessYourSuperSevereFinancialHardship_Model = createSelector(\r\n getAccessYourSuperSevereFinancialHardshipState,\r\n (state: IAccessYourSuperSevereFinancialHardshipComponentState) => state.model\r\n);\r\n\r\nexport const accessYourSuperSevereFinancialHardship_FormOne = createSelector(\r\n getAccessYourSuperSevereFinancialHardshipState,\r\n (state: IAccessYourSuperSevereFinancialHardshipComponentState) => state.formOne\r\n);\r\n\r\nexport const accessYourSuperSevereFinancialHardship_FormTwo = createSelector(\r\n getAccessYourSuperSevereFinancialHardshipState,\r\n (state: IAccessYourSuperSevereFinancialHardshipComponentState) => state.formTwo\r\n);\r\n\r\nexport const accessYourSuperSevereFinancialHardship_FullAmountRadioOptions = createSelector(\r\n getAccessYourSuperSevereFinancialHardshipState,\r\n (state: IAccessYourSuperSevereFinancialHardshipComponentState) => state.fullAmountRadioOptions\r\n);\r\n\r\nexport const accessYourSuperSevereFinancialHardship_TaxOptions = createSelector(\r\n getAccessYourSuperSevereFinancialHardshipState,\r\n (state: IAccessYourSuperSevereFinancialHardshipComponentState) => state.taxOptions\r\n);\r\n\r\nexport const accessYourSuperSevereFinancialHardship_CurrentTotalPercent = createSelector(\r\n getAccessYourSuperSevereFinancialHardshipState,\r\n (state: IAccessYourSuperSevereFinancialHardshipComponentState) => state.formOne.value.investmentOptionDrawdown.reduce((a, b) => a + b.percentage, 0)\r\n);\r\n\r\nexport const accessYourSuperSevereFinancialHardship_SavedFormData = createSelector(\r\n getAccessYourSuperSevereFinancialHardshipState,\r\n (state: IAccessYourSuperSevereFinancialHardshipComponentState) => state.savedFormData\r\n);\r\n\r\nexport const accessYourSuperSevereFinancialHardship_SfhStep = createSelector(\r\n getAccessYourSuperSevereFinancialHardshipState,\r\n (state: IAccessYourSuperSevereFinancialHardshipComponentState) => state.sfhStep\r\n);\r\n\r\nexport const accessYourSuperSevereFinancialHardship_FormVersion = createSelector(\r\n getAccessYourSuperSevereFinancialHardshipState,\r\n (state: IAccessYourSuperSevereFinancialHardshipComponentState) => state.formVersion\r\n);\r\n\r\nexport const accessYourSuperSevereFinancialHardship_FormThreeValid = createSelector(\r\n getAccessYourSuperSevereFinancialHardshipState,\r\n (state: IAccessYourSuperSevereFinancialHardshipComponentState) => state.formThreeValid\r\n);","export enum AccessYourSuperDocumentTypeEnum{\r\n BankStatement = 1,\r\n MedicalCertificate = 2,\r\n DoctorCertificate = 3,\r\n Q251Letter = 4,\r\n Q230Letter = 5,\r\n ExpenseStatement = 6,\r\n AtoApprovalLetter = 7, \r\n ParticipatingKiwisaverScheme = 8,\r\n AddressProof = 9,\r\n NzStatutoryDeclaration = 10,\r\n EmploymentSeparationCertificate = 11,\r\n OtherDocuments = 12,\r\n IncomeStatement = 13,\r\n BankStatementWithTransactions = 14,\r\n LivingArrangement = 15,\r\n ShareholdingCert = 16\r\n}","import { createFeatureSelector, createSelector } from \"@ngrx/store\";\r\nimport { featureKey } from \"src/app/modules/shared/store/shared.reducers\";\r\nimport { MemberPortalSharedState } from \"src/app/modules/shared/store/shared.states\";\r\nimport { ISevereFinancialHardshipFinancialDetailsV1ComponentState } from \"./state\";\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const getSevereFinancialHardshipFinancialDetailsV1State = createSelector(memberPortalState, (state) => state.severeFinancialHardshipFinancialDetailsV1ComponentState);\r\n\r\nexport const severeFinancialHardshipFinancialDetailsV1_Form = createSelector(\r\n getSevereFinancialHardshipFinancialDetailsV1State,\r\n (state: ISevereFinancialHardshipFinancialDetailsV1ComponentState) => state.form\r\n);\r\n\r\nexport const severeFinancialHardshipFinancialDetailsV1_FormValid = createSelector(\r\n getSevereFinancialHardshipFinancialDetailsV1State,\r\n (state: ISevereFinancialHardshipFinancialDetailsV1ComponentState) => {\r\n return {\r\n financialDetails:state.form.value,\r\n isValid:state.form.isValid\r\n }\r\n }\r\n);","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { SfhFinancialDetailsFormV1 } from './state';\r\nimport { distinctUntilChanged } from 'rxjs';\r\nimport { accessYourSuperForm_ApplicationModel } from '../../../../access-your-super-form/selector';\r\nimport {\r\n AppReadonlyComponent,\r\n EntryFieldRadioComponent,\r\n EntryTextAreaFieldComponent,\r\n Helper,\r\n NumberEntryFieldComponent,\r\n} from '@ifaa-components/ui-components';\r\nimport { UpdateDocumentRequiredAction } from '../../../../access-your-super-form/actions';\r\nimport { AccessYourSuperDocumentTypeEnum } from 'src/app/enums/access-your-super-document-type.enum';\r\nimport {\r\n severeFinancialHardshipFinancialDetailsV1_Form,\r\n severeFinancialHardshipFinancialDetailsV1_FormValid,\r\n} from './selector';\r\nimport { SetFormDataAction } from './actions';\r\nimport { NgIf, AsyncPipe, CurrencyPipe } from '@angular/common';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MatTooltip } from '@angular/material/tooltip';\r\nimport { NgrxFormsModule } from 'ngrx-forms';\r\nimport { AppRadioDirective } from 'src/app/modules/shared/directives/app-radio.directive';\r\nimport { InputScrollDirective } from 'src/app/modules/shared/directives/input-scroll.directive';\r\n\r\n@Component({\r\n selector: 'sfh-financial-details-v1',\r\n templateUrl: './sfh-financial-details-V1.component.html',\r\n styleUrls: ['./sfh-financial-details-V1.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n NgrxFormsModule,\r\n NumberEntryFieldComponent,\r\n InputScrollDirective,\r\n EntryTextAreaFieldComponent,\r\n AppReadonlyComponent,\r\n CurrencyPipe,\r\n MatIcon,\r\n MatTooltip,\r\n EntryFieldRadioComponent,\r\n AppRadioDirective,\r\n ],\r\n})\r\nexport class SfhFinancialDetailsV1Component\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n @Output() onFormValid: EventEmitter = new EventEmitter();\r\n\r\n @Input() set data(value: SfhFinancialDetailsFormV1) {\r\n this.sfhDataV1 = value;\r\n }\r\n\r\n @Input() set labels(value: { [key: string]: string }) {\r\n this.formLabels = value;\r\n }\r\n\r\n applicationModel$ = this.store.pipe(\r\n select(accessYourSuperForm_ApplicationModel)\r\n );\r\n form$ = this.store.pipe(\r\n select(severeFinancialHardshipFinancialDetailsV1_Form)\r\n );\r\n formValid$ = this.store.pipe(\r\n select(severeFinancialHardshipFinancialDetailsV1_FormValid)\r\n );\r\n\r\n formLabels: { [key: string]: string } = {};\r\n helper: Helper = new Helper();\r\n sfhDataV1: SfhFinancialDetailsFormV1 = null;\r\n\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n async ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.dispatch(\r\n this.store,\r\n SetFormDataAction({ financialDetails: this.sfhDataV1 })\r\n );\r\n\r\n // Need to listen to the rental field to trigger living arrangement doc to mandatory or not\r\n this.sub = this.form$\r\n .pipe(\r\n distinctUntilChanged(\r\n (x, y) =>\r\n x.value.weeklyRentMortgageExpenses ===\r\n y.value.weeklyRentMortgageExpenses\r\n )\r\n )\r\n .subscribe(async (x) => {\r\n if (x.value?.weeklyRentMortgageExpenses >= 0) {\r\n var applicationData = await this.helper.getValue(\r\n this.applicationModel$\r\n );\r\n var livingArrangementDocIndex =\r\n applicationData.applicationDocuments.findIndex(\r\n (x) =>\r\n x.documentTypeId ===\r\n AccessYourSuperDocumentTypeEnum.LivingArrangement\r\n );\r\n if (\r\n x.value.weeklyRentMortgageExpenses > 0 &&\r\n livingArrangementDocIndex !== -1 &&\r\n !applicationData.applicationDocuments[livingArrangementDocIndex]\r\n .isDocumentRequired\r\n ) {\r\n this.dispatch(\r\n this.store,\r\n UpdateDocumentRequiredAction({\r\n documentTypeId:\r\n AccessYourSuperDocumentTypeEnum.LivingArrangement,\r\n isRequired: true,\r\n })\r\n );\r\n } else if (\r\n x.value.weeklyRentMortgageExpenses === 0 &&\r\n livingArrangementDocIndex !== -1 &&\r\n applicationData.applicationDocuments[livingArrangementDocIndex]\r\n .isDocumentRequired\r\n ) {\r\n this.dispatch(\r\n this.store,\r\n UpdateDocumentRequiredAction({\r\n documentTypeId:\r\n AccessYourSuperDocumentTypeEnum.LivingArrangement,\r\n isRequired: false,\r\n })\r\n );\r\n }\r\n }\r\n });\r\n\r\n // Emit if form is valid or not and form values to parent component\r\n this.sub = this.formValid$\r\n .pipe(\r\n distinctUntilChanged((x, y) => JSON.stringify(x) === JSON.stringify(y))\r\n )\r\n .subscribe((x) => {\r\n if (x) {\r\n this.onFormValid.emit(x);\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n calculateAssetsTotal(values: SfhFinancialDetailsFormV1) {\r\n return (\r\n values.assetsBankBalance +\r\n values.assetsHomeContents +\r\n values.assetsInvestmentProperties +\r\n values.assetsOtherAssets +\r\n values.assetsOwnHome +\r\n values.assetsSharesInvestments +\r\n values.assetsVehicles\r\n );\r\n }\r\n\r\n calculateLiabilitiesTotal(values: SfhFinancialDetailsFormV1) {\r\n return (\r\n values.liabilitiesCreditCardRepayments +\r\n values.liabilitiesHomeLoanRepayments +\r\n values.liabilitiesInvestmentLoanRepayments +\r\n values.liabilitiesOtherDebts +\r\n values.liabilitiesPersonalLoanRepayments +\r\n values.liabilitiesVehicleRepayments\r\n );\r\n }\r\n\r\n calculateIncomeTotal(values: SfhFinancialDetailsFormV1) {\r\n return (\r\n values.weeklyIncomeSupportPayments +\r\n values.ownWeeklyIncome +\r\n values.otherWeeklyIncome +\r\n values.rentalWeeklyIncome +\r\n values.partnersWeeklyIncome +\r\n values.dependantsWeeklyIncome +\r\n values.investmentInterestWeeklyIncome\r\n );\r\n }\r\n\r\n calculateExpensesTotal(values: SfhFinancialDetailsFormV1) {\r\n return (\r\n values.weeklyRentMortgageExpenses +\r\n values.weeklyCreditCardExpenses +\r\n values.weeklyCouncilRateExpenses +\r\n values.weeklyGroceriesExpenses +\r\n values.weeklyMedicalExpenses +\r\n values.weeklyVehicleExpenses +\r\n values.weeklyElectricityExpenses +\r\n values.weeklyGasExpenses +\r\n values.weeklyWaterExpenses +\r\n values.weeklyPhoneExpenses +\r\n values.weeklyInternetExpenses +\r\n values.weeklyInsuranceExpenses +\r\n values.weeklyEducationExpenses +\r\n values.weeklyOtherExpenses\r\n );\r\n }\r\n}\r\n","\r\n
\r\n
\r\n

Assets

\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0\" [title]=\"formLabels.assetProvideDetailsTooltip\"\r\n [control]=\"form.controls.assetsOtherAssetsDetails\">\r\n\r\n \r\n
\r\n\r\n
\r\n

\r\n Liabilities\r\n help_outline\r\n

\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0\"\r\n [title]=\"formLabels.liabilitiesProvideDetailsTooltip\"\r\n [control]=\"form.controls.liabilitiesOtherDebtsDetails\">\r\n\r\n \r\n
\r\n\r\n
\r\n

\r\n Weekly income\r\n help_outline\r\n

\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0\"\r\n [title]=\"formLabels.weeklyIncomeProvideDetailsTooltip\"\r\n [control]=\"form.controls.otherWeeklyIncomeDetails\">\r\n\r\n \r\n
\r\n\r\n
\r\n

\r\n Weekly expenses\r\n help_outline\r\n

\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0\"\r\n [title]=\"formLabels.weeklyExpensesProvideDetailsTooltip\"\r\n [control]=\"form.controls.weeklyOtherExpensesDetails\">\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n {{formLabels.financeDetailsRenegotiateQuestion}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
","import { Component, Input, OnDestroy, OnInit, QueryList, ViewChildren } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { AppButtonComponent, EntryFieldComponent, EntryFieldDropdownComponent, EntryFieldRadioComponent, EntryTextAreaFieldComponent, Helper, KeyValueModel, NumberEntryFieldComponent } from \"@ifaa-components/ui-components\";\r\nimport { select, Store } from \"@ngrx/store\";\r\nimport { FormGroupState, NgrxFormsModule, SetErrorsAction, SetValueAction } from \"ngrx-forms\";\r\nimport { distinct, distinctUntilChanged, map, pairwise } from \"rxjs/operators\";\r\nimport { AccessYourSuperPaymentTypeEnum } from \"src/app/enums/access-your-super-payment-type.enum\";\r\nimport { AccessYourSuperSfhDependantModel, AccessYourSuperSfhDetailSubmissionModel } from \"src/app/model/access-your-super-custom-sections.model\";\r\nimport { AppState } from \"src/app/store/app.states\";\r\nimport { ComponentBase } from \"src/app/views/component-base\";\r\nimport { SetCurrentStepAction } from \"../../access-your-super-form/actions\";\r\nimport { RequestAction, ResetComponentStateAction, SaveFormDataAction, SetFullAmountRadioOptionsAction, SetTaxOptionsAction, SetSfhStepAction, SetDependendantFormDataAction, SetFormVersionAction, SetFormThreeValidAction } from \"./actions\";\r\nimport { accessYourSuperSevereFinancialHardship_FormOne, accessYourSuperSevereFinancialHardship_Model, accessYourSuperSevereFinancialHardship_SavedFormData, accessYourSuperSevereFinancialHardship_FullAmountRadioOptions, accessYourSuperSevereFinancialHardship_TaxOptions, accessYourSuperSevereFinancialHardship_CurrentTotalPercent, accessYourSuperSevereFinancialHardship_SfhStep, accessYourSuperSevereFinancialHardship_FormTwo, accessYourSuperSevereFinancialHardship_FormVersion, accessYourSuperSevereFinancialHardship_FormThreeValid } from \"./selectors\";\r\nimport { InvestmentItemModel } from \"src/app/model/investment-item.model\";\r\nimport { FeatureToggleHelper } from \"src/app/helper/featureToggleHelper\";\r\nimport { commonState_SystemConfig_AccountFeatureToggles } from \"src/app/store/common/common.selectors\";\r\nimport { memberAccountDropdown_SelectedAccount } from \"../../member-account-dropdown/selectors\";\r\nimport { FeatureToggleName } from \"src/app/model/feature-toggle-name.model\";\r\nimport { combineLatest, Observable } from \"rxjs\";\r\nimport { AccessYourSuperStepper } from \"../../access-your-super-progress-stepper/access-your-super-progress-stepper.component\";\r\nimport { CombinedFormData, FinancialDetailsOutput, SfhDependantsForm } from \"./state\";\r\nimport { SfhFinancialDetailsFormV1 } from \"./financialDataFormVersions/v1/state\";\r\nimport { NgIf, AsyncPipe, NgClass, NgFor, NgSwitch, NgSwitchCase } from \"@angular/common\";\r\nimport { MatIcon } from \"@angular/material/icon\";\r\nimport { MatTooltip } from \"@angular/material/tooltip\";\r\nimport { TranslatePipe } from \"@ngx-translate/core\";\r\nimport { AnimateCssDirective } from \"../../../directives/animatecss.directive\";\r\nimport { AppRadioDirective } from \"../../../directives/app-radio.directive\";\r\nimport { AppButtonDirective } from \"../../../directives/appbutton.directive\";\r\nimport { InputScrollDirective } from \"../../../directives/input-scroll.directive\";\r\nimport { AccessYourSuperDrawdownComponent } from \"../access-your-super-drawdown/access-your-super-drawdown.component\";\r\nimport { SfhFinancialDetailsV1Component } from \"./financialDataFormVersions/v1/sfh-financial-details-V1.component\";\r\n\r\n@Component({\r\n selector: 'app-access-your-super-severe-financial-hardship',\r\n templateUrl: './access-your-super-severe-financial-hardship.component.html',\r\n styleUrls: ['./access-your-super-severe-financial-hardship.component.scss'],\r\n host: {\r\n class: 'w-100'\r\n },\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n AnimateCssDirective,\r\n NgrxFormsModule,\r\n EntryFieldRadioComponent,\r\n AppRadioDirective,\r\n InputScrollDirective,\r\n MatIcon,\r\n MatTooltip,\r\n NumberEntryFieldComponent,\r\n EntryFieldDropdownComponent,\r\n EntryTextAreaFieldComponent,\r\n AccessYourSuperDrawdownComponent,\r\n NgClass,\r\n AppButtonComponent,\r\n NgFor,\r\n TranslatePipe,\r\n EntryFieldComponent,\r\n NgSwitch,\r\n NgSwitchCase,\r\n SfhFinancialDetailsV1Component,\r\n AccessYourSuperStepper,\r\n AppButtonDirective\r\n ]\r\n \r\n})\r\n\r\nexport class AccessYourSuperSevereFinancialHardshipComponent extends ComponentBase implements OnInit, OnDestroy {\r\n\r\n @Input() set nextStep(value: number) {\r\n this.step = value;\r\n }\r\n @Input() set applicationId(value: number) {\r\n this.id = value;\r\n }\r\n @Input() set backStep(value: number) {\r\n this.previousStep = value;\r\n }\r\n @Input() set typeId(value: number) {\r\n this.applicationTypeId = value;\r\n }\r\n @Input() set submitting(value: boolean) {\r\n this.isSubmitting = value;\r\n }\r\n\r\n model$ = this.store.pipe(select(accessYourSuperSevereFinancialHardship_Model));\r\n taxOptions$ = this.store.pipe(select(accessYourSuperSevereFinancialHardship_TaxOptions));\r\n fullAmountRadioOptions$ = this.store.pipe(select(accessYourSuperSevereFinancialHardship_FullAmountRadioOptions));\r\n savedFormData$ = this.store.pipe(select(accessYourSuperSevereFinancialHardship_SavedFormData));\r\n currentTotalPercent$ = this.store.pipe(select(accessYourSuperSevereFinancialHardship_CurrentTotalPercent));\r\n featureToggles$ = this.store.pipe(select(commonState_SystemConfig_AccountFeatureToggles));\r\n selectedAccount$ = this.store.pipe(select(memberAccountDropdown_SelectedAccount));\r\n sfhStep$ = this.store.pipe(select(accessYourSuperSevereFinancialHardship_SfhStep));\r\n formVersion$ = this.store.pipe(select(accessYourSuperSevereFinancialHardship_FormVersion));\r\n formOne$ = this.store.pipe(select(accessYourSuperSevereFinancialHardship_FormOne));\r\n formTwo$ = this.store.pipe(select(accessYourSuperSevereFinancialHardship_FormTwo));\r\n formThreeValid$ = this.store.pipe(select(accessYourSuperSevereFinancialHardship_FormThreeValid));\r\n\r\n step: number = null;\r\n previousStep: number = null\r\n id: number = null;\r\n applicationTypeId: number = null;\r\n paymentDetailId: number = null;\r\n investmentOptions: InvestmentItemModel[];\r\n accountId: number = null;\r\n maxDate: Date = new Date();\r\n totalBalance: number = null;\r\n stepperData: any[] = [];\r\n financialDetails: { [key: string]: string } = null;\r\n isSubmitting: boolean = false;\r\n showBackButton: boolean = false;\r\n showBenefitAmountTooltip: boolean = false;\r\n featureToggleHelper: FeatureToggleHelper = new FeatureToggleHelper();\r\n helper = new Helper();\r\n\r\n combinedFormData$: Observable = null;\r\n combinedFormData: CombinedFormData = null;\r\n\r\n @ViewChildren(AccessYourSuperStepper) private sfhStepper: QueryList;\r\n\r\n constructor(\r\n public store: Store,\r\n private router: Router) {\r\n super();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.sub = combineLatest([this.sfhStepper?.changes, this.sfhStep$])\r\n .pipe(map(([queryList, step]) => ({ queryList, step })))\r\n .subscribe(x => {\r\n if (x.queryList && x.step) {\r\n x.queryList.first.setSelectedIndex(x.step - 1)\r\n }\r\n })\r\n }\r\n\r\n async ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.combinedFormData$ = combineLatest([this.formOne$, this.formTwo$]).pipe(\r\n map(([formOne, formTwo]) => ({ formOne, formTwo })),\r\n )\r\n\r\n this.sub = combineLatest([this.selectedAccount$, this.featureToggles$]).subscribe(x => {\r\n if (x[0] && x[1]) {\r\n this.accountId = x[0].accountId;\r\n this.showBenefitAmountTooltip = this.featureToggleHelper.checkToggle(FeatureToggleName.member.account.accessYourSuper.benefitAmountTooltip.view,\r\n x[1], x[0], true);\r\n }\r\n })\r\n\r\n this.sub = this.sfhStep$.subscribe(x => {\r\n if (x) {\r\n if (x > 1) {\r\n this.showBackButton = true;\r\n }\r\n else {\r\n this.showBackButton = false;\r\n }\r\n }\r\n })\r\n\r\n this.sub = this.model$.pipe(distinct())\r\n .subscribe(async x => {\r\n if (!x) {\r\n this.dispatch(this.store, RequestAction({ accountId: this.accountId, applicationId: this.id }))\r\n }\r\n\r\n if (x) {\r\n var formOne = await this.helper.getValue(this.formOne$);\r\n\r\n // Update form one with saved data\r\n if (x.sfhSubmissionData) {\r\n this.dispatch(this.store, SetFormVersionAction({ formVersion: x.sfhSubmissionData.formVersion }));\r\n this.dispatch(this.store, SetSfhStepAction({ step: x.sfhSubmissionData.currentStep }));\r\n\r\n this.stepperData.push({\r\n title: 'Benefit payment details',\r\n completed: x.sfhSubmissionData.currentStep > 1 ? true : false,\r\n stepIndex: 1\r\n })\r\n this.stepperData.push({\r\n title: 'Dependants',\r\n completed: x.sfhSubmissionData.currentStep > 2 ? true : false,\r\n stepIndex: 2\r\n })\r\n this.stepperData.push({\r\n title: 'Financial details',\r\n completed: false,\r\n stepIndex: 3\r\n })\r\n\r\n if (x.sfhSubmissionData.sfhSummary)\r\n this.store.dispatch(new SetValueAction(formOne.controls.sfhSummary.id, x.sfhSubmissionData.sfhSummary));\r\n\r\n // Update form two dependant data if it exists\r\n if (x.sfhSubmissionData.dependantAndFinanceData?.dependants?.length > 0) {\r\n this.dispatch(this.store, SetDependendantFormDataAction({ dependants: x.sfhSubmissionData.dependantAndFinanceData.dependants }))\r\n }\r\n }\r\n\r\n var fullAmountRadioOptions = [] as KeyValueModel[];\r\n\r\n if (x.reachedPreservationAgePlusThirtyNineWeeks) {\r\n fullAmountRadioOptions.push({ key: 0, value: x.formLabels.fullAmountOptionOne });\r\n fullAmountRadioOptions.push({ key: 1, value: x.formLabels.fullAmountOptionTwo });\r\n this.dispatch(this.store, SetFullAmountRadioOptionsAction({ payload: fullAmountRadioOptions }))\r\n this.store.dispatch(new SetValueAction(formOne.controls.receivingQualifyingSupportErrorMsg.id, x.formLabels.receivingQualifyingSupport39WeeksError))\r\n }\r\n else {\r\n fullAmountRadioOptions.push({ key: 0, value: x.formLabels.fullAmountOptionThree });\r\n this.dispatch(this.store, SetFullAmountRadioOptionsAction({ payload: fullAmountRadioOptions }))\r\n this.store.dispatch(new SetValueAction(formOne.controls.receivingQualifyingSupportErrorMsg.id, x.formLabels.receivingQualifyingSupport26WeeksError))\r\n }\r\n\r\n var taxOptions = [] as KeyValueModel[];\r\n taxOptions.push({ key: true, value: x.formLabels.beforeTax });\r\n this.dispatch(this.store, SetTaxOptionsAction({ payload: taxOptions }))\r\n\r\n var investmentOptions = Object.assign([], x.currentInvestmentMix);\r\n this.totalBalance = x.currentInvestmentMix.reduce((a, b) => a + b.amount, 0)\r\n\r\n this.store.dispatch(new SetValueAction(formOne.controls.memberReachedPreservationAge.id, x.reachedPreservationAgePlusThirtyNineWeeks));\r\n\r\n // update form values if we are updating an existing application\r\n if (x.submissionData) {\r\n this.paymentDetailId = x.submissionData.accessYourSuperPaymentDetailId;\r\n\r\n if (x.submissionData.paymentTypeId !== AccessYourSuperPaymentTypeEnum.PartialAmount) {\r\n this.store.dispatch(new SetValueAction(formOne.controls.paymentType.id, 0));\r\n\r\n if (x.reachedPreservationAgePlusThirtyNineWeeks) {\r\n this.store.dispatch(new SetValueAction(formOne.controls.fullAmountSelection.id, x.submissionData.paymentTypeId - 1));\r\n\r\n x.submissionData.isPermanentlyRetired === true || x.submissionData.isPermanentlyRetired === false ?\r\n this.store.dispatch(new SetValueAction(formOne.controls.isPermanentlyRetired.id, x.submissionData.isPermanentlyRetired)) :\r\n null;\r\n } else {\r\n this.store.dispatch(new SetValueAction(formOne.controls.fullAmountSelection.id, 0));\r\n }\r\n }\r\n else {\r\n this.store.dispatch(new SetValueAction(formOne.controls.paymentType.id, 1));\r\n }\r\n\r\n x.submissionData.benefitAmount ?\r\n this.store.dispatch(new SetValueAction(formOne.controls.partialAmountSpecified.id, x.submissionData.benefitAmount)) :\r\n null;\r\n\r\n x.submissionData.partialWithdrawalInvestmentSelection === true || x.submissionData.partialWithdrawalInvestmentSelection === false ?\r\n this.store.dispatch(new SetValueAction(formOne.controls.partialWithdrawalSelection.id, x.submissionData.partialWithdrawalInvestmentSelection)) :\r\n null;\r\n\r\n // update the investmentOptions in form state if the member saved a custom drawdown\r\n if (x.submissionData.partialWithdrawalInvestmentSelection) {\r\n // if we have any specified investment options saved that are not in the current investment mix, we need to discard all of those that were saved\r\n var drawdownMatchesCurrentInvestmentMix = true;\r\n\r\n x.submissionData.investmentDrawdown.forEach(drawDown => {\r\n var investmentOptionIndex = investmentOptions.findIndex(o => o.optionId === drawDown.optionId)\r\n\r\n // if we dont get an investmentOption, set the flag to false. Otherwise update the investmentOptions array with the saved percentage\r\n if (investmentOptionIndex === -1)\r\n drawdownMatchesCurrentInvestmentMix = false;\r\n else {\r\n investmentOptions[investmentOptionIndex] = { ...investmentOptions[investmentOptionIndex], percentage: drawDown.percentage }\r\n }\r\n })\r\n\r\n // if our current investment mix matches the saved options, update the form value with the updated investmentOptions array\r\n // if it doesnt match, update the form value with the members current investment mix so they will have to reselect an investment drawdown\r\n if (drawdownMatchesCurrentInvestmentMix) {\r\n this.store.dispatch(new SetValueAction(formOne.controls.investmentOptionDrawdown.id, investmentOptions));\r\n }\r\n else {\r\n this.store.dispatch(new SetValueAction(formOne.controls.investmentOptionDrawdown.id, x.currentInvestmentMix));\r\n }\r\n }\r\n // if they didn't specify a custom drawdown, set the options with their investment mix\r\n else {\r\n this.store.dispatch(new SetValueAction(formOne.controls.investmentOptionDrawdown.id, investmentOptions));\r\n }\r\n }\r\n else {\r\n this.store.dispatch(new SetValueAction(formOne.controls.investmentOptionDrawdown.id, investmentOptions));\r\n }\r\n\r\n\r\n }\r\n })\r\n\r\n this.sub = this.formOne$.pipe(pairwise(), distinctUntilChanged((x, y) => {\r\n // check if text box value is NaN to avoid infinite loop..\r\n if (Number.isNaN(y[1].value.partialAmountSpecified))\r\n return true;\r\n\r\n if (x[1].value.paymentType !== y[1].value.paymentType ||\r\n x[1].value.fullAmountSelection !== y[1].value.fullAmountSelection ||\r\n x[1].value.investmentOptionDrawdown !== y[1].value.investmentOptionDrawdown ||\r\n x[1].value.partialAmountSpecified !== y[1].value.partialAmountSpecified ||\r\n x[1].value.partialWithdrawalSelection !== y[1].value.partialWithdrawalSelection)\r\n return false;\r\n\r\n return true;\r\n })).subscribe(form => {\r\n if (form) {\r\n // If user has swapped from partial amount back to full amount, reset all form validations\r\n if (form[0].value.paymentType === 1 && form[1].value.paymentType === 0) {\r\n this.store.dispatch(new SetErrorsAction(form[1].controls.partialAmountSpecified.id, {}));\r\n this.store.dispatch(new SetErrorsAction(form[1].controls.investmentOptionDrawdown.id, {}));\r\n }\r\n\r\n // Reset validation if user swaps from custom selection to auto selection of investment dropdown\r\n if (form[0].value.partialWithdrawalSelection !== form[1].value.partialWithdrawalSelection) {\r\n this.store.dispatch(new SetErrorsAction(form[1].controls.investmentOptionDrawdown.id, {}));\r\n }\r\n\r\n if (form[1].value.paymentType === 1 && form[1].value.partialWithdrawalSelection) {\r\n var drawdownTotal = 0;\r\n var calculatedAmountHigherThanBalance = false;\r\n\r\n form[1].value.investmentOptionDrawdown.forEach((investmentOption, index) => {\r\n drawdownTotal += investmentOption.percentage;\r\n if (!calculatedAmountHigherThanBalance) {\r\n calculatedAmountHigherThanBalance = investmentOption.amount < (form[1].value.partialAmountSpecified * (investmentOption.percentage / 100))\r\n }\r\n })\r\n\r\n // If drawdownTotal is 100, remove error. If it is not 100, set validation error\r\n if (drawdownTotal === 100 && !calculatedAmountHigherThanBalance) {\r\n this.store.dispatch(new SetErrorsAction(form[1].controls.investmentOptionDrawdown.id, {}));\r\n } else {\r\n var errors = {};\r\n\r\n if (drawdownTotal !== 100) {\r\n errors['percentageTotal'] = 'Total must be 100.'\r\n }\r\n\r\n if (calculatedAmountHigherThanBalance) {\r\n errors['calculatedTotal'] = \"A calculated amount cannot be higher than the investment accounts balance.\"\r\n }\r\n this.store.dispatch(new SetErrorsAction(form[1].controls.investmentOptionDrawdown.id, errors));\r\n }\r\n }\r\n }\r\n })\r\n\r\n // formTwo fields are dynamic so we need to perform validations in a subscription\r\n this.sub = this.formTwo$.pipe(distinctUntilChanged((x, y) => JSON.stringify(x) === JSON.stringify(y))).subscribe(form => {\r\n if (form) {\r\n form.controls.dependants.controls.forEach(x => {\r\n // validate name field\r\n if (x.value.name === \"\") {\r\n this.store.dispatch(new SetErrorsAction(x.controls.name.id, { customError: 'Dependant name cannot be blank.' }))\r\n }\r\n else {\r\n this.store.dispatch(new SetErrorsAction(x.controls.name.id, {}))\r\n }\r\n\r\n // validate age field\r\n if (x.value.age === null || x.value.age < 0) {\r\n this.store.dispatch(new SetErrorsAction(x.controls.age.id, { customError: 'Dependant age must be equal to or greater than 0.' }))\r\n }\r\n else {\r\n this.store.dispatch(new SetErrorsAction(x.controls.age.id, {}))\r\n }\r\n\r\n // validate relationship field\r\n if (x.value.relationship === \"\") {\r\n this.store.dispatch(new SetErrorsAction(x.controls.relationship.id, { customError: 'Dependant relationship cannot be blank.' }))\r\n }\r\n else {\r\n this.store.dispatch(new SetErrorsAction(x.controls.relationship.id, {}))\r\n }\r\n })\r\n }\r\n })\r\n\r\n // Go next step when form has been successfully saved\r\n this.sub = this.savedFormData$.subscribe(async x => {\r\n if (x) {\r\n var currentStep = await this.helper.getValue(this.sfhStep$);\r\n if (currentStep !== 3) {\r\n this.dispatch(this.store, SetSfhStepAction({ step: currentStep + 1 }));\r\n }\r\n else {\r\n this.dispatch(this.store, SetCurrentStepAction({ nextStep: this.step }))\r\n }\r\n }\r\n })\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n this.dispatch(this.store, ResetComponentStateAction());\r\n }\r\n\r\n exitForm() {\r\n this.router.navigate(['/access-your-super']);\r\n }\r\n\r\n async goNextStep() {\r\n var payload = null;\r\n var currentStep = await this.helper.getValue(this.sfhStep$);\r\n var formVersion = await this.helper.getValue(this.formVersion$);\r\n var model = await this.helper.getValue(this.model$);\r\n\r\n switch (currentStep) {\r\n case 1: {\r\n var formOne = await this.helper.getValue(this.formOne$);\r\n if (formOne.isTouched) {\r\n var paymentTypeId = null;\r\n\r\n if (formOne.value.memberReachedPreservationAge) {\r\n if (formOne.value.paymentType === 0 && formOne.value.fullAmountSelection === 0) {\r\n paymentTypeId = AccessYourSuperPaymentTypeEnum.FullAmountCloseAccount;\r\n }\r\n else if (formOne.value.paymentType === 0 && formOne.value.fullAmountSelection === 1) {\r\n paymentTypeId = AccessYourSuperPaymentTypeEnum.FullAmountKeepAccountOpen;\r\n }\r\n else {\r\n paymentTypeId = AccessYourSuperPaymentTypeEnum.PartialAmount;\r\n }\r\n }\r\n else {\r\n if (formOne.value.paymentType === 0 && formOne.value.fullAmountSelection === 0) {\r\n paymentTypeId = AccessYourSuperPaymentTypeEnum.FullGrossAmountTenThousand;\r\n }\r\n else {\r\n paymentTypeId = AccessYourSuperPaymentTypeEnum.PartialAmount;\r\n }\r\n }\r\n\r\n\r\n var investmentDrawdown = formOne.value.investmentOptionDrawdown.map(investmentOption => ({\r\n optionId: investmentOption.optionId,\r\n option: investmentOption.option,\r\n amount: investmentOption.amount,\r\n percentage: investmentOption.percentage\r\n } as InvestmentItemModel));\r\n\r\n payload = {\r\n accessYourSuperPaymentDetailId: this.paymentDetailId,\r\n accessYourSuperApplicationId: this.id,\r\n paymentTypeId: paymentTypeId,\r\n benefitAmount: paymentTypeId === AccessYourSuperPaymentTypeEnum.PartialAmount ? formOne.value.partialAmountSpecified : null,\r\n isPermanentlyRetired: formOne.value.memberReachedPreservationAge ? formOne.value.isPermanentlyRetired : null,\r\n isBeforeTax: paymentTypeId === AccessYourSuperPaymentTypeEnum.PartialAmount ? formOne.value.isBeforeTax : null,\r\n currentStep: currentStep,\r\n sfhSummary: formOne.value.sfhSummary,\r\n receivingQualifyingSupport: formOne.value.receivingQualifyingSupport,\r\n partialWithdrawalInvestmentSelection: paymentTypeId === AccessYourSuperPaymentTypeEnum.PartialAmount ? formOne.value.partialWithdrawalSelection : null,\r\n investmentDrawdown: paymentTypeId === AccessYourSuperPaymentTypeEnum.PartialAmount && formOne.value.partialWithdrawalSelection ? investmentDrawdown : null,\r\n } as AccessYourSuperSfhDetailSubmissionModel;\r\n\r\n this.dispatch(this.store, SaveFormDataAction({ accountId: this.accountId, payload: payload }));\r\n }\r\n else {\r\n this.dispatch(this.store, SetSfhStepAction({ step: currentStep + 1 }));\r\n }\r\n break;\r\n }\r\n case 2: {\r\n var formTwo = await this.helper.getValue(this.formTwo$);\r\n if (formTwo.isTouched || (formTwo.value.dependants.length === 0 && model.sfhSubmissionData?.dependantAndFinanceData?.dependants?.length > 0)) {\r\n\r\n payload = {\r\n accessYourSuperApplicationId: this.id,\r\n accessYourSuperPaymentDetailId: this.paymentDetailId,\r\n dependantAndFinanceData: {\r\n dependants: formTwo.value.dependants,\r\n },\r\n currentStep: currentStep,\r\n formVersion: formVersion\r\n } as AccessYourSuperSfhDetailSubmissionModel;\r\n\r\n this.dispatch(this.store, SaveFormDataAction({ accountId: this.accountId, payload: payload }));\r\n }\r\n else {\r\n this.dispatch(this.store, SetSfhStepAction({ step: currentStep + 1 }));\r\n }\r\n break;\r\n }\r\n case 3: {\r\n payload = {\r\n accessYourSuperApplicationId: this.id,\r\n accessYourSuperPaymentDetailId: this.paymentDetailId,\r\n dependantAndFinanceData: {\r\n // spread the formThree values into a new object as it will go into the dynamic property on the backend\r\n financialDetails: { ...this.financialDetails }\r\n },\r\n currentStep: currentStep,\r\n parentStep: this.step,\r\n formVersion: formVersion\r\n } as AccessYourSuperSfhDetailSubmissionModel;\r\n\r\n this.dispatch(this.store, SaveFormDataAction({ accountId: this.accountId, payload: payload }));\r\n break;\r\n }\r\n }\r\n }\r\n\r\n async goBack() {\r\n var currentStep = await this.helper.getValue(this.sfhStep$);\r\n if (currentStep === 1) {\r\n this.dispatch(this.store, SetCurrentStepAction({ nextStep: this.previousStep }))\r\n }\r\n else {\r\n this.dispatch(this.store, SetSfhStepAction({ step: currentStep - 1 }));\r\n }\r\n }\r\n\r\n onStepperSelectionChange(titles: any[], event: any) {\r\n this.dispatch(this.store, SetSfhStepAction({ step: event.selectedIndex + 1 }));\r\n }\r\n\r\n trackByFn(index, item) {\r\n return index;\r\n }\r\n\r\n removeDependant(index: number, dependantForm: FormGroupState) {\r\n var clone = [...dependantForm.controls.dependants.value];\r\n clone.splice(index, 1);\r\n this.store.dispatch(new SetValueAction(dependantForm.controls.dependants.id, clone));\r\n }\r\n\r\n addDependant(dependantForm: FormGroupState) {\r\n this.store.dispatch(new SetValueAction(dependantForm.controls.dependants.id, [...dependantForm.controls.dependants.value, new AccessYourSuperSfhDependantModel()]))\r\n }\r\n\r\n async financialDetailsValid(payload: FinancialDetailsOutput) {\r\n this.financialDetails = payload.financialDetails;\r\n var isValid = await this.helper.getValue(this.formThreeValid$);\r\n\r\n if (isValid !== payload.isValid)\r\n this.dispatch(this.store, SetFormThreeValidAction({ isValid: payload.isValid }))\r\n }\r\n\r\n convertToV1(data:any){\r\n return data as SfhFinancialDetailsFormV1;\r\n }\r\n}","
\r\n
\r\n \r\n
\r\n

Benefit payment details

\r\n
\r\n
\r\n
\r\n
{{model.formLabels.paymentType}}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{model.formLabels.benefitAmount}}\r\n help_outline\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{model.formLabels.permanentlyRetired}}\r\n help_outline\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{model.formLabels.summaryQuestion}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{model.reachedPreservationAgePlusThirtyNineWeeks ?\r\n model.formLabels.receivingQualifyingSupport39Weeks :\r\n model.formLabels.receivingQualifyingSupport26Weeks}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{model.formLabels.investmentOptionChoice}}\r\n help_outline\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{model.formLabels.provideInvestmentOption}}\r\n
\r\n \r\n
\r\n
\r\n\r\n

\r\n
\r\n\r\n \r\n
\r\n

Dependants

\r\n
\r\n
\r\n 767, 'mt-1': screenWidth<768}\" title=\"Add new dependant\"\r\n color=\"{{'BTN.access-your-super.continue.color' | translate}}\"\r\n icon=\"{{'BTN.access-your-super.add.icon' | translate}}\" [isDisabled]=\"isSubmitting\"\r\n (onClick)=\"addDependant(combinedForm.formTwo)\">\r\n
\r\n
\r\n \r\n
\r\n
\r\n

Dependant {{i+1}}

\r\n 767, 'mt-1': screenWidth<768}\" title=\"Remove\"\r\n icon=\"{{'BTN.access-your-super.cancel.icon' | translate}}\"\r\n color=\"{{'BTN.access-your-super.cancel.color' | translate}}\" [isDisabled]=\"isSubmitting\"\r\n (onClick)=\"removeDependant(i, combinedForm.formTwo)\">\r\n
\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n
\r\n\r\n \r\n \r\n
\r\n\r\n \r\n
\r\n

Financial details

\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
991, 'd-none': screenWidth<992}\">\r\n \r\n
\r\n\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex flex-wrap mt-4\">\r\n
\r\n \r\n
\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex\">\r\n 767, 'mt-1': screenWidth<768}\"\r\n class=\"flex-fill {{'BTN.access-your-super.back.class' | translate}}\" title=\"Back\"\r\n icon=\"{{'BTN.access-your-super.back.icon' | translate}}\" [isDisabled]=\"isSubmitting\"\r\n color=\"{{'BTN.access-your-super.back.color' | translate}}\" (onClick)=\"goBack()\">\r\n 767, 'mt-1': screenWidth<768}\" class=\"flex-fill\"\r\n title=\"Next\" icon=\"{{'BTN.access-your-super.continue.icon' | translate}}\"\r\n color=\"{{'BTN.access-your-super.continue.color' | translate}}\" [isDisabled]=\"(combinedForm.formOne.isInvalid && (sfhStep$ | async) === 1) ||\r\n (combinedForm.formTwo.isInvalid && (sfhStep$ | async) === 2) ||\r\n (!(formThreeValid$|async) && (sfhStep$ | async) === 3) || isSubmitting\" loading\r\n (onClick)=\"goNextStep()\">\r\n
\r\n
\r\n
\r\n
","import { createFeatureSelector, createSelector } from \"@ngrx/store\";\r\nimport { featureKey } from \"../../../store/shared.reducers\";\r\nimport { MemberPortalSharedState } from \"../../../store/shared.states\";\r\nimport { IAccessYourSuperTerminalMedicalConditionComponentState } from \"./state\";\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const getAccessYourSuperTerminalMedicalConditionState = createSelector(memberPortalState, (state) => state.accessYourSuperTerminalMedicalConditionComponentState);\r\n\r\nexport const accessYourSuperTerminalMedicalCondition_Model = createSelector(\r\n getAccessYourSuperTerminalMedicalConditionState,\r\n (state: IAccessYourSuperTerminalMedicalConditionComponentState) => state.model\r\n);\r\n\r\nexport const accessYourSuperTerminalMedicalCondition_Form = createSelector(\r\n getAccessYourSuperTerminalMedicalConditionState,\r\n (state: IAccessYourSuperTerminalMedicalConditionComponentState) => state.form\r\n)\r\n\r\nexport const accessYourSuperTerminalMedicalCondition_ReleaseConditionOptions = createSelector(\r\n getAccessYourSuperTerminalMedicalConditionState,\r\n (state: IAccessYourSuperTerminalMedicalConditionComponentState) => state.releaseConditionOptions\r\n)\r\n\r\nexport const accessYourSuperTerminalMedicalCondition_FullAmountRadioOptions = createSelector(\r\n getAccessYourSuperTerminalMedicalConditionState,\r\n (state: IAccessYourSuperTerminalMedicalConditionComponentState) => state.fullAmountRadioOptions\r\n)\r\n\r\nexport const accessYourSuperTerminalMedicalCondition_CurrentTotalPercent = createSelector(\r\n getAccessYourSuperTerminalMedicalConditionState,\r\n (state: IAccessYourSuperTerminalMedicalConditionComponentState) => state.form.value.investmentOptionDrawdown.reduce((a, b) => a + b.percentage, 0)\r\n);\r\n\r\nexport const accessYourSuperTerminalMedicalCondition_SavedFormData = createSelector(\r\n getAccessYourSuperTerminalMedicalConditionState,\r\n (state: IAccessYourSuperTerminalMedicalConditionComponentState) => state.savedFormData\r\n)","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n AppButtonComponent,\r\n EntryFieldDateComponent,\r\n EntryFieldRadioComponent,\r\n EntryTextAreaFieldComponent,\r\n Helper,\r\n KeyValueModel,\r\n NumberEntryFieldComponent,\r\n} from '@ifaa-components/ui-components';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { NgrxFormsModule, SetErrorsAction, SetValueAction } from 'ngrx-forms';\r\nimport { distinct, distinctUntilChanged, pairwise } from 'rxjs/operators';\r\nimport { AccessYourSuperPaymentTypeEnum } from 'src/app/enums/access-your-super-payment-type.enum';\r\nimport { AccessYourSuperPaymentDetailSubmissionModel } from 'src/app/model/access-your-super-custom-sections.model';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { SetCurrentStepAction } from '../../access-your-super-form/actions';\r\nimport {\r\n RequestAction,\r\n ResetComponentStateAction,\r\n SaveFormDataAction,\r\n SetFullAmountRadioOptionsAction,\r\n SetReleaseConditionOptionsAction,\r\n} from './actions';\r\nimport {\r\n accessYourSuperTerminalMedicalCondition_Form,\r\n accessYourSuperTerminalMedicalCondition_Model,\r\n accessYourSuperTerminalMedicalCondition_SavedFormData,\r\n accessYourSuperTerminalMedicalCondition_ReleaseConditionOptions,\r\n accessYourSuperTerminalMedicalCondition_FullAmountRadioOptions,\r\n accessYourSuperTerminalMedicalCondition_CurrentTotalPercent,\r\n} from './selectors';\r\nimport { InvestmentItemModel } from 'src/app/model/investment-item.model';\r\nimport { FeatureToggleName } from 'src/app/model/feature-toggle-name.model';\r\nimport { FeatureToggleHelper } from 'src/app/helper/featureToggleHelper';\r\nimport { commonState_SystemConfig_AccountFeatureToggles } from 'src/app/store/common/common.selectors';\r\nimport { memberAccountDropdown_SelectedAccount } from '../../member-account-dropdown/selectors';\r\nimport { combineLatest } from 'rxjs';\r\nimport { NgIf, AsyncPipe, NgClass } from '@angular/common';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MatTooltip } from '@angular/material/tooltip';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { AnimateCssDirective } from '../../../directives/animatecss.directive';\r\nimport { AppRadioDirective } from '../../../directives/app-radio.directive';\r\nimport { AppButtonDirective } from '../../../directives/appbutton.directive';\r\nimport {\r\n InputScrollDirective,\r\n InputDateScrollDirective,\r\n} from '../../../directives/input-scroll.directive';\r\nimport { AccessYourSuperDrawdownComponent } from '../access-your-super-drawdown/access-your-super-drawdown.component';\r\n\r\n@Component({\r\n selector: 'app-access-your-super-terminal-medical-condition',\r\n templateUrl: './access-your-super-terminal-medical-condition.component.html',\r\n styleUrls: ['./access-your-super-terminal-medical-condition.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n NgrxFormsModule,\r\n EntryFieldRadioComponent,\r\n AppRadioDirective,\r\n InputScrollDirective,\r\n MatIcon,\r\n MatTooltip,\r\n NumberEntryFieldComponent,\r\n AnimateCssDirective,\r\n NgClass,\r\n EntryFieldDateComponent,\r\n InputDateScrollDirective,\r\n EntryTextAreaFieldComponent,\r\n AccessYourSuperDrawdownComponent,\r\n AppButtonComponent,\r\n AppButtonDirective,\r\n TranslatePipe,\r\n ],\r\n})\r\nexport class AccessYourSuperTerminalMedicalConditionComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n @Input() set nextStep(value: number) {\r\n this.step = value;\r\n }\r\n @Input() set applicationId(value: number) {\r\n this.id = value;\r\n }\r\n @Input() set backStep(value: number) {\r\n this.previousStep = value;\r\n }\r\n @Input() set account(value: number) {\r\n this.accountId = value;\r\n }\r\n @Input() set typeId(value: number) {\r\n this.applicationTypeId = value;\r\n }\r\n @Input() set canGoBack(value: boolean) {\r\n this.showBackButton = value;\r\n }\r\n @Input() set submitting(value: boolean) {\r\n this.isSubmitting = value;\r\n }\r\n\r\n model$ = this.store.pipe(\r\n select(accessYourSuperTerminalMedicalCondition_Model)\r\n );\r\n form$ = this.store.pipe(select(accessYourSuperTerminalMedicalCondition_Form));\r\n releaseConditionOptions$ = this.store.pipe(\r\n select(accessYourSuperTerminalMedicalCondition_ReleaseConditionOptions)\r\n );\r\n fullAmountRadioOptions$ = this.store.pipe(\r\n select(accessYourSuperTerminalMedicalCondition_FullAmountRadioOptions)\r\n );\r\n savedFormData$ = this.store.pipe(\r\n select(accessYourSuperTerminalMedicalCondition_SavedFormData)\r\n );\r\n currentTotalPercent$ = this.store.pipe(\r\n select(accessYourSuperTerminalMedicalCondition_CurrentTotalPercent)\r\n );\r\n accountFeatureToggles$ = this.store.pipe(\r\n select(commonState_SystemConfig_AccountFeatureToggles)\r\n );\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n\r\n step: number = null;\r\n previousStep: number = null;\r\n id: number = null;\r\n applicationTypeId: number = null;\r\n paymentDetailId: number = null;\r\n investmentOptions: InvestmentItemModel[];\r\n accountId: number = null;\r\n maxDate: Date = new Date();\r\n showSummaryTextBox: boolean = false;\r\n featuretogglehelper = new FeatureToggleHelper();\r\n showBenefitAmountTooltip: boolean = false;\r\n isSubmitting: boolean = false;\r\n showBackButton: boolean = false;\r\n\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n async ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.sub = combineLatest([\r\n this.selectedAccount$,\r\n this.accountFeatureToggles$,\r\n ]).subscribe((x) => {\r\n if (x[0] && x[1]) {\r\n this.showSummaryTextBox = this.featuretogglehelper.checkToggle(\r\n FeatureToggleName.member.account.accessYourSuper\r\n .terminalIllnesssSummaryField.view,\r\n x[1],\r\n x[0]\r\n );\r\n this.showBenefitAmountTooltip = this.featuretogglehelper.checkToggle(\r\n FeatureToggleName.member.account.accessYourSuper.benefitAmountTooltip\r\n .view,\r\n x[1],\r\n x[0],\r\n true\r\n );\r\n }\r\n });\r\n\r\n var helper = new Helper();\r\n\r\n this.sub = this.model$.pipe(distinct()).subscribe(async (x) => {\r\n if (!x) {\r\n this.dispatch(\r\n this.store,\r\n RequestAction({\r\n accountId: this.accountId,\r\n applicationId: this.id,\r\n applicationTypeId: this.applicationTypeId,\r\n })\r\n );\r\n }\r\n\r\n if (x) {\r\n var form = await helper.getValue(this.form$);\r\n\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.showMedicalConditionSummary.id,\r\n this.showSummaryTextBox\r\n )\r\n );\r\n\r\n var fullAmountRadioOptions = [] as KeyValueModel[];\r\n fullAmountRadioOptions.push({\r\n key: 0,\r\n value: x.formLabels.fullAmountOptionOne,\r\n });\r\n fullAmountRadioOptions.push({\r\n key: 1,\r\n value: x.formLabels.fullAmountOptionTwo,\r\n });\r\n this.dispatch(\r\n this.store,\r\n SetFullAmountRadioOptionsAction({ payload: fullAmountRadioOptions })\r\n );\r\n\r\n var releaseConditionOptions = [] as KeyValueModel[];\r\n releaseConditionOptions.push({\r\n key: 1,\r\n value: x.formLabels.releaseConditionOptionOne,\r\n });\r\n releaseConditionOptions.push({\r\n key: 2,\r\n value: x.formLabels.releaseConditionOptionTwo,\r\n });\r\n this.dispatch(\r\n this.store,\r\n SetReleaseConditionOptionsAction({ payload: releaseConditionOptions })\r\n );\r\n\r\n var investmentOptions = Object.assign([], x.currentInvestmentMix);\r\n\r\n // update form values if we are updating an existing application\r\n if (x.submissionData) {\r\n this.paymentDetailId =\r\n x.submissionData.accessYourSuperPaymentDetailId;\r\n\r\n if (\r\n x.submissionData.paymentTypeId !==\r\n AccessYourSuperPaymentTypeEnum.PartialAmount\r\n ) {\r\n this.store.dispatch(\r\n new SetValueAction(form.controls.paymentType.id, 0)\r\n );\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.fullAmountSelection.id,\r\n x.submissionData.paymentTypeId - 1\r\n )\r\n );\r\n } else {\r\n this.store.dispatch(\r\n new SetValueAction(form.controls.paymentType.id, 1)\r\n );\r\n }\r\n\r\n x.submissionData.benefitAmount\r\n ? this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.partialAmountSpecified.id,\r\n x.submissionData.benefitAmount\r\n )\r\n )\r\n : null;\r\n\r\n x.submissionData.partialWithdrawalInvestmentSelection === true ||\r\n x.submissionData.partialWithdrawalInvestmentSelection === false\r\n ? this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.partialWithdrawalSelection.id,\r\n x.submissionData.partialWithdrawalInvestmentSelection\r\n )\r\n )\r\n : null;\r\n\r\n x.submissionData.disabilityCondition?.disabilityTypeId\r\n ? this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.releaseCondition.id,\r\n x.submissionData.disabilityCondition.disabilityTypeId\r\n )\r\n )\r\n : null;\r\n\r\n x.submissionData.disabilityCondition?.medicalConditionSummary\r\n ? this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.medicalConditionSummary.id,\r\n x.submissionData.disabilityCondition.medicalConditionSummary\r\n )\r\n )\r\n : null;\r\n\r\n if (x.submissionData.disabilityCondition?.illHealthDate) {\r\n var date = new Date(\r\n x.submissionData.disabilityCondition?.illHealthDate\r\n );\r\n var dateFormatted = date.toISOString().split('T')[0];\r\n\r\n x.submissionData.disabilityCondition?.illHealthDate\r\n ? this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.illHealthDate.id,\r\n dateFormatted\r\n )\r\n )\r\n : null;\r\n }\r\n // update the investmentOptions in form state if the member saved a custom drawdown\r\n if (x.submissionData.partialWithdrawalInvestmentSelection) {\r\n // if we have any specified investment options saved that are not in the current investment mix, we need to discard all of those that were saved\r\n var drawdownMatchesCurrentInvestmentMix = true;\r\n\r\n x.submissionData.investmentDrawdown.forEach((drawDown) => {\r\n var investmentOptionIndex = investmentOptions.findIndex(\r\n (o) => o.optionId === drawDown.optionId\r\n );\r\n\r\n // if we dont get an investmentOption, set the flag to false. Otherwise update the investmentOptions array with the saved percentage\r\n if (investmentOptionIndex === -1)\r\n drawdownMatchesCurrentInvestmentMix = false;\r\n else {\r\n investmentOptions[investmentOptionIndex] = {\r\n ...investmentOptions[investmentOptionIndex],\r\n percentage: drawDown.percentage,\r\n };\r\n }\r\n });\r\n\r\n // if our current investment mix matches the saved options, update the form value with the updated investmentOptions array\r\n // if it doesnt match, update the form value with the members current investment mix so they will have to reselect an investment drawdown\r\n if (drawdownMatchesCurrentInvestmentMix) {\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.investmentOptionDrawdown.id,\r\n investmentOptions\r\n )\r\n );\r\n } else {\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.investmentOptionDrawdown.id,\r\n x.currentInvestmentMix\r\n )\r\n );\r\n }\r\n }\r\n // if they didn't specify a custom drawdown, set the options with their investment mix\r\n else {\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.investmentOptionDrawdown.id,\r\n investmentOptions\r\n )\r\n );\r\n }\r\n } else {\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.investmentOptionDrawdown.id,\r\n investmentOptions\r\n )\r\n );\r\n }\r\n }\r\n });\r\n\r\n this.sub = this.form$\r\n .pipe(\r\n pairwise(),\r\n distinctUntilChanged((x, y) => {\r\n // check if text box value is NaN to avoid infinite loop..\r\n if (Number.isNaN(y[1].value.partialAmountSpecified)) return true;\r\n\r\n if (\r\n x[1].value.paymentType !== y[1].value.paymentType ||\r\n x[1].value.fullAmountSelection !== y[1].value.fullAmountSelection ||\r\n x[1].value.investmentOptionDrawdown !==\r\n y[1].value.investmentOptionDrawdown ||\r\n x[1].value.partialAmountSpecified !==\r\n y[1].value.partialAmountSpecified ||\r\n x[1].value.partialWithdrawalSelection !==\r\n y[1].value.partialWithdrawalSelection\r\n )\r\n return false;\r\n\r\n return true;\r\n })\r\n )\r\n .subscribe((form) => {\r\n if (form) {\r\n // If user has swapped from partial amount back to full amount, reset all form validations\r\n if (\r\n form[0].value.paymentType === 1 &&\r\n form[1].value.paymentType === 0\r\n ) {\r\n this.store.dispatch(\r\n new SetErrorsAction(\r\n form[1].controls.partialAmountSpecified.id,\r\n {}\r\n )\r\n );\r\n this.store.dispatch(\r\n new SetErrorsAction(\r\n form[1].controls.investmentOptionDrawdown.id,\r\n {}\r\n )\r\n );\r\n }\r\n\r\n // Reset validation if user swaps from custom selection to auto selection of investment dropdown\r\n if (\r\n form[0].value.partialWithdrawalSelection !==\r\n form[1].value.partialWithdrawalSelection\r\n ) {\r\n this.store.dispatch(\r\n new SetErrorsAction(\r\n form[1].controls.investmentOptionDrawdown.id,\r\n {}\r\n )\r\n );\r\n }\r\n\r\n if (\r\n form[1].value.paymentType === 1 &&\r\n form[1].value.partialWithdrawalSelection\r\n ) {\r\n var drawdownTotal = 0;\r\n var calculatedAmountHigherThanBalance = false;\r\n\r\n form[1].value.investmentOptionDrawdown.forEach(\r\n (investmentOption, index) => {\r\n drawdownTotal += investmentOption.percentage;\r\n if (!calculatedAmountHigherThanBalance) {\r\n calculatedAmountHigherThanBalance =\r\n investmentOption.amount <\r\n form[1].value.partialAmountSpecified *\r\n (investmentOption.percentage / 100);\r\n }\r\n }\r\n );\r\n\r\n // If drawdownTotal is 100, remove error. If it is not 100, set validation error\r\n if (drawdownTotal === 100 && !calculatedAmountHigherThanBalance) {\r\n this.store.dispatch(\r\n new SetErrorsAction(\r\n form[1].controls.investmentOptionDrawdown.id,\r\n {}\r\n )\r\n );\r\n } else {\r\n var errors = {};\r\n\r\n if (drawdownTotal !== 100) {\r\n errors['percentageTotal'] = 'Total must be 100.';\r\n }\r\n\r\n if (calculatedAmountHigherThanBalance) {\r\n errors['calculatedTotal'] =\r\n 'A calculated amount cannot be higher than the investment accounts balance.';\r\n }\r\n this.store.dispatch(\r\n new SetErrorsAction(\r\n form[1].controls.investmentOptionDrawdown.id,\r\n errors\r\n )\r\n );\r\n }\r\n }\r\n }\r\n });\r\n\r\n // Go next step when form has been successfully saved\r\n this.sub = this.savedFormData$.subscribe((x) => {\r\n if (x) {\r\n this.dispatch(\r\n this.store,\r\n SetCurrentStepAction({ nextStep: this.step })\r\n );\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n this.dispatch(this.store, ResetComponentStateAction());\r\n }\r\n\r\n exitForm() {\r\n this.router.navigate(['/access-your-super']);\r\n }\r\n\r\n async goNextStep() {\r\n var helper = new Helper();\r\n var form = await helper.getValue(this.form$);\r\n\r\n var paymentTypeId =\r\n form.value.paymentType === 0 && form.value.fullAmountSelection === 0\r\n ? AccessYourSuperPaymentTypeEnum.FullAmountCloseAccount\r\n : form.value.paymentType === 0 && form.value.fullAmountSelection === 1\r\n ? AccessYourSuperPaymentTypeEnum.FullAmountKeepAccountOpen\r\n : AccessYourSuperPaymentTypeEnum.PartialAmount;\r\n\r\n var investmentDrawdown = form.value.investmentOptionDrawdown.map(\r\n (investmentOption) =>\r\n ({\r\n optionId: investmentOption.optionId,\r\n option: investmentOption.option,\r\n amount: investmentOption.amount,\r\n percentage: investmentOption.percentage,\r\n } as InvestmentItemModel)\r\n );\r\n\r\n var payload = {\r\n accessYourSuperPaymentDetailId: this.paymentDetailId,\r\n accessYourSuperApplicationId: this.id,\r\n paymentTypeId: paymentTypeId,\r\n benefitAmount:\r\n paymentTypeId === AccessYourSuperPaymentTypeEnum.PartialAmount\r\n ? form.value.partialAmountSpecified\r\n : null,\r\n partialWithdrawalInvestmentSelection:\r\n paymentTypeId === AccessYourSuperPaymentTypeEnum.PartialAmount\r\n ? form.value.partialWithdrawalSelection\r\n : null,\r\n investmentDrawdown:\r\n paymentTypeId === AccessYourSuperPaymentTypeEnum.PartialAmount &&\r\n form.value.partialWithdrawalSelection\r\n ? investmentDrawdown\r\n : null,\r\n disabilityCondition: {\r\n illHealthDate: new Date(form.value.illHealthDate),\r\n disabilityTypeId: form.value.releaseCondition,\r\n medicalConditionSummary: form.value.medicalConditionSummary,\r\n },\r\n } as AccessYourSuperPaymentDetailSubmissionModel;\r\n\r\n this.dispatch(\r\n this.store,\r\n SaveFormDataAction({ accountId: this.accountId, payload: payload })\r\n );\r\n }\r\n\r\n goBack() {\r\n this.dispatch(\r\n this.store,\r\n SetCurrentStepAction({ nextStep: this.previousStep })\r\n );\r\n }\r\n}\r\n","
\r\n

Terminal medical condition benefit payment

\r\n
\r\n
\r\n
\r\n
\r\n
{{model.formLabels.paymentType}}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{model.formLabels.benefitAmount}}\r\n help_outline\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{model.formLabels.releaseCondition}}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{model.formLabels.illHealthDate}}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{model.formLabels.medicalConditionSummary}}\r\n help_outline\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{model.formLabels.investmentOptionChoice}}\r\n help_outline\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{model.formLabels.provideInvestmentOption}}\r\n
\r\n \r\n
\r\n
\r\n\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex flex-wrap mt-4\">\r\n
\r\n \r\n
\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex\">\r\n 767, 'mt-1': screenWidth<768}\"\r\n class=\"flex-fill {{'BTN.access-your-super.back.class' | translate}}\" title=\"Back\"\r\n icon=\"{{'BTN.access-your-super.back.icon' | translate}}\" [isDisabled]=\"isSubmitting\"\r\n color=\"{{'BTN.access-your-super.back.color' | translate}}\" (onClick)=\"goBack()\">\r\n 767, 'mt-1': screenWidth<768}\" class=\"flex-fill\"\r\n title=\"Next\" icon=\"{{'BTN.access-your-super.continue.icon' | translate}}\"\r\n color=\"{{'BTN.access-your-super.continue.color' | translate}}\"\r\n [isDisabled]=\"form.isInvalid || isSubmitting\" loading (onClick)=\"goNextStep()\">\r\n
\r\n
\r\n
\r\n
","import { createFeatureSelector, createSelector } from \"@ngrx/store\";\r\nimport { featureKey } from \"../../../store/shared.reducers\";\r\nimport { MemberPortalSharedState } from \"../../../store/shared.states\";\r\nimport { IAccessYourSuperUnrestrictedNonPreservedComponentState } from \"./state\";\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const getAccessYourSuperUnrestrictedNonPreservedState = createSelector(memberPortalState, (state) => state.accessYourSuperUnrestrictedNonPreservedComponentState);\r\n\r\nexport const accessYourSuperUnrestrictedNonPreserved_Model = createSelector(\r\n getAccessYourSuperUnrestrictedNonPreservedState,\r\n (state: IAccessYourSuperUnrestrictedNonPreservedComponentState) => state.model\r\n);\r\n\r\nexport const accessYourSuperUnrestrictedNonPreserved_Form = createSelector(\r\n getAccessYourSuperUnrestrictedNonPreservedState,\r\n (state: IAccessYourSuperUnrestrictedNonPreservedComponentState) => state.form\r\n);\r\n\r\nexport const accessYourSuperUnrestrictedNonPreserved_FullAmountRadioOptions = createSelector(\r\n getAccessYourSuperUnrestrictedNonPreservedState,\r\n (state: IAccessYourSuperUnrestrictedNonPreservedComponentState) => state.fullAmountRadioOptions\r\n);\r\n\r\nexport const accessYourSuperUnrestrictedNonPreserved_CurrentTotalPercent = createSelector(\r\n getAccessYourSuperUnrestrictedNonPreservedState,\r\n (state: IAccessYourSuperUnrestrictedNonPreservedComponentState) => state.form.value.investmentOptionDrawdown.reduce((a, b) => a + b.percentage, 0)\r\n);\r\n\r\nexport const accessYourSuperUnrestrictedNonPreserved_SavedFormData = createSelector(\r\n getAccessYourSuperUnrestrictedNonPreservedState,\r\n (state: IAccessYourSuperUnrestrictedNonPreservedComponentState) => state.savedFormData\r\n);","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n AppButtonComponent,\r\n EntryFieldRadioComponent,\r\n Helper,\r\n KeyValueModel,\r\n NumberEntryFieldComponent,\r\n} from '@ifaa-components/ui-components';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { NgrxFormsModule, SetErrorsAction, SetValueAction } from 'ngrx-forms';\r\nimport { distinct, distinctUntilChanged, pairwise } from 'rxjs/operators';\r\nimport { AccessYourSuperPaymentTypeEnum } from 'src/app/enums/access-your-super-payment-type.enum';\r\nimport { AccessYourSuperPaymentDetailSubmissionModel } from 'src/app/model/access-your-super-custom-sections.model';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { SetCurrentStepAction } from '../../access-your-super-form/actions';\r\nimport {\r\n RequestAction,\r\n ResetComponentStateAction,\r\n SaveFormDataAction,\r\n SetFullAmountRadioOptionsAction,\r\n} from './actions';\r\nimport {\r\n accessYourSuperUnrestrictedNonPreserved_CurrentTotalPercent,\r\n accessYourSuperUnrestrictedNonPreserved_Form,\r\n accessYourSuperUnrestrictedNonPreserved_FullAmountRadioOptions,\r\n accessYourSuperUnrestrictedNonPreserved_Model,\r\n accessYourSuperUnrestrictedNonPreserved_SavedFormData,\r\n} from './selectors';\r\nimport { AvailableAccountBalanceModel } from 'src/app/model/available-account-balance.model';\r\nimport { InvestmentItemModel } from 'src/app/model/investment-item.model';\r\nimport { memberAccountDropdown_SelectedAccount } from '../../member-account-dropdown/selectors';\r\nimport { commonState_SystemConfig_AccountFeatureToggles } from 'src/app/store/common/common.selectors';\r\nimport { FeatureToggleHelper } from 'src/app/helper/featureToggleHelper';\r\nimport { combineLatest } from 'rxjs';\r\nimport { FeatureToggleName } from 'src/app/model/feature-toggle-name.model';\r\nimport { NgIf, AsyncPipe, NgClass } from '@angular/common';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MatTooltip } from '@angular/material/tooltip';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { AnimateCssDirective } from '../../../directives/animatecss.directive';\r\nimport { AppRadioDirective } from '../../../directives/app-radio.directive';\r\nimport { AppButtonDirective } from '../../../directives/appbutton.directive';\r\nimport { InputScrollDirective } from '../../../directives/input-scroll.directive';\r\nimport { AccessYourSuperDrawdownComponent } from '../access-your-super-drawdown/access-your-super-drawdown.component';\r\n\r\n@Component({\r\n selector: 'app-access-your-super-unrestricted-non-preserved',\r\n templateUrl: './access-your-super-unrestricted-non-preserved.component.html',\r\n styleUrls: ['./access-your-super-unrestricted-non-preserved.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n NgrxFormsModule,\r\n EntryFieldRadioComponent,\r\n AppRadioDirective,\r\n InputScrollDirective,\r\n MatIcon,\r\n MatTooltip,\r\n NumberEntryFieldComponent,\r\n AnimateCssDirective,\r\n AccessYourSuperDrawdownComponent,\r\n NgClass,\r\n AppButtonComponent,\r\n AppButtonDirective,\r\n TranslatePipe,\r\n ],\r\n})\r\nexport class AccessYourSuperUnrestrictedNonPreservedComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n @Input() set nextStep(value: number) {\r\n this.step = value;\r\n }\r\n @Input() set applicationId(value: number) {\r\n this.id = value;\r\n }\r\n @Input() set backStep(value: number) {\r\n this.previousStep = value;\r\n }\r\n @Input() set account(value: number) {\r\n this.accountId = value;\r\n }\r\n @Input() set data(value: AvailableAccountBalanceModel) {\r\n this.accountBalance = value;\r\n }\r\n @Input() set typeId(value: number) {\r\n this.applicationTypeId = value;\r\n }\r\n @Input() set canGoBack(value: boolean) {\r\n this.showBackButton = value;\r\n }\r\n @Input() set submitting(value: boolean) {\r\n this.isSubmitting = value;\r\n }\r\n\r\n model$ = this.store.pipe(\r\n select(accessYourSuperUnrestrictedNonPreserved_Model)\r\n );\r\n form$ = this.store.pipe(select(accessYourSuperUnrestrictedNonPreserved_Form));\r\n fullAmountRadioOptions$ = this.store.pipe(\r\n select(accessYourSuperUnrestrictedNonPreserved_FullAmountRadioOptions)\r\n );\r\n savedFormData$ = this.store.pipe(\r\n select(accessYourSuperUnrestrictedNonPreserved_SavedFormData)\r\n );\r\n currentTotalPercent$ = this.store.pipe(\r\n select(accessYourSuperUnrestrictedNonPreserved_CurrentTotalPercent)\r\n );\r\n featureToggles$ = this.store.pipe(\r\n select(commonState_SystemConfig_AccountFeatureToggles)\r\n );\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n\r\n step: number = null;\r\n previousStep: number = null;\r\n id: number = null;\r\n applicationTypeId: number = null;\r\n paymentDetailId: number = null;\r\n accountId: number = null;\r\n accountBalance: AvailableAccountBalanceModel = null;\r\n isSubmitting: boolean = false;\r\n showBackButton: boolean = false;\r\n showBenefitAmountTooltip: boolean = false;\r\n featureToggleHelper: FeatureToggleHelper = new FeatureToggleHelper();\r\n\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n async ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.sub = combineLatest([\r\n this.selectedAccount$,\r\n this.featureToggles$,\r\n ]).subscribe((x) => {\r\n if (x[0] && x[1]) {\r\n this.showBenefitAmountTooltip = this.featureToggleHelper.checkToggle(\r\n FeatureToggleName.member.account.accessYourSuper.benefitAmountTooltip\r\n .view,\r\n x[1],\r\n x[0],\r\n true\r\n );\r\n }\r\n });\r\n\r\n this.sub = this.model$.pipe(distinct()).subscribe(async (x) => {\r\n if (!x) {\r\n this.dispatch(\r\n this.store,\r\n RequestAction({\r\n accountId: this.accountId,\r\n applicationId: this.id,\r\n applicationTypeId: this.applicationTypeId,\r\n })\r\n );\r\n }\r\n\r\n if (x) {\r\n // set full amount radio options\r\n var fullAmountRadioOptions = [] as KeyValueModel[];\r\n fullAmountRadioOptions.push({\r\n key: 0,\r\n value: x.formLabels.fullAmountOptionOne,\r\n });\r\n fullAmountRadioOptions.push({\r\n key: 1,\r\n value: x.formLabels.fullAmountOptionTwo,\r\n });\r\n this.dispatch(\r\n this.store,\r\n SetFullAmountRadioOptionsAction({ payload: fullAmountRadioOptions })\r\n );\r\n\r\n var helper = new Helper();\r\n var form = await helper.getValue(this.form$);\r\n\r\n var investmentOptions = Object.assign([], x.currentInvestmentMix);\r\n\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.unrestrictedNonPreserved.id,\r\n this.accountBalance.unrestrictedNonPreserved\r\n )\r\n );\r\n\r\n // update form values if we are updating an existing application\r\n if (x.submissionData) {\r\n this.paymentDetailId =\r\n x.submissionData.accessYourSuperPaymentDetailId;\r\n\r\n if (\r\n x.submissionData.paymentTypeId !==\r\n AccessYourSuperPaymentTypeEnum.PartialAmount\r\n ) {\r\n this.store.dispatch(\r\n new SetValueAction(form.controls.paymentType.id, 0)\r\n );\r\n\r\n if (\r\n x.submissionData.paymentTypeId ===\r\n AccessYourSuperPaymentTypeEnum.FullAmountEntireUnrp\r\n ) {\r\n this.store.dispatch(\r\n new SetValueAction(form.controls.fullAmountSelection.id, 0)\r\n );\r\n } else {\r\n this.store.dispatch(\r\n new SetValueAction(form.controls.fullAmountSelection.id, 1)\r\n );\r\n }\r\n } else {\r\n this.store.dispatch(\r\n new SetValueAction(form.controls.paymentType.id, 1)\r\n );\r\n }\r\n\r\n x.submissionData.benefitAmount\r\n ? this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.partialAmountSpecified.id,\r\n x.submissionData.benefitAmount\r\n )\r\n )\r\n : null;\r\n x.submissionData.partialWithdrawalInvestmentSelection === true ||\r\n x.submissionData.partialWithdrawalInvestmentSelection === false\r\n ? this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.partialWithdrawalSelection.id,\r\n x.submissionData.partialWithdrawalInvestmentSelection\r\n )\r\n )\r\n : null;\r\n\r\n // update the investmentOptions in form state if the member saved a custom drawdown\r\n if (x.submissionData.partialWithdrawalInvestmentSelection) {\r\n // if we have any specified investment options saved that are not in the current investment mix, we need to discard all of those that were saved\r\n var drawdownMatchesCurrentInvestmentMix = true;\r\n\r\n x.submissionData.investmentDrawdown.forEach((drawDown) => {\r\n var investmentOptionIndex = investmentOptions.findIndex(\r\n (o) => o.optionId === drawDown.optionId\r\n );\r\n\r\n // if we dont get an investmentOption, set the flag to false. Otherwise update the investmentOptions array with the saved percentage\r\n if (investmentOptionIndex === -1)\r\n drawdownMatchesCurrentInvestmentMix = false;\r\n else {\r\n investmentOptions[investmentOptionIndex] = {\r\n ...investmentOptions[investmentOptionIndex],\r\n percentage: drawDown.percentage,\r\n };\r\n }\r\n });\r\n\r\n // if our current investment mix matches the saved options, update the form value with the updated investmentOptions array\r\n // if it doesnt match, update the form value with the members current investment mix so they will have to reselect an investment drawdown\r\n if (drawdownMatchesCurrentInvestmentMix) {\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.investmentOptionDrawdown.id,\r\n investmentOptions\r\n )\r\n );\r\n } else {\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.investmentOptionDrawdown.id,\r\n x.currentInvestmentMix\r\n )\r\n );\r\n }\r\n }\r\n // if they didn't specify a custom drawdown, set the options with their investment mix\r\n else {\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.investmentOptionDrawdown.id,\r\n investmentOptions\r\n )\r\n );\r\n }\r\n } else {\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.investmentOptionDrawdown.id,\r\n investmentOptions\r\n )\r\n );\r\n }\r\n }\r\n });\r\n\r\n this.sub = this.form$\r\n .pipe(\r\n pairwise(),\r\n distinctUntilChanged((x, y) => {\r\n // check if text box value is NaN to avoid infinite loop..\r\n if (Number.isNaN(y[1].value.partialAmountSpecified)) return true;\r\n\r\n if (\r\n x[1].value.paymentType !== y[1].value.paymentType ||\r\n x[1].value.fullAmountSelection !== y[1].value.fullAmountSelection ||\r\n x[1].value.investmentOptionDrawdown !==\r\n y[1].value.investmentOptionDrawdown ||\r\n x[1].value.partialAmountSpecified !==\r\n y[1].value.partialAmountSpecified ||\r\n x[1].value.partialWithdrawalSelection !==\r\n y[1].value.partialWithdrawalSelection\r\n )\r\n return false;\r\n\r\n return true;\r\n })\r\n )\r\n .subscribe((form) => {\r\n if (form) {\r\n // If user has swapped from partial amount back to full amount, reset all form validations\r\n if (\r\n form[0].value.paymentType === 1 &&\r\n form[1].value.paymentType === 0\r\n ) {\r\n this.store.dispatch(\r\n new SetErrorsAction(\r\n form[1].controls.partialAmountSpecified.id,\r\n {}\r\n )\r\n );\r\n this.store.dispatch(\r\n new SetErrorsAction(\r\n form[1].controls.investmentOptionDrawdown.id,\r\n {}\r\n )\r\n );\r\n }\r\n\r\n // Reset validation if user swaps from custom selection to auto selection of investment dropdown\r\n if (\r\n form[0].value.partialWithdrawalSelection !==\r\n form[1].value.partialWithdrawalSelection\r\n ) {\r\n this.store.dispatch(\r\n new SetErrorsAction(\r\n form[1].controls.investmentOptionDrawdown.id,\r\n {}\r\n )\r\n );\r\n }\r\n\r\n if (\r\n form[1].value.paymentType === 1 &&\r\n form[1].value.partialWithdrawalSelection\r\n ) {\r\n var drawdownTotal = 0;\r\n var calculatedAmountHigherThanBalance = false;\r\n\r\n form[1].value.investmentOptionDrawdown.forEach(\r\n (investmentOption, index) => {\r\n drawdownTotal += investmentOption.percentage;\r\n if (!calculatedAmountHigherThanBalance) {\r\n calculatedAmountHigherThanBalance =\r\n investmentOption.amount <\r\n form[1].value.partialAmountSpecified *\r\n (investmentOption.percentage / 100);\r\n }\r\n }\r\n );\r\n\r\n // If drawdownTotal is 100, remove error. If it is not 100, set validation error\r\n if (drawdownTotal === 100 && !calculatedAmountHigherThanBalance) {\r\n this.store.dispatch(\r\n new SetErrorsAction(\r\n form[1].controls.investmentOptionDrawdown.id,\r\n {}\r\n )\r\n );\r\n } else {\r\n var errors = {};\r\n\r\n if (drawdownTotal !== 100) {\r\n errors['percentageTotal'] = 'Total must be 100.';\r\n }\r\n\r\n if (calculatedAmountHigherThanBalance) {\r\n errors['calculatedTotal'] =\r\n 'A calculated amount cannot be higher than the investment accounts balance.';\r\n }\r\n this.store.dispatch(\r\n new SetErrorsAction(\r\n form[1].controls.investmentOptionDrawdown.id,\r\n errors\r\n )\r\n );\r\n }\r\n }\r\n }\r\n });\r\n\r\n // Go next step when form has been successfully saved\r\n this.sub = this.savedFormData$.subscribe((x) => {\r\n if (x) {\r\n this.dispatch(\r\n this.store,\r\n SetCurrentStepAction({ nextStep: this.step })\r\n );\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n this.dispatch(this.store, ResetComponentStateAction());\r\n }\r\n\r\n exitForm() {\r\n this.router.navigate(['/access-your-super']);\r\n }\r\n\r\n async goNextStep() {\r\n var helper = new Helper();\r\n var form = await helper.getValue(this.form$);\r\n\r\n var paymentTypeId = null;\r\n\r\n if (form.value.paymentType === 0 && form.value.fullAmountSelection === 0) {\r\n paymentTypeId = AccessYourSuperPaymentTypeEnum.FullAmountEntireUnrp;\r\n } else if (\r\n form.value.paymentType === 0 &&\r\n form.value.fullAmountSelection === 1\r\n ) {\r\n paymentTypeId =\r\n AccessYourSuperPaymentTypeEnum.FullAmountEntireUnrpKeepAccountOpen;\r\n } else {\r\n paymentTypeId = AccessYourSuperPaymentTypeEnum.PartialAmount;\r\n }\r\n\r\n var investmentDrawdown = form.value.investmentOptionDrawdown.map(\r\n (investmentOption) =>\r\n ({\r\n optionId: investmentOption.optionId,\r\n option: investmentOption.option,\r\n amount: investmentOption.amount,\r\n percentage: investmentOption.percentage,\r\n } as InvestmentItemModel)\r\n );\r\n\r\n var payload = {\r\n accessYourSuperPaymentDetailId: this.paymentDetailId,\r\n accessYourSuperApplicationId: this.id,\r\n paymentTypeId: paymentTypeId,\r\n benefitAmount:\r\n paymentTypeId === AccessYourSuperPaymentTypeEnum.PartialAmount\r\n ? form.value.partialAmountSpecified\r\n : null,\r\n partialWithdrawalInvestmentSelection:\r\n paymentTypeId === AccessYourSuperPaymentTypeEnum.PartialAmount\r\n ? form.value.partialWithdrawalSelection\r\n : null,\r\n investmentDrawdown:\r\n paymentTypeId === AccessYourSuperPaymentTypeEnum.PartialAmount &&\r\n form.value.partialWithdrawalSelection\r\n ? investmentDrawdown\r\n : null,\r\n } as AccessYourSuperPaymentDetailSubmissionModel;\r\n\r\n this.dispatch(\r\n this.store,\r\n SaveFormDataAction({ accountId: this.accountId, payload: payload })\r\n );\r\n }\r\n\r\n goBack() {\r\n this.dispatch(\r\n this.store,\r\n SetCurrentStepAction({ nextStep: this.previousStep })\r\n );\r\n }\r\n}\r\n","
\r\n

URNP Component

\r\n
\r\n
\r\n
\r\n
\r\n
{{model.formLabels.paymentType}}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{model.formLabels.benefitAmount}}\r\n help_outline\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{model.formLabels.investmentOptionChoice}}\r\n help_outline\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{model.formLabels.provideInvestmentOption}}\r\n
\r\n \r\n
\r\n
\r\n\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex flex-wrap mt-4\">\r\n
\r\n \r\n
\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex\">\r\n 767, 'mt-1': screenWidth<768}\"\r\n class=\"flex-fill {{'BTN.access-your-super.back.class' | translate}}\" title=\"Back\"\r\n icon=\"{{'BTN.access-your-super.back.icon' | translate}}\" [isDisabled]=\"isSubmitting\"\r\n color=\"{{'BTN.access-your-super.back.color' | translate}}\" (onClick)=\"goBack()\">\r\n 767, 'mt-1': screenWidth<768}\" class=\"flex-fill\"\r\n title=\"Next\" icon=\"{{'BTN.access-your-super.continue.icon' | translate}}\"\r\n color=\"{{'BTN.access-your-super.continue.color' | translate}}\"\r\n [isDisabled]=\"form.isInvalid || isSubmitting\" loading (onClick)=\"goNextStep()\">\r\n
\r\n
\r\n
\r\n
","import { createFeatureSelector, createSelector } from \"@ngrx/store\";\r\nimport { featureKey } from \"../../store/shared.reducers\";\r\nimport { MemberPortalSharedState } from \"../../store/shared.states\";\r\nimport { IAccessYourSuperDocumentsComponentState } from \"./state\";\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const getAccessYourSuperDocumentsState = createSelector(memberPortalState, (state) => state.accessYourSuperDocumentsComponentState);\r\n\r\nexport const accessYourSuperDocuments_Form = createSelector(\r\n getAccessYourSuperDocumentsState,\r\n (state: IAccessYourSuperDocumentsComponentState) => state.form\r\n)\r\n\r\nexport const accessYourSuperDocuments_UploadedDocument = createSelector(\r\n getAccessYourSuperDocumentsState,\r\n (state: IAccessYourSuperDocumentsComponentState) => state.uploadedDocument\r\n)\r\n\r\nexport const accessYourSuperDocuments_DeletedDocument = createSelector(\r\n getAccessYourSuperDocumentsState,\r\n (state: IAccessYourSuperDocumentsComponentState) => state.deletedDocument\r\n)\r\n\r\nexport const accessYourSuperDocuments_ReplacedDocument = createSelector(\r\n getAccessYourSuperDocumentsState,\r\n (state: IAccessYourSuperDocumentsComponentState) => state.replacedDocument\r\n)\r\n\r\nexport const accessYourSuperDocuments_FileRequestFailed = createSelector(\r\n getAccessYourSuperDocumentsState,\r\n (state: IAccessYourSuperDocumentsComponentState) => state.fileRequestFailed\r\n)\r\n\r\nexport const accessYourSuperDocuments_SupportingDocuments = createSelector(\r\n getAccessYourSuperDocumentsState,\r\n (state:IAccessYourSuperDocumentsComponentState) => state.form.controls.supportingDocuments\r\n)\r\n\r\nexport const accessYourSuperDocuments_DocumentsCompleted = createSelector(\r\n getAccessYourSuperDocumentsState,\r\n (state:IAccessYourSuperDocumentsComponentState) => state.documentsCompleted\r\n)\r\n\r\nexport const accessYourSuperDocuments_FilesAndAuthorities = createSelector(\r\n getAccessYourSuperDocumentsState, \r\n (state: IAccessYourSuperDocumentsComponentState) => {\r\n var filesAndAuthorities = {};\r\n\r\n state.form.controls.supportingDocuments.controls.forEach((overview, index) => {\r\n filesAndAuthorities[index] = {};\r\n filesAndAuthorities[index]['filesControlId'] = overview.controls.files.id;\r\n filesAndAuthorities[index]['files'] = overview.controls.files.value;\r\n filesAndAuthorities[index]['authorityControlId'] = overview.controls.requestAuthority.id;\r\n filesAndAuthorities[index]['authority'] = overview.controls.requestAuthority.value;\r\n filesAndAuthorities[index]['isRequired'] = overview.controls.isDocumentRequired.value;\r\n });\r\n\r\n return filesAndAuthorities;\r\n }\r\n)\r\n\r\nexport const accessYourSuperDocuments_Authorities = createSelector(\r\n getAccessYourSuperDocumentsState,\r\n (state:IAccessYourSuperDocumentsComponentState) => {\r\n return state.form.controls.supportingDocuments.controls.map((overview,index) => {\r\n return overview.value.requestAuthority\r\n })\r\n }\r\n)\r\n\r\nexport const accessYourSuperDocuments_ReferenceValue = createSelector(\r\n getAccessYourSuperDocumentsState,\r\n (state:IAccessYourSuperDocumentsComponentState) => {\r\n var referenceValueControl = state.form.controls.supportingDocuments.controls.find(o => o?.value?.referenceRequired)\r\n var referenceControlId = referenceValueControl?.controls.referenceValue.id;\r\n \r\n return {\r\n controlId: referenceControlId,\r\n value: referenceValueControl?.value?.referenceValue,\r\n required: referenceValueControl?.value?.referenceRequired,\r\n authorityGiven:referenceValueControl?.value.requestAuthority\r\n };\r\n }\r\n)\r\n\r\nexport const accessYourSuperDocuments_FormValidity = createSelector(\r\n getAccessYourSuperDocumentsState,\r\n (state:IAccessYourSuperDocumentsComponentState) => state.form.isValid\r\n)","import { AvailableAccountBalanceModel } from \"./available-account-balance.model\";\r\nimport { BankDetailsModel } from \"./bank-details.model\";\r\n\r\nexport class AccessYourSuperApplicationTypesListModel{\r\n [key: string]: AccessYourSuperApplicationType[]\r\n}\r\n\r\nexport class AccessYourSuperApplicationTypesListResponseModel{\r\n applicationTypes:AccessYourSuperApplicationTypesListModel;\r\n hasError:boolean;\r\n errorMessage:string;\r\n}\r\n\r\nexport class AccessYourSuperApplicationType{\r\n applicationId:number;\r\n applicationTypeId:number;\r\n conditionName:string;\r\n conditionDescription:string;\r\n conditionDisclaimer:string;\r\n requiredSections:number[];\r\n directToAto:boolean;\r\n redirectToAtoWording:string;\r\n redirectToAtoLink:string;\r\n currentStep:number;\r\n}\r\n\r\nexport class AccessYourSuperEmployerDetailsModel{\r\n lastEmployerName: string;\r\n stillWithEmployer?: boolean = null;\r\n finishDate?: Date|string = null;\r\n waitingOnFinalContribution?: boolean = null;\r\n}\r\n\r\nexport class AccessYourSuperDocumentOverviewModel{\r\n documentTypeId: number;\r\n documentName: string;\r\n documentDescription: string;\r\n documentAmountRequired: number;\r\n isDocumentRequired:boolean;\r\n documentDisclaimer:string;\r\n authorityGiven:boolean;\r\n canRequestAuthority:boolean;\r\n referenceRequired:boolean;\r\n referenceLabel:string;\r\n referenceValue:string;\r\n documentsUploaded:boolean;\r\n documentList: AccessYourSuperSupportingDocumentModel[];\r\n}\r\n\r\nexport class AccessYourSuperSupportingDocumentModel{\r\n uploadedDocumentId: number | null;\r\n applicationId: number;\r\n documentTypeId: number;\r\n originalFileName: string;\r\n systemFileName: string;\r\n fileLocation: string;\r\n fileCreatedDate: Date;\r\n authorityGiven:boolean;\r\n}\r\n\r\nexport class AccessYourSuperApplicationDataModel{\r\n conditionData: AccessYourSuperApplicationType;\r\n accountBalances: AvailableAccountBalanceModel;\r\n bankDetails: BankDetailsModel;\r\n employerDetails: AccessYourSuperEmployerDetailsModel;\r\n applicationDocuments: AccessYourSuperDocumentOverviewModel[];\r\n customWording: { [key:string] : string };\r\n}\r\n\r\n\r\n\r\n// submission models\r\nexport class AccessYourSuperEmployerDetailsSubmissionModel{\r\n lastEmployerName: string;\r\n stillWithEmployer?: boolean = null;\r\n finishDate?: Date = null;\r\n waitingOnFinalContribution?: boolean = null;\r\n currentStep:number;\r\n}\r\n\r\nexport class AccessYourSuperBankDetailsSubmissionModel{\r\n accountName:string;\r\n accountNumber:string;\r\n bsb:string;\r\n bankName:string;\r\n currentStep:number;\r\n}\r\n\r\nexport class AccessYourSuperDocumentSubmissionModel{\r\n customerReferenceNumber:string;\r\n documents:AccessYourSuperSupportingDocumentModel[]\r\n}","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Store, select } from '@ngrx/store';\r\nimport {\r\n AccessYourSuperApplicationType,\r\n AccessYourSuperDocumentOverviewModel,\r\n AccessYourSuperDocumentSubmissionModel,\r\n} from 'src/app/model/access-your-super-form.models';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport {\r\n SetupSupportingDocumentOverviewAction,\r\n ResetFileRequestFailedAction,\r\n GreenIdVerifiedAction,\r\n ResetComponentStateAction,\r\n SaveDocumentAction,\r\n DeleteDocumentAction,\r\n AddNewAppFileAction,\r\n CompleteDocumentsAction,\r\n RemoveAppFileAction,\r\n ReplaceDocumentAction,\r\n} from './actions';\r\nimport { SetCurrentStepAction } from '../access-your-super-form/actions';\r\nimport {\r\n accessYourSuperDocuments_Authorities,\r\n accessYourSuperDocuments_DeletedDocument,\r\n accessYourSuperDocuments_DocumentsCompleted,\r\n accessYourSuperDocuments_FilesAndAuthorities,\r\n accessYourSuperDocuments_Form,\r\n accessYourSuperDocuments_ReferenceValue,\r\n accessYourSuperDocuments_ReplacedDocument,\r\n accessYourSuperDocuments_FileRequestFailed,\r\n accessYourSuperDocuments_SupportingDocuments,\r\n accessYourSuperDocuments_UploadedDocument,\r\n accessYourSuperDocuments_FormValidity,\r\n} from './selectors';\r\nimport {\r\n AppButtonComponent,\r\n AppFileModel,\r\n AppGreenIdComponent,\r\n EntryCheckboxFieldComponent,\r\n EntryFieldComponent,\r\n FileEntryFieldComponent,\r\n Helper,\r\n} from '@ifaa-components/ui-components';\r\nimport {\r\n FormGroupState,\r\n MarkAsTouchedAction,\r\n NgrxFormsModule,\r\n SetErrorsAction,\r\n SetValueAction,\r\n} from 'ngrx-forms';\r\nimport { AccessYourSuperSupportingDocumentModel } from 'src/app/model/access-your-super-form.models';\r\nimport {\r\n debounceTime,\r\n distinctUntilChanged,\r\n map,\r\n pairwise,\r\n skipWhile,\r\n} from 'rxjs/operators';\r\nimport { AccessYourSuperDocumentDetails } from './state';\r\nimport { combineLatest } from 'rxjs';\r\nimport { commomState_ElevatedAccess } from 'src/app/store/common/common.selectors';\r\nimport { NgIf, AsyncPipe, NgClass, NgFor } from '@angular/common';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { AppButtonDirective } from '../../directives/appbutton.directive';\r\nimport { InputScrollDirective } from '../../directives/input-scroll.directive';\r\n\r\n@Component({\r\n selector: 'app-access-your-super-documents',\r\n templateUrl: './access-your-super-documents.component.html',\r\n styleUrls: ['./access-your-super-documents.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n AppGreenIdComponent,\r\n NgClass,\r\n NgFor,\r\n FileEntryFieldComponent,\r\n EntryFieldComponent,\r\n InputScrollDirective,\r\n MatIcon,\r\n EntryCheckboxFieldComponent,\r\n TranslatePipe,\r\n AppButtonComponent,\r\n AppButtonDirective,\r\n NgrxFormsModule,\r\n ],\r\n})\r\nexport class AccessYourSuperDocumentsComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n helper = new Helper();\r\n\r\n @Output() onDocumentsSaved: EventEmitter = new EventEmitter();\r\n @Output() documentsInvalid: EventEmitter = new EventEmitter();\r\n\r\n @Input() set data(value: AccessYourSuperDocumentOverviewModel[]) {\r\n var clone = this.helper.clone(value);\r\n this.model = clone;\r\n }\r\n @Input() set nextStep(value: number) {\r\n this.step = value;\r\n }\r\n @Input() set backStep(value: number) {\r\n this.previousStep = value;\r\n }\r\n @Input() set applicationId(value: number) {\r\n this.id = value;\r\n }\r\n @Input() set account(value: number) {\r\n this.accountId = value;\r\n }\r\n @Input() set conditionData(value: AccessYourSuperApplicationType) {\r\n this.applicationType = value;\r\n }\r\n @Input() set wording(value: { [key: string]: string }) {\r\n this.proofOfIdentificationText = value?.proofOfIdentificationText;\r\n }\r\n @Input() set draftApplication(value: boolean) {\r\n this.applicationInDraft = value;\r\n }\r\n @Input() set componentTitle(value: string) {\r\n this.title = value;\r\n }\r\n @Input() set submitting(value: boolean) {\r\n this.isSubmitting = value;\r\n }\r\n\r\n proofOfIdentificationText: string = null;\r\n model: AccessYourSuperDocumentOverviewModel[] = null;\r\n step: number = null;\r\n previousStep: number = null;\r\n id: number = null;\r\n accountId: number = null;\r\n applicationType: AccessYourSuperApplicationType = null;\r\n extensions: string[] = ['.pdf', '.png', '.jpg'];\r\n applicationInDraft: boolean = null;\r\n title: string = 'Documents';\r\n elevatedAccess = false;\r\n isSubmitting: boolean = false;\r\n\r\n form$ = this.store.pipe(select(accessYourSuperDocuments_Form));\r\n uploadedDocument$ = this.store.pipe(\r\n select(accessYourSuperDocuments_UploadedDocument)\r\n );\r\n deletedDocument$ = this.store.pipe(\r\n select(accessYourSuperDocuments_DeletedDocument)\r\n );\r\n replacedDocument$ = this.store.pipe(\r\n select(accessYourSuperDocuments_ReplacedDocument)\r\n );\r\n uploadFileFailed$ = this.store.pipe(\r\n select(accessYourSuperDocuments_FileRequestFailed)\r\n );\r\n supportingDocuments$ = this.store.pipe(\r\n select(accessYourSuperDocuments_SupportingDocuments)\r\n );\r\n documentsCompleted$ = this.store.pipe(\r\n select(accessYourSuperDocuments_DocumentsCompleted)\r\n );\r\n authorities$ = this.store.pipe(select(accessYourSuperDocuments_Authorities));\r\n referenceValue$ = this.store.pipe(\r\n select(accessYourSuperDocuments_ReferenceValue)\r\n );\r\n filesAndAuthorities$ = this.store.pipe(\r\n select(accessYourSuperDocuments_FilesAndAuthorities)\r\n );\r\n formValid$ = this.store.pipe(select(accessYourSuperDocuments_FormValidity));\r\n elevatedAccess$ = this.store.pipe(select(commomState_ElevatedAccess));\r\n\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n async ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n if (this.model.length) {\r\n this.model = this.model.sort((x, y) =>\r\n x.isDocumentRequired === y.isDocumentRequired\r\n ? 0\r\n : x.isDocumentRequired\r\n ? -1\r\n : 1\r\n );\r\n this.model.forEach((documentOverview) => {\r\n this.dispatch(\r\n this.store,\r\n SetupSupportingDocumentOverviewAction({\r\n documentTypeId: documentOverview.documentTypeId,\r\n referenceRequired: documentOverview.referenceRequired,\r\n documentAmount:\r\n documentOverview.documentList.length === 0\r\n ? 1\r\n : documentOverview.documentList.length,\r\n authorityGiven: documentOverview.authorityGiven,\r\n referenceValue:\r\n documentOverview.referenceRequired &&\r\n documentOverview.referenceValue\r\n ? documentOverview.referenceValue\r\n : null,\r\n previouslyProvided: documentOverview.referenceValue ? true : null,\r\n isDocumentRequired: documentOverview.isDocumentRequired,\r\n })\r\n );\r\n });\r\n }\r\n\r\n this.elevatedAccess$.subscribe((x) => {\r\n this.elevatedAccess = x;\r\n });\r\n\r\n // Setup the form values once the document arrays have been created\r\n // Debounce of 100ms so this is only called once\r\n this.sub = this.supportingDocuments$\r\n .pipe(\r\n distinctUntilChanged((x, y) => {\r\n return x.controls.length === y.controls.length;\r\n }),\r\n debounceTime(100)\r\n )\r\n .subscribe((x) => {\r\n if (x.controls.length > 0) {\r\n this.model.forEach((documentOverview, overviewIndex) => {\r\n var docList = documentOverview.documentList;\r\n // Create the placeholders for the documents if they dont exist\r\n if (!docList.length) {\r\n docList.push(new AccessYourSuperSupportingDocumentModel());\r\n } else {\r\n if (this.applicationInDraft) {\r\n // If the uploaded documents exist, we need update the form values\r\n docList.forEach((uploadedDocument, uploadIndex) => {\r\n if (\r\n x.controls[overviewIndex].controls.files.controls[\r\n uploadIndex\r\n ] &&\r\n uploadedDocument.originalFileName\r\n ) {\r\n this.dispatch(\r\n this.store,\r\n new SetValueAction(\r\n x.controls[overviewIndex].controls.files.controls[\r\n uploadIndex\r\n ]?.id,\r\n {\r\n filename: uploadedDocument.originalFileName,\r\n } as AppFileModel\r\n )\r\n );\r\n }\r\n });\r\n\r\n // If the last index of the documentList has a fileName attached, we know the application is a continuation\r\n // so add an empty file placeholder\r\n if (docList[docList.length - 1].originalFileName) {\r\n this.dispatch(\r\n this.store,\r\n AddNewAppFileAction({ overviewIndex: overviewIndex })\r\n );\r\n docList.push(new AccessYourSuperSupportingDocumentModel());\r\n }\r\n }\r\n }\r\n });\r\n }\r\n });\r\n\r\n // Subscription listens for changes in files and authorities to handle form validation\r\n this.sub = this.filesAndAuthorities$\r\n .pipe(\r\n distinctUntilChanged((x, y) => {\r\n return JSON.stringify(x) === JSON.stringify(y);\r\n })\r\n )\r\n .subscribe((x) => {\r\n if (x) {\r\n for (const index in x) {\r\n var control = x[index];\r\n\r\n // Only validate if the document is required\r\n if (control.isRequired) {\r\n var uploadedFileIndex = control.files.findIndex(\r\n (o) => o.filename !== '' && o.filename !== undefined\r\n );\r\n\r\n // No file uploaded and no authority given\r\n if (uploadedFileIndex === -1 && !control.authority) {\r\n const errors = {};\r\n errors['required'] = 'At least one document is required';\r\n this.dispatch(\r\n this.store,\r\n new SetErrorsAction(control.filesControlId, errors)\r\n );\r\n }\r\n // no file uploaded and authority given\r\n else if (uploadedFileIndex === -1 && control.authority) {\r\n this.dispatch(\r\n this.store,\r\n new SetErrorsAction(control.filesControlId, {})\r\n );\r\n }\r\n // file uploaded\r\n else {\r\n this.dispatch(\r\n this.store,\r\n new SetErrorsAction(control.filesControlId, {})\r\n );\r\n }\r\n }\r\n }\r\n }\r\n });\r\n\r\n // Subscription listens to changes in authorities for documents so parent model can be updated\r\n this.sub = this.authorities$\r\n .pipe(\r\n distinctUntilChanged((x, y) => {\r\n return JSON.stringify(x) === JSON.stringify(y);\r\n }),\r\n pairwise(),\r\n skipWhile((x) => x[0].length !== x[1].length)\r\n )\r\n .subscribe((x) => {\r\n if (x[1]) {\r\n x[1].forEach((authority, index) => {\r\n if (x[0][index] !== authority)\r\n this.model[index].authorityGiven = authority;\r\n });\r\n }\r\n });\r\n\r\n // Subscription listens to changes in the referenceValue so parent model can be updated\r\n this.sub = this.referenceValue$\r\n .pipe(\r\n distinctUntilChanged((x, y) => {\r\n if (x.authorityGiven !== y.authorityGiven) return false;\r\n return x.value === y.value;\r\n })\r\n )\r\n .subscribe((x) => {\r\n if (x && x.required && x.authorityGiven) {\r\n var overview = this.model.find((o) => o.referenceRequired);\r\n overview.referenceValue = x.value;\r\n\r\n if (!x.value || x.value?.length === 0) {\r\n const errors = {};\r\n errors['required'] = 'This is required';\r\n this.dispatch(this.store, new SetErrorsAction(x.controlId, errors));\r\n } else {\r\n this.dispatch(this.store, new SetErrorsAction(x.controlId, {}));\r\n }\r\n } else if (x && x.required && !x.authorityGiven) {\r\n this.dispatch(this.store, new SetErrorsAction(x.controlId, {}));\r\n }\r\n });\r\n\r\n // Subscription to handle successful saving of document\r\n this.sub = this.uploadedDocument$.subscribe(async (x) => {\r\n if (x) {\r\n // Add document to parent model\r\n var overviewIndex = this.model.findIndex(\r\n (o) => o.documentTypeId === x.documentTypeId\r\n );\r\n var docList = this.model[overviewIndex].documentList;\r\n\r\n docList[x.documentIndex].uploadedDocumentId = x.uploadedDocumentId;\r\n docList[x.documentIndex].originalFileName = x.fileName;\r\n this.dispatch(\r\n this.store,\r\n new SetValueAction(x.controlId, {\r\n filename: x.fileName,\r\n submitting: false,\r\n })\r\n );\r\n\r\n // Add new file to parent placeholder and ui component\r\n if (docList[docList.length - 1].originalFileName) {\r\n this.model[overviewIndex].documentList.push(\r\n new AccessYourSuperSupportingDocumentModel()\r\n );\r\n this.dispatch(\r\n this.store,\r\n AddNewAppFileAction({ overviewIndex: overviewIndex })\r\n );\r\n }\r\n\r\n this.onDocumentsSaved.emit(this.model);\r\n }\r\n });\r\n\r\n // Subscription to handle successful deletion of document\r\n this.sub = this.deletedDocument$.subscribe((x) => {\r\n if (x) {\r\n this.dispatch(this.store, new MarkAsTouchedAction(x.controlId));\r\n\r\n // Remove the document from the model\r\n var documentList = this.model[x.overviewIndex].documentList;\r\n documentList.splice(x.uploadIndex, 1);\r\n\r\n // delete the entry-file-component\r\n this.dispatch(\r\n this.store,\r\n RemoveAppFileAction({\r\n overviewIndex: x.overviewIndex,\r\n uploadIndex: x.uploadIndex,\r\n })\r\n );\r\n\r\n this.onDocumentsSaved.emit(this.model);\r\n }\r\n });\r\n\r\n // Subscription to handle replacing an uploaded document\r\n this.sub = this.replacedDocument$.subscribe((x) => {\r\n if (x) {\r\n // Remove the replaced document from the model\r\n var overviewIndex = this.model.findIndex(\r\n (o) => o.documentTypeId === x.documentTypeId\r\n );\r\n this.model[overviewIndex].documentList[x.documentIndex] =\r\n new AccessYourSuperSupportingDocumentModel();\r\n\r\n // Send the save document request once the replaced document is deleted\r\n this.dispatch(this.store, new SetErrorsAction(x.controlId, {}));\r\n this.dispatch(\r\n this.store,\r\n SaveDocumentAction({\r\n accountId: this.accountId,\r\n applicationId: this.id,\r\n documentTypeId: x.documentTypeId,\r\n controlId: x.controlId,\r\n documentIndex: x.documentIndex,\r\n fileName: x.fileName,\r\n payload: x.payload,\r\n draftApplication: this.applicationInDraft,\r\n })\r\n );\r\n\r\n this.onDocumentsSaved.emit(this.model);\r\n }\r\n });\r\n\r\n this.sub = this.uploadFileFailed$.subscribe((x) => {\r\n if (x) {\r\n this.dispatch(\r\n this.store,\r\n new SetValueAction(x.controlId, { ...x.file, submitting: false })\r\n );\r\n this.dispatch(\r\n this.store,\r\n new SetErrorsAction(x.controlId, {\r\n customError:\r\n 'There was an error uploading your file, please try again.',\r\n })\r\n );\r\n this.dispatch(this.store, ResetFileRequestFailedAction());\r\n }\r\n });\r\n\r\n this.sub = this.documentsCompleted$.subscribe((x) => {\r\n if (x) {\r\n this.dispatch(this.store, SetCurrentStepAction({ nextStep: 8 }));\r\n // Save the documents in parent state\r\n this.onDocumentsSaved.emit(this.model);\r\n }\r\n });\r\n\r\n this.sub = combineLatest([this.formValid$, this.supportingDocuments$])\r\n .pipe(\r\n map(([formValid, supportingDocuments]) => ({\r\n formValid,\r\n supportingDocuments,\r\n })),\r\n pairwise(),\r\n skipWhile(\r\n (x) =>\r\n x[0].supportingDocuments.controls.length !==\r\n x[1].supportingDocuments.controls.length\r\n ),\r\n debounceTime(200)\r\n )\r\n .subscribe((x) => {\r\n if (x) {\r\n if (!x[1].formValid) this.documentsInvalid.emit(x[1].formValid);\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n this.dispatch(this.store, ResetComponentStateAction());\r\n }\r\n\r\n goBack() {\r\n this.dispatch(\r\n this.store,\r\n SetCurrentStepAction({ nextStep: this.previousStep })\r\n );\r\n // Save the documents in parent state\r\n this.onDocumentsSaved.emit(this.model);\r\n }\r\n\r\n exitForm() {\r\n this.router.navigate(['/access-your-super']);\r\n }\r\n\r\n onVerified(verified: boolean) {\r\n this.dispatch(this.store, GreenIdVerifiedAction({ verified }));\r\n }\r\n\r\n async goNextStep() {\r\n var form = await this.helper.getValue(this.form$);\r\n var documentWithCrn = form.value.supportingDocuments.find(\r\n (o) => o.requestAuthority && o.referenceRequired\r\n );\r\n var documents = [];\r\n\r\n documents = form.value.supportingDocuments.map((o) => {\r\n return {\r\n documentTypeId: o.documentTypeId,\r\n authorityGiven: o.requestAuthority,\r\n };\r\n });\r\n\r\n var payload = {\r\n customerReferenceNumber: documentWithCrn?.referenceValue,\r\n documents,\r\n } as AccessYourSuperDocumentSubmissionModel;\r\n\r\n this.dispatch(\r\n this.store,\r\n CompleteDocumentsAction({\r\n accountId: this.accountId,\r\n applicationId: this.id,\r\n submission: payload,\r\n })\r\n );\r\n }\r\n\r\n trackByFn(index, item) {\r\n return index;\r\n }\r\n\r\n async uploadDocument(\r\n document: any,\r\n documentTypeId: number,\r\n overviewIndex: number,\r\n documentIndex: number,\r\n fileName: string,\r\n controlId: any\r\n ) {\r\n var uploadedDocumentId =\r\n this.model[overviewIndex].documentList[documentIndex]?.uploadedDocumentId;\r\n\r\n if (uploadedDocumentId) {\r\n var docs = await this.helper.getValue(this.supportingDocuments$);\r\n var originalFile = docs.value[overviewIndex].files[documentIndex];\r\n this.dispatch(\r\n this.store,\r\n ReplaceDocumentAction({\r\n accountId: this.accountId,\r\n applicationId: this.id,\r\n uploadedDocumentId: uploadedDocumentId,\r\n overviewIndex: overviewIndex,\r\n documentIndex: documentIndex,\r\n controlId: controlId,\r\n documentTypeId: documentTypeId,\r\n fileName: fileName,\r\n payload: document,\r\n originalFile: originalFile,\r\n draftApplication: this.applicationInDraft,\r\n })\r\n );\r\n } else {\r\n this.dispatch(\r\n this.store,\r\n SaveDocumentAction({\r\n accountId: this.accountId,\r\n applicationId: this.id,\r\n documentTypeId: documentTypeId,\r\n controlId: controlId,\r\n documentIndex: documentIndex,\r\n fileName: fileName,\r\n payload: document,\r\n draftApplication: this.applicationInDraft,\r\n })\r\n );\r\n this.dispatch(this.store, new SetErrorsAction(controlId, {}));\r\n }\r\n }\r\n\r\n // controlId is emitted from the component as we dont want to remove the data from within the component\r\n // until we confirm that if its been uploaded, the delete operation is successful\r\n removeFile(controlId: any, overviewIndex: number, uploadIndex: number) {\r\n var uploadedDocumentId =\r\n this.model[overviewIndex].documentList[uploadIndex].uploadedDocumentId;\r\n\r\n if (uploadedDocumentId) {\r\n // send api request to delete file which will then reset the field if successful\r\n this.dispatch(\r\n this.store,\r\n DeleteDocumentAction({\r\n accountId: this.accountId,\r\n applicationId: this.id,\r\n uploadedDocumentId: uploadedDocumentId,\r\n overviewIndex: overviewIndex,\r\n uploadIndex: uploadIndex,\r\n controlId: controlId,\r\n draftApplication: this.applicationInDraft,\r\n })\r\n );\r\n }\r\n // if the file hasnt been uploaded yet with an id, just reset the field\r\n else {\r\n this.store.dispatch(new SetValueAction(controlId, new AppFileModel()));\r\n }\r\n }\r\n\r\n checkFileUploaded(files: AppFileModel[]) {\r\n var fileUploaded = false;\r\n\r\n files.forEach((file) => {\r\n if (file.filename?.length > 0) fileUploaded = true;\r\n });\r\n\r\n return fileUploaded;\r\n }\r\n\r\n clearReferenceValue(item: FormGroupState) {\r\n var clone = this.helper.clone(item.value);\r\n clone.referenceValue = '';\r\n clone.previouslyProvided = null;\r\n\r\n this.dispatch(this.store, new SetValueAction(item.id, clone));\r\n }\r\n}\r\n","
\r\n

{{title}}

\r\n
\r\n\r\n
\r\n
\r\n
\r\n

Proof of identification

\r\n

{{proofOfIdentificationText}}

\r\n

Please click ‘Start verification' to verify your identity. It\r\n is important to note that to\r\n complete your ID verification you will need your identification details readily available.

\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n

{{model[i].documentName}}\r\n ({{model[i].isDocumentRequired ? 'Required' :\r\n 'Optional'}}{{model[i].documentAmountRequired > 1 ? ', ' +\r\n model[i].documentAmountRequired :null}})\r\n

\r\n
\r\n
767, 'justify-content-center': screenWidth<768}\">\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n {{model[i].referenceLabel}}\r\n {{item.value.referenceValue}}\r\n
\r\n
\r\n \r\n edit\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n You have the option to provide authority for us to\r\n access this document via\r\n Centrelink Confirmation\r\n eServices\r\n ATO Online\r\n Services\r\n instead of attaching the document. Please review and\r\n confirm the\r\n disclaimer below if you wish to do so.\r\n \r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n All recommended documents and/or authority should be provided so your application can be assessed and\r\n processed in a timely manner.\r\n \r\n
\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex flex-wrap mt-4\">\r\n
\r\n \r\n
\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex\">\r\n 767, 'mt-1': screenWidth<768}\"\r\n class=\"flex-fill {{'BTN.access-your-super.back.class' | translate}}\" title=\"Back\"\r\n icon=\"{{'BTN.access-your-super.back.icon' | translate}}\"\r\n color=\"{{'BTN.access-your-super.back.color' | translate}}\" [isDisabled]=\"isSubmitting\"\r\n (onClick)=\"goBack()\">\r\n 767, 'mt-1': screenWidth<768}\" class=\"flex-fill\"\r\n title=\"Next\" icon=\"{{'BTN.access-your-super.continue.icon' | translate}}\"\r\n color=\"{{'BTN.access-your-super.continue.color' | translate}}\"\r\n [isDisabled]=\"form.isInvalid || isSubmitting\" loading (onClick)=\"goNextStep()\">\r\n
\r\n
\r\n
\r\n
","import { createFeatureSelector, createSelector } from \"@ngrx/store\";\r\nimport { MemberPortalSharedState } from \"../../store/shared.states\";\r\nimport { featureKey } from '../../store/shared.reducers';\r\nimport { IAccessYourSuperLastEmployerComponentState } from \"./state\";\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const getAccessYourSuperLastEmployerState = createSelector(memberPortalState, (state) => state.accessYourSuperLastEmployerComponentState);\r\n\r\nexport const accessYourSuperLastEmployer_Form = createSelector(\r\n getAccessYourSuperLastEmployerState,\r\n (state: IAccessYourSuperLastEmployerComponentState) => state.form\r\n);\r\n\r\nexport const accessYourSuperLastEmployer_LastEmployerDetailsSaved = createSelector(\r\n getAccessYourSuperLastEmployerState,\r\n (state: IAccessYourSuperLastEmployerComponentState) => state.lastEmployerDetailsSaved\r\n)","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n AppButtonComponent,\r\n EntryFieldComponent,\r\n EntryFieldDateComponent,\r\n EntryFieldRadioComponent,\r\n Helper,\r\n} from '@ifaa-components/ui-components';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { NgrxFormsModule, SetErrorsAction, SetValueAction } from 'ngrx-forms';\r\nimport { pairwise } from 'rxjs/operators';\r\nimport {\r\n AccessYourSuperEmployerDetailsModel,\r\n AccessYourSuperEmployerDetailsSubmissionModel,\r\n} from 'src/app/model/access-your-super-form.models';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { SetCurrentStepAction } from '../access-your-super-form/actions';\r\nimport {\r\n ResetComponentStateAction,\r\n SaveLastEmployerDetailsAction,\r\n} from './actions';\r\nimport {\r\n accessYourSuperLastEmployer_Form,\r\n accessYourSuperLastEmployer_LastEmployerDetailsSaved,\r\n} from './selector';\r\nimport { NgIf, AsyncPipe, NgClass } from '@angular/common';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MatTooltip } from '@angular/material/tooltip';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { AppRadioDirective } from '../../directives/app-radio.directive';\r\nimport { AppButtonDirective } from '../../directives/appbutton.directive';\r\nimport { InputScrollDirective } from '../../directives/input-scroll.directive';\r\n\r\n@Component({\r\n selector: 'app-access-your-super-last-employer',\r\n templateUrl: './access-your-super-last-employer.component.html',\r\n styleUrls: ['./access-your-super-last-employer.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n NgrxFormsModule,\r\n EntryFieldComponent,\r\n InputScrollDirective,\r\n EntryFieldRadioComponent,\r\n AppRadioDirective,\r\n EntryFieldDateComponent,\r\n MatIcon,\r\n MatTooltip,\r\n AppButtonComponent,\r\n TranslatePipe,\r\n AppButtonDirective,\r\n NgClass,\r\n ],\r\n})\r\nexport class AccessYourSuperLastEmployerComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n @Output() onLastEmployerDetailsSaved: EventEmitter = new EventEmitter();\r\n\r\n @Input() set data(value: AccessYourSuperEmployerDetailsModel) {\r\n this.model = value;\r\n }\r\n @Input() set nextStep(value: number) {\r\n this.step = value;\r\n }\r\n @Input() set applicationId(value: number) {\r\n this.id = value;\r\n }\r\n @Input() set account(value: number) {\r\n this.accountId = value;\r\n }\r\n @Input() set canGoBack(value: boolean) {\r\n this.showBackButton = value;\r\n }\r\n @Input() set wording(value: { [key: string]: string }) {\r\n this.finalContTooltip = value?.lastEmployerContributionTooltip;\r\n }\r\n @Input() set submitting(value: boolean) {\r\n this.isSubmitting = value;\r\n }\r\n\r\n form$ = this.store.pipe(select(accessYourSuperLastEmployer_Form));\r\n lastEmployerDetailsSaved$ = this.store.pipe(\r\n select(accessYourSuperLastEmployer_LastEmployerDetailsSaved)\r\n );\r\n\r\n model: AccessYourSuperEmployerDetailsModel = null;\r\n step: number = null;\r\n id: number = null;\r\n accountId: number = null;\r\n payload: AccessYourSuperEmployerDetailsSubmissionModel = null;\r\n maxDate: Date = new Date();\r\n showBackButton: boolean = false;\r\n isSubmitting: boolean = false;\r\n\r\n finalContTooltip: string = null;\r\n\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n async ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n // update form values with data from state if it exists when the component loads\r\n if (this.model) {\r\n var helper = new Helper();\r\n var form = await helper.getValue(this.form$);\r\n\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.lastEmployerName.id,\r\n this.model.lastEmployerName\r\n )\r\n );\r\n\r\n // if the values are actually set, assign them to the form values\r\n if (\r\n this.model.stillWithEmployer ||\r\n this.model.stillWithEmployer === false\r\n ) {\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.stillWithEmployer.id,\r\n this.model.stillWithEmployer\r\n )\r\n );\r\n }\r\n if (this.model.finishDate) {\r\n var date = new Date(this.model.finishDate);\r\n var dateFormatted = date.toISOString().split('T')[0];\r\n this.store.dispatch(\r\n new SetValueAction(form.controls.finishDate.id, dateFormatted)\r\n );\r\n }\r\n if (\r\n this.model.waitingOnFinalContribution ||\r\n this.model.waitingOnFinalContribution === false\r\n ) {\r\n this.store.dispatch(\r\n new SetValueAction(\r\n form.controls.waitingOnFinalContribution.id,\r\n this.model.waitingOnFinalContribution\r\n )\r\n );\r\n }\r\n }\r\n\r\n // subscription used to reset the form validation when required\r\n this.sub = this.form$.pipe(pairwise()).subscribe((form) => {\r\n if (form) {\r\n // If the member has swapped their answer to first question from no back to yes, reset the form validation\r\n if (\r\n !form[0].value.stillWithEmployer &&\r\n form[1].value.stillWithEmployer\r\n ) {\r\n this.store.dispatch(\r\n new SetErrorsAction(form[1].controls.finishDate.id, {})\r\n );\r\n this.store.dispatch(\r\n new SetErrorsAction(\r\n form[1].controls.waitingOnFinalContribution.id,\r\n {}\r\n )\r\n );\r\n }\r\n }\r\n });\r\n\r\n // if x has a value, the details have been saved in the backend therefore we can emit saved data to parent component\r\n // and go next step\r\n this.sub = this.lastEmployerDetailsSaved$.subscribe((x) => {\r\n if (x) {\r\n this.onLastEmployerDetailsSaved.emit(this.payload);\r\n this.dispatch(\r\n this.store,\r\n SetCurrentStepAction({ nextStep: this.step })\r\n );\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n this.dispatch(this.store, ResetComponentStateAction());\r\n }\r\n\r\n exitForm() {\r\n this.router.navigate(['/access-your-super']);\r\n }\r\n\r\n async goNextStep() {\r\n var helper = new Helper();\r\n var form = await helper.getValue(this.form$);\r\n\r\n this.payload = {\r\n lastEmployerName: form.value.lastEmployerName,\r\n stillWithEmployer: form.value.stillWithEmployer,\r\n finishDate:\r\n !form.value.stillWithEmployer && form.value.finishDate !== ''\r\n ? new Date(form.value.finishDate)\r\n : null,\r\n waitingOnFinalContribution: !form.value.stillWithEmployer\r\n ? form.value.waitingOnFinalContribution\r\n : null,\r\n currentStep: this.step,\r\n };\r\n\r\n this.dispatch(\r\n this.store,\r\n SaveLastEmployerDetailsAction({\r\n accountId: this.accountId,\r\n applicationId: this.id,\r\n lastEmployerDetails: this.payload,\r\n })\r\n );\r\n }\r\n\r\n // The back button on the last employer details will always go to available balance component\r\n goBack() {\r\n this.dispatch(this.store, SetCurrentStepAction({ nextStep: 3 }));\r\n }\r\n}\r\n","
\r\n

Employment and final contribution

\r\n
\r\n
\r\n
\r\n
991, 'w-100': screenWidth<992}\">\r\n
Last employer name:
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Are you still working with this employer?
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
What date did you finish with this employer?
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Are you waiting for your final employer\r\n contribution?\r\n help_outline\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex flex-wrap mt-4\">\r\n
\r\n \r\n
\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex\">\r\n 767, 'mt-1': screenWidth<768}\"\r\n class=\"flex-fill {{'BTN.access-your-super.back.class' | translate}}\" title=\"Back\"\r\n icon=\"{{'BTN.access-your-super.back.icon' | translate}}\"\r\n color=\"{{'BTN.access-your-super.back.color' | translate}}\" [isDisabled]=\"isSubmitting\"\r\n (onClick)=\"goBack()\">\r\n 767, 'mt-1': screenWidth<768}\" class=\"flex-fill\"\r\n title=\"Next\" icon=\"{{'BTN.access-your-super.continue.icon' | translate}}\"\r\n color=\"{{'BTN.access-your-super.continue.color' | translate}}\"\r\n [isDisabled]=\"form.isInvalid || isSubmitting\" loading (onClick)=\"goNextStep()\">\r\n
\r\n
\r\n
\r\n
","import { createFeatureSelector, createSelector } from \"@ngrx/store\";\r\nimport { MemberPortalSharedState } from \"../../store/shared.states\";\r\nimport { featureKey } from '../../store/shared.reducers';\r\nimport { IAccessYourSuperReviewComponentState } from \"./state\";\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const getAccessYourSuperReviewState = createSelector(memberPortalState, (state) => state.accessYourSuperReviewComponentState);\r\n\r\nexport const accessYourSuperReview_Form = createSelector(\r\n getAccessYourSuperReviewState,\r\n (state: IAccessYourSuperReviewComponentState) => state.form\r\n);\r\n\r\nexport const accessYourSuperReview_ApplicationSubmitted = createSelector(\r\n getAccessYourSuperReviewState,\r\n (state: IAccessYourSuperReviewComponentState) => state.applicationSubmitted\r\n);\r\n\r\nexport const accessYourSuperReview_CustomData = createSelector(\r\n getAccessYourSuperReviewState,\r\n (state: IAccessYourSuperReviewComponentState) => state.customData\r\n);","export enum AccessYourSuperApplicationTypeEnum{\r\n Retirement = 1,\r\n CeasedWorkAfterSixty = 2,\r\n PermanentRetirementAfterPreseverationAge = 3,\r\n CeasedPaidEmploymentAndAccessRnp = 4,\r\n PensionCommutations = 5,\r\n TotalPermanentDisability = 6,\r\n PermanentIncapacity = 7,\r\n TerminalMedicalCondition = 8,\r\n FormerTempResidentDepartingAus = 9,\r\n SevereFinancialHardship = 10,\r\n CompassionateGrounds = 11,\r\n FirstHomeSuperSaverScheme = 12,\r\n UnrestrictedNonPreserved = 13,\r\n ExcessConcessionalContributions = 14,\r\n ExcessNonConcessionalContributions = 15,\r\n BenefitUnderTwoHundred = 16,\r\n TransferToKiwiSaver = 17,\r\n UnclaimedMoniesWithAto = 18\r\n}","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { AppReadonlyComponent, Helper } from '@ifaa-components/ui-components';\r\nimport { SfhFinancialDetailsFormV1 } from '../../../access-your-super-custom-sections/access-your-super-severe-financial-hardship/financialDataFormVersions/v1/state';\r\nimport { NgIf, CurrencyPipe } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'sfh-financial-details-review-v1',\r\n templateUrl:\r\n './severe-financial-hardship-financial-details-review-V1.component.html',\r\n styleUrls: [\r\n './severe-financial-hardship-financial-details-review-V1.component.scss',\r\n ],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [AppReadonlyComponent, NgIf, CurrencyPipe],\r\n})\r\nexport class SfhFinancialDetailsReviewV1Component\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n @Input() set data(value: SfhFinancialDetailsFormV1) {\r\n this.sfhDataV1 = value;\r\n }\r\n\r\n @Input() set labels(value: { [key: string]: string }) {\r\n this.formLabels = value;\r\n }\r\n\r\n formLabels: { [key: string]: string } = {};\r\n sfhDataV1: SfhFinancialDetailsFormV1 = null;\r\n helper: Helper = new Helper();\r\n\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n async ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n calculateAssetsTotal(values: SfhFinancialDetailsFormV1) {\r\n return (\r\n values.assetsBankBalance +\r\n values.assetsHomeContents +\r\n values.assetsInvestmentProperties +\r\n values.assetsOtherAssets +\r\n values.assetsOwnHome +\r\n values.assetsSharesInvestments +\r\n values.assetsVehicles\r\n );\r\n }\r\n\r\n calculateLiabilitiesTotal(values: SfhFinancialDetailsFormV1) {\r\n return (\r\n values.liabilitiesCreditCardRepayments +\r\n values.liabilitiesHomeLoanRepayments +\r\n values.liabilitiesInvestmentLoanRepayments +\r\n values.liabilitiesOtherDebts +\r\n values.liabilitiesPersonalLoanRepayments +\r\n values.liabilitiesVehicleRepayments\r\n );\r\n }\r\n\r\n calculateIncomeTotal(values: SfhFinancialDetailsFormV1) {\r\n return (\r\n values.weeklyIncomeSupportPayments +\r\n values.ownWeeklyIncome +\r\n values.otherWeeklyIncome +\r\n values.rentalWeeklyIncome +\r\n values.partnersWeeklyIncome +\r\n values.dependantsWeeklyIncome +\r\n values.investmentInterestWeeklyIncome\r\n );\r\n }\r\n\r\n calculateExpensesTotal(values: SfhFinancialDetailsFormV1) {\r\n return (\r\n values.weeklyRentMortgageExpenses +\r\n values.weeklyCreditCardExpenses +\r\n values.weeklyCouncilRateExpenses +\r\n values.weeklyGroceriesExpenses +\r\n values.weeklyMedicalExpenses +\r\n values.weeklyVehicleExpenses +\r\n values.weeklyElectricityExpenses +\r\n values.weeklyGasExpenses +\r\n values.weeklyWaterExpenses +\r\n values.weeklyPhoneExpenses +\r\n values.weeklyInternetExpenses +\r\n values.weeklyInsuranceExpenses +\r\n values.weeklyEducationExpenses +\r\n values.weeklyOtherExpenses\r\n );\r\n }\r\n}\r\n","
\r\n
Assets
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0\" title=\"Other assets details\" [value]=\"sfhDataV1.assetsOtherAssetsDetails\" class=\"w-100 p-1 flex-fill\">\r\n \r\n\r\n
Liabilities
\r\n \r\n \r\n \r\n \r\n \r\n \r\n 0\" title=\"Other debts details\" [value]=\"sfhDataV1.liabilitiesOtherDebtsDetails\" class=\"w-100 p-1 flex-fill\">\r\n \r\n \r\n
Weekly Income
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0\" title=\"Other income details\" [value]=\"sfhDataV1.otherWeeklyIncomeDetails\" class=\"w-100 p-1 flex-fill\">\r\n \r\n \r\n
Weekly Expenses
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0\" title=\"Other expenses details\" [value]=\"sfhDataV1.weeklyOtherExpensesDetails\" class=\"w-100 p-1 flex-fill\">\r\n \r\n \r\n \r\n \r\n\r\n
","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { Store } from '@ngrx/store';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n AccessYourSuperApplicationDataModel,\r\n AccessYourSuperDocumentOverviewModel,\r\n} from 'src/app/model/access-your-super-form.models';\r\nimport { AppReadonlyComponent, Helper } from '@ifaa-components/ui-components';\r\nimport {\r\n AccessYourSuperKiwiSaverDetailSectionModel,\r\n AccessYourSuperPaymentDetailSectionModel,\r\n AccessYourSuperSfhDetailSectionModel,\r\n} from 'src/app/model/access-your-super-custom-sections.model';\r\nimport { AccessYourSuperHelper } from 'src/app/helper/accessyourSuperHelper';\r\nimport { SfhFinancialDetailsFormV1 } from '../access-your-super-custom-sections/access-your-super-severe-financial-hardship/financialDataFormVersions/v1/state';\r\nimport {\r\n NgIf,\r\n DatePipe,\r\n NgFor,\r\n NgSwitch,\r\n NgSwitchCase,\r\n CurrencyPipe,\r\n} from '@angular/common';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { SfhFinancialDetailsReviewV1Component } from './financialDataReviewVersions/v1/severe-financial-hardship-financial-details-review-V1.component';\r\n\r\n@Component({\r\n selector: 'app-access-your-super-review-display',\r\n templateUrl: './access-your-super-review-display.component.html',\r\n styleUrls: ['./access-your-super-review-display.component.scss'],\r\n imports: [\r\n NgIf,\r\n AppReadonlyComponent,\r\n DatePipe,\r\n NgFor,\r\n NgSwitch,\r\n NgSwitchCase,\r\n SfhFinancialDetailsReviewV1Component,\r\n MatIcon,\r\n CurrencyPipe,\r\n ],\r\n})\r\nexport class AccessYourSuperReviewDisplayComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n helper = new Helper();\r\n\r\n @Input() set data(value: AccessYourSuperApplicationDataModel) {\r\n var clone = this.helper.clone(value);\r\n this.model = clone;\r\n }\r\n @Input() set customSection(\r\n value:\r\n | AccessYourSuperPaymentDetailSectionModel\r\n | AccessYourSuperKiwiSaverDetailSectionModel\r\n | AccessYourSuperSfhDetailSectionModel\r\n ) {\r\n this.customData = value;\r\n }\r\n\r\n model: AccessYourSuperApplicationDataModel = null;\r\n customData:\r\n | AccessYourSuperPaymentDetailSectionModel\r\n | AccessYourSuperKiwiSaverDetailSectionModel\r\n | AccessYourSuperSfhDetailSectionModel = null;\r\n accessYourSuperHelper: AccessYourSuperHelper = new AccessYourSuperHelper();\r\n\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n async ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n showSection(sectionIndex: number) {\r\n return this.model.conditionData.requiredSections.includes(sectionIndex);\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n checkIfDocumentsExist(overview: AccessYourSuperDocumentOverviewModel) {\r\n var uploadedDocs = overview.documentList.filter((x) => x.originalFileName);\r\n\r\n if (\r\n uploadedDocs.length > 0 ||\r\n overview.authorityGiven ||\r\n overview.documentsUploaded\r\n )\r\n return true;\r\n\r\n return false;\r\n }\r\n\r\n convertToKiwiSaver(data: any) {\r\n return data as AccessYourSuperKiwiSaverDetailSectionModel;\r\n }\r\n\r\n convertToSfh(data: any) {\r\n return data as AccessYourSuperSfhDetailSectionModel;\r\n }\r\n\r\n convertToV1(data: any) {\r\n return data as SfhFinancialDetailsFormV1;\r\n }\r\n}\r\n","
\r\n

Employment and final contribution

\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n

Benefit payment details\r\n

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n

Dependants

\r\n
\r\n \r\n
Dependant {{i+1}}
\r\n \r\n \r\n \r\n \r\n
\r\n

Financial details

\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n

Investment drawdown

\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n

Bank details

\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n

Documents

\r\n
\r\n \r\n
\r\n
\r\n
\r\n {{overview.documentName}} ({{overview.isDocumentRequired ? 'Required' :\r\n 'Optional'}}{{overview.documentAmountRequired > 1 ? ', ' + overview.documentAmountRequired\r\n :null}})\r\n upload_file\r\n task\r\n
\r\n
\r\n
\r\n

{{checkIfDocumentsExist(overview) ?\r\n 'Supporting document(s) uploaded' : 'Document(s) not uploaded'}}

\r\n
\r\n
\r\n

Authority to request document given\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { SetCurrentStepAction } from '../access-your-super-form/actions';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { Router, RouterLink } from '@angular/router';\r\nimport { AccessYourSuperApplicationDataModel } from 'src/app/model/access-your-super-form.models';\r\nimport {\r\n AppButtonComponent,\r\n EntryCheckboxFieldComponent,\r\n Helper,\r\n} from '@ifaa-components/ui-components';\r\nimport {\r\n accessYourSuperReview_ApplicationSubmitted,\r\n accessYourSuperReview_CustomData,\r\n accessYourSuperReview_Form,\r\n} from './selector';\r\nimport {\r\n GetCustomDataAction,\r\n GetKiwiSaverDataAction,\r\n GetSfhDataAction,\r\n ResetComponentStateAction,\r\n SubmitApplicationAction,\r\n} from './actions';\r\nimport {\r\n AccessYourSuperKiwiSaverDetailSectionModel,\r\n AccessYourSuperPaymentDetailSectionModel,\r\n AccessYourSuperSfhDetailSectionModel,\r\n} from 'src/app/model/access-your-super-custom-sections.model';\r\nimport { AccessYourSuperHelper } from 'src/app/helper/accessyourSuperHelper';\r\nimport { AccessYourSuperApplicationTypeEnum } from 'src/app/enums/access-your-super-application-type.enum';\r\nimport { commomState_ElevatedAccess } from 'src/app/store/common/common.selectors';\r\nimport { NgIf, AsyncPipe, NgClass } from '@angular/common';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { NgrxFormsModule } from 'ngrx-forms';\r\nimport { AppButtonDirective } from '../../directives/appbutton.directive';\r\nimport { InputScrollDirective } from '../../directives/input-scroll.directive';\r\nimport { AccessYourSuperReviewDisplayComponent } from '../access-your-super-review-display/access-your-super-review-display.component';\r\n\r\n@Component({\r\n selector: 'access-your-super-review',\r\n templateUrl: './access-your-super-review.component.html',\r\n styleUrls: ['./access-your-super-review.component.scss'],\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n AccessYourSuperReviewDisplayComponent,\r\n NgrxFormsModule,\r\n EntryCheckboxFieldComponent,\r\n InputScrollDirective,\r\n NgClass,\r\n AppButtonComponent,\r\n AppButtonDirective,\r\n TranslatePipe,\r\n RouterLink,\r\n ],\r\n})\r\nexport class AccessYourSuperReviewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n helper = new Helper();\r\n\r\n @Output() onSubmissionSuccesful: EventEmitter = new EventEmitter();\r\n\r\n accessYourSuperHelper = new AccessYourSuperHelper();\r\n @Input() set data(value: AccessYourSuperApplicationDataModel) {\r\n var clone = this.helper.clone(value);\r\n this.model = clone;\r\n }\r\n @Input() set backStep(value: number) {\r\n this.previousStep = value;\r\n }\r\n @Input() set applicationId(value: number) {\r\n this.id = value;\r\n }\r\n @Input() set account(value: number) {\r\n this.accountId = value;\r\n }\r\n @Input() set submitting(value: boolean) {\r\n this.isSubmitting = value;\r\n }\r\n\r\n form$ = this.store.pipe(select(accessYourSuperReview_Form));\r\n customData$ = this.store.pipe(select(accessYourSuperReview_CustomData));\r\n applicationSubmitted$ = this.store.pipe(\r\n select(accessYourSuperReview_ApplicationSubmitted)\r\n );\r\n elevatedAccess$ = this.store.pipe(select(commomState_ElevatedAccess));\r\n elevatedAccess = false;\r\n\r\n model: AccessYourSuperApplicationDataModel = null;\r\n previousStep: number = null;\r\n id: number = null;\r\n accountId: number = null;\r\n customData:\r\n | AccessYourSuperPaymentDetailSectionModel\r\n | AccessYourSuperKiwiSaverDetailSectionModel\r\n | AccessYourSuperSfhDetailSectionModel = null;\r\n applicationSubmitted: boolean = null;\r\n isSubmitting: boolean = false;\r\n\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n async ngOnInit() {\r\n super.ngOnInitBase();\r\n this.sub = this.elevatedAccess$.subscribe((x) => {\r\n this.elevatedAccess = x;\r\n });\r\n // Get the submitted custom section data to display on review page\r\n this.sub = this.customData$.subscribe((x) => {\r\n if (!x) {\r\n switch (this.model.conditionData.applicationTypeId) {\r\n case AccessYourSuperApplicationTypeEnum.SevereFinancialHardship: {\r\n this.dispatch(\r\n this.store,\r\n GetSfhDataAction({\r\n accountId: this.accountId,\r\n applicationId: this.id,\r\n })\r\n );\r\n break;\r\n }\r\n case AccessYourSuperApplicationTypeEnum.TransferToKiwiSaver: {\r\n this.dispatch(\r\n this.store,\r\n GetKiwiSaverDataAction({\r\n accountId: this.accountId,\r\n applicationId: this.id,\r\n })\r\n );\r\n break;\r\n }\r\n default: {\r\n this.dispatch(\r\n this.store,\r\n GetCustomDataAction({\r\n accountId: this.accountId,\r\n applicationId: this.id,\r\n applicationTypeId: this.model.conditionData.applicationTypeId,\r\n })\r\n );\r\n break;\r\n }\r\n }\r\n }\r\n if (x) {\r\n this.customData = x;\r\n }\r\n });\r\n\r\n this.sub = this.applicationSubmitted$.subscribe((x) => {\r\n if (x) {\r\n this.applicationSubmitted = x;\r\n this.onSubmissionSuccesful.emit(x);\r\n }\r\n });\r\n }\r\n\r\n showSection(sectionIndex: number) {\r\n return this.model.conditionData.requiredSections.includes(sectionIndex);\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n this.dispatch(this.store, ResetComponentStateAction());\r\n }\r\n\r\n exitForm() {\r\n this.router.navigate(['/access-your-super']);\r\n }\r\n\r\n async submitApplication() {\r\n if (this.elevatedAccess) return;\r\n this.dispatch(\r\n this.store,\r\n SubmitApplicationAction({\r\n accountId: this.accountId,\r\n applicationId: this.id,\r\n })\r\n );\r\n }\r\n\r\n // The back button on the last employer details will always go to available balance component\r\n goBack() {\r\n this.dispatch(\r\n this.store,\r\n SetCurrentStepAction({ nextStep: this.previousStep })\r\n );\r\n }\r\n}\r\n","
\r\n
\r\n

Review your application

\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n

Disclaimer

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex flex-wrap mt-4\">\r\n
\r\n \r\n
\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex\">\r\n 767, 'mt-1': screenWidth<768}\"\r\n class=\"flex-fill {{'BTN.access-your-super.back.class' | translate}}\" title=\"Back\"\r\n icon=\"{{'BTN.access-your-super.back.icon' | translate}}\" [isDisabled]=\"isSubmitting\"\r\n color=\"{{'BTN.access-your-super.back.color' | translate}}\" (onClick)=\"goBack()\">\r\n 767, 'mt-1': screenWidth<768}\" class=\"flex-fill\"\r\n *ngIf=\"!(elevatedAccess$ | async)\" title=\"Submit application\"\r\n icon=\"{{'BTN.access-your-super.continue.icon' | translate}}\"\r\n color=\"{{'BTN.access-your-super.continue.color' | translate}}\"\r\n [isDisabled]=\"form.isInvalid || isSubmitting\" loading\r\n (onClick)=\"submitApplication()\">\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Your benefit access request has been successfully submitted

\r\n

Your benefit access request will be reviewed, and you will be notified accordingly after\r\n processing is completed or if we need any further information.

\r\n
\r\n >\r\n \r\n
\r\n
\r\n
","import { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { featureKey } from '../../store/shared.reducers';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { IAccessYourSuperTypeSelectionComponentState } from './state';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const getAccessYourSuperTypeSelectionState = createSelector(memberPortalState, (state) => state.accessYourSuperTypeSelectionComponentState);\r\n\r\nexport const accessYourSuperTypeSelection_Form = createSelector(\r\n getAccessYourSuperTypeSelectionState,\r\n (state: IAccessYourSuperTypeSelectionComponentState) => state.form\r\n)\r\n\r\nexport const accessYourSuperTypeSelection_FirstDropdownValues = createSelector(\r\n getAccessYourSuperTypeSelectionState,\r\n (state: IAccessYourSuperTypeSelectionComponentState) => state.firstDropdownValues\r\n)\r\n\r\nexport const accessYourSuperTypeSelection_SecondDropdownValues = createSelector(\r\n getAccessYourSuperTypeSelectionState,\r\n (state: IAccessYourSuperTypeSelectionComponentState) => state.secondDropdownValues\r\n)\r\n\r\nexport const accessYourSuperTypeSelection_ApplicationId = createSelector(\r\n getAccessYourSuperTypeSelectionState,\r\n (state: IAccessYourSuperTypeSelectionComponentState) => state.applicationId\r\n);\r\n\r\nexport const accessYourSuperTypeSelection_ApplicationModel = createSelector(\r\n getAccessYourSuperTypeSelectionState,\r\n (state: IAccessYourSuperTypeSelectionComponentState) => state.applicationData\r\n)","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n AppButtonComponent,\r\n EntryFieldDropdownComponent,\r\n Helper,\r\n} from '@ifaa-components/ui-components';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { combineLatest } from 'rxjs';\r\nimport { distinctUntilChanged, map, pairwise } from 'rxjs/operators';\r\nimport {\r\n AccessYourSuperApplicationType,\r\n AccessYourSuperApplicationTypesListModel,\r\n} from 'src/app/model/access-your-super-form.models';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { SetCurrentStepAction } from '../access-your-super-form/actions';\r\nimport { memberAccountDropdown_SelectedAccount } from '../member-account-dropdown/selectors';\r\nimport {\r\n GetApplicationDataAction,\r\n ResetComponentStateAction,\r\n ResetSecondDropdownValueAction,\r\n SelectApplicationTypeAction,\r\n SetFirstDropdownValuesAction,\r\n SetSecondDropdownValuesAction,\r\n} from './actions';\r\nimport {\r\n accessYourSuperTypeSelection_Form,\r\n accessYourSuperTypeSelection_FirstDropdownValues,\r\n accessYourSuperTypeSelection_SecondDropdownValues,\r\n accessYourSuperTypeSelection_ApplicationId,\r\n accessYourSuperTypeSelection_ApplicationModel,\r\n} from './selector';\r\nimport { NgIf, NgClass, AsyncPipe } from '@angular/common';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { NgrxFormsModule } from 'ngrx-forms';\r\nimport { AppButtonDirective } from '../../directives/appbutton.directive';\r\nimport { InputScrollDirective } from '../../directives/input-scroll.directive';\r\n\r\n@Component({\r\n selector: 'app-access-your-super-type-selection',\r\n templateUrl: './access-your-super-type-selection.component.html',\r\n styleUrls: ['./access-your-super-type-selection.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n NgIf,\r\n NgrxFormsModule,\r\n EntryFieldDropdownComponent,\r\n InputScrollDirective,\r\n NgClass,\r\n AppButtonComponent,\r\n AppButtonDirective,\r\n AsyncPipe,\r\n TranslatePipe,\r\n ],\r\n})\r\nexport class AccessYourSuperTypeSelectionComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n @Output() onApplicationCreated: EventEmitter = new EventEmitter();\r\n @Input() set applicationTypes(\r\n value: AccessYourSuperApplicationTypesListModel\r\n ) {\r\n this.model = value;\r\n }\r\n @Input() set submitting(value: boolean) {\r\n this.isSubmitting = value;\r\n }\r\n\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n form$ = this.store.pipe(select(accessYourSuperTypeSelection_Form));\r\n firstDropdownValues$ = this.store.pipe(\r\n select(accessYourSuperTypeSelection_FirstDropdownValues)\r\n );\r\n secondDropdownValues$ = this.store.pipe(\r\n select(accessYourSuperTypeSelection_SecondDropdownValues)\r\n );\r\n\r\n applicationId$ = this.store.pipe(\r\n select(accessYourSuperTypeSelection_ApplicationId)\r\n );\r\n applicationModel$ = this.store.pipe(\r\n select(accessYourSuperTypeSelection_ApplicationModel)\r\n );\r\n\r\n model: AccessYourSuperApplicationTypesListModel = {};\r\n selectedType: AccessYourSuperApplicationType = null;\r\n isSubmitting: boolean = false;\r\n dialogText =\r\n 'Please confirm that the condition of release selected is the one you would like to proceed with. You will not be able to change the condition of release after this step.';\r\n\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n const categoryArray = [];\r\n Object.keys(this.model).forEach((category) => {\r\n var newEntry = { key: category, value: category };\r\n categoryArray.push(newEntry);\r\n });\r\n\r\n this.dispatch(\r\n this.store,\r\n SetFirstDropdownValuesAction({ payload: categoryArray })\r\n );\r\n\r\n this.sub = this.form$\r\n .pipe(\r\n distinctUntilChanged((x, y) => {\r\n if (x.value.firstDropdown === null) {\r\n return false;\r\n }\r\n if (\r\n x.value.firstDropdown !== y.value.firstDropdown ||\r\n x.value.secondDropdown !== y.value.secondDropdown\r\n ) {\r\n return false;\r\n }\r\n return true;\r\n }),\r\n pairwise(),\r\n map(([previousValue, newValue]) => ({ previousValue, newValue }))\r\n )\r\n .subscribe((x) => {\r\n // Fills the second dropdown when first dropdown value changes\r\n if (\r\n x.previousValue.value.firstDropdown !== x.newValue.value.firstDropdown\r\n ) {\r\n let typeArray = [];\r\n\r\n this.model[x.newValue.value.firstDropdown]?.forEach((type) => {\r\n var newEntry = {\r\n key: type.conditionName,\r\n value: type.conditionName,\r\n };\r\n typeArray.push(newEntry);\r\n });\r\n\r\n this.dispatch(\r\n this.store,\r\n SetSecondDropdownValuesAction({ payload: typeArray })\r\n );\r\n this.dispatch(this.store, ResetSecondDropdownValueAction());\r\n }\r\n\r\n // Sets the selected type when second dropdown is updated\r\n if (\r\n x.previousValue.value.secondDropdown !==\r\n x.newValue.value.secondDropdown\r\n ) {\r\n var categoryList = this.model[x.newValue.value.firstDropdown];\r\n var selectedType = categoryList?.find(\r\n (o) => o.conditionName === x.newValue.value.secondDropdown\r\n );\r\n this.selectedType = selectedType;\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n this.dispatch(this.store, ResetComponentStateAction());\r\n }\r\n\r\n async goNextStep(event: string) {\r\n if (event === 'ok') {\r\n var helper = new Helper();\r\n var accountId = await helper.getValue(this.selectedAccount$);\r\n\r\n this.sub = combineLatest([this.applicationId$, this.applicationModel$])\r\n .pipe(\r\n distinctUntilChanged((x, y) => {\r\n if (x[0] !== y[0] || x[1] !== y[1]) return false;\r\n return true;\r\n }),\r\n map(([applicationId, applicationModel]) => ({\r\n applicationId,\r\n applicationModel,\r\n }))\r\n )\r\n .subscribe((x) => {\r\n // Submit api request to create new application\r\n if (!x.applicationId) {\r\n this.dispatch(\r\n this.store,\r\n SelectApplicationTypeAction({\r\n accountId: accountId?.accountId,\r\n applicationType: this.selectedType.applicationTypeId,\r\n })\r\n );\r\n }\r\n\r\n // Submit api request to get data for application\r\n if (x.applicationId && !x.applicationModel) {\r\n this.dispatch(\r\n this.store,\r\n GetApplicationDataAction({\r\n accountId: accountId?.accountId,\r\n applicationType: this.selectedType.applicationTypeId,\r\n })\r\n );\r\n }\r\n\r\n // Go next step once api requests are complete\r\n if (x.applicationId && x.applicationModel) {\r\n this.onApplicationCreated?.emit({\r\n id: x.applicationId,\r\n model: x.applicationModel,\r\n });\r\n\r\n var nextStep = 3;\r\n if (!x.applicationModel.conditionData.directToAto) {\r\n nextStep = x.applicationModel.conditionData.requiredSections[0];\r\n }\r\n this.dispatch(\r\n this.store,\r\n SetCurrentStepAction({ nextStep: nextStep })\r\n );\r\n }\r\n });\r\n }\r\n }\r\n\r\n exitForm() {\r\n this.router.navigate(['/access-your-super']);\r\n }\r\n}\r\n","
\r\n

Select which benefit withdrawal request you want to complete

\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex mt-4\">\r\n 767, 'mt-1 flex-fill': screenWidth<768}\"\r\n [isDisabled]=\"isSubmitting\" title=\"Exit\" icon=\"{{'BTN.access-your-super.cancel.icon' | translate}}\"\r\n color=\"{{'BTN.access-your-super.cancel.color' | translate}}\" (onClick)=\"exitForm()\">\r\n 767, 'mt-1 flex-fill': screenWidth<768}\" title=\"Next\"\r\n [isDisabled]=\"form.isInvalid || isSubmitting\" loading [iscanceledit]=\"form\"\r\n icon=\"{{'BTN.access-your-super.continue.icon' | translate}}\"\r\n color=\"{{'BTN.access-your-super.continue.color' | translate}}\" [dialogText]=\"dialogText\"\r\n (onClick)=\"goNextStep($event)\">\r\n
\r\n
\r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { AvailableAccountBalanceModel } from 'src/app/model/available-account-balance.model';\r\nimport { NgIf, CurrencyPipe } from '@angular/common';\r\nimport { AppReadonlyComponent } from '@ifaa-components/ui-components';\r\n\r\n@Component({\r\n selector: 'available-account-balance',\r\n templateUrl: './available-account-balance.component.html',\r\n styleUrls: ['./available-account-balance.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [NgIf, AppReadonlyComponent, CurrencyPipe],\r\n})\r\nexport class AvailableAccountBalanceComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n @Input() set data(value: AvailableAccountBalanceModel) {\r\n if (value?.calculationDate)\r\n this.accountBalanceLabel = `Account balance as at ${value.calculationDate}`;\r\n\r\n this.model = value;\r\n }\r\n\r\n model: AvailableAccountBalanceModel = null;\r\n\r\n accountBalanceLabel: string = null;\r\n\r\n constructor(public store: Store) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n
\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { memberAccountDropdown_SelectedAccount } from '../member-account-dropdown/selectors';\r\nimport { distinctUntilChanged, map } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { accessYourSuperStart_GetSelectedAccount } from '../access-your-super-start/selectors';\r\nimport { combineLatest } from 'rxjs';\r\nimport {\r\n accessYourSuperForm_ApplicationId,\r\n accessYourSuperForm_ApplicationModel,\r\n accessYourSuperForm_ApplicationTypes,\r\n accessYourSuperForm_CurrentStep,\r\n accessYourSuperForm_CurrentStepUpdated,\r\n} from './selector';\r\nimport {\r\n GetApplicationTypesRequestAction,\r\n ResetComponentStateAction,\r\n SaveApplicationDataAction,\r\n SaveBankDetailsAction,\r\n SaveDocumentModelAction,\r\n SaveLastEmployerDetailsAction,\r\n SetCurrentStepAction,\r\n UpdateCurrentStepAction,\r\n} from './actions';\r\nimport { AppButtonComponent, Helper } from '@ifaa-components/ui-components';\r\nimport {\r\n AccessYourSuperBankDetailsSubmissionModel,\r\n AccessYourSuperDocumentOverviewModel,\r\n AccessYourSuperEmployerDetailsSubmissionModel,\r\n} from 'src/app/model/access-your-super-form.models';\r\nimport { AccessYourSuperStepper } from '../access-your-super-progress-stepper/access-your-super-progress-stepper.component';\r\nimport { AccessYourSuperHelper } from 'src/app/helper/accessyourSuperHelper';\r\nimport { TranslatePipe, TranslateService } from '@ngx-translate/core';\r\nimport {\r\n commonState_IsSending,\r\n commonState_MemberData,\r\n} from 'src/app/store/common/common.selectors';\r\nimport {\r\n NgIf,\r\n AsyncPipe,\r\n NgClass,\r\n NgFor,\r\n NgSwitch,\r\n NgSwitchCase,\r\n} from '@angular/common';\r\nimport { AppButtonDirective } from '../../directives/appbutton.directive';\r\nimport { AccessYourSuperBankDetailsComponent } from '../access-your-super-bank-details/access-your-super-bank-details.component';\r\nimport { AccessYourSuperCeasedPaidEmploymentComponent } from '../access-your-super-custom-sections/access-your-super-ceased-paid-employment/access-your-super-ceased-paid-employment.component';\r\nimport { AccessYourSuperCeasedWorkSixtyComponent } from '../access-your-super-custom-sections/access-your-super-ceased-work-sixty/access-your-super-ceased-work-sixty.component';\r\nimport { AccessYourSuperCompassionateGroundsComponent } from '../access-your-super-custom-sections/access-your-super-compassionate-grounds/access-your-super-compassionate-grounds.component';\r\nimport { AccessYourSuperKiwiSaverComponent } from '../access-your-super-custom-sections/access-your-super-kiwi-saver/access-your-super-kiwi-saver.component';\r\nimport { AccessYourSuperPensionCommutationsComponent } from '../access-your-super-custom-sections/access-your-super-pension-commutations/access-your-super-pension-commutations.component';\r\nimport { AccessYourSuperPermanentRetirementPreservationComponent } from '../access-your-super-custom-sections/access-your-super-permanent-retirement-preservation/access-your-super-permanent-retirement-preservation.component';\r\nimport { AccessYourSuperRetirementComponent } from '../access-your-super-custom-sections/access-your-super-retirement/access-your-super-retirement.component';\r\nimport { AccessYourSuperSevereFinancialHardshipComponent } from '../access-your-super-custom-sections/access-your-super-severe-financial-hardship/access-your-super-severe-financial-hardship.component';\r\nimport { AccessYourSuperTerminalMedicalConditionComponent } from '../access-your-super-custom-sections/access-your-super-terminal-medical-condition/access-your-super-terminal-medical-condition.component';\r\nimport { AccessYourSuperUnrestrictedNonPreservedComponent } from '../access-your-super-custom-sections/access-your-super-unrestricted-non-preserved/access-your-super-unrestricted-non-preserved.component';\r\nimport { AccessYourSuperDocumentsComponent } from '../access-your-super-documents/access-your-super-documents.component';\r\nimport { AccessYourSuperLastEmployerComponent } from '../access-your-super-last-employer/access-your-super-last-employer.component';\r\nimport { AccessYourSuperReviewComponent } from '../access-your-super-review/access-your-super-review.component';\r\nimport { AccessYourSuperTypeSelectionComponent } from '../access-your-super-type-selection/access-your-super-type-selection.component';\r\nimport { AvailableAccountBalanceComponent } from '../available-account-balance/available-account-balance.component';\r\nimport { MemberViewComponent } from '../member-view/member-view.component';\r\n\r\n@Component({\r\n selector: 'app-access-your-super-form',\r\n templateUrl: './access-your-super-form.component.html',\r\n styleUrls: ['./access-your-super-form.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n NgIf,\r\n NgFor,\r\n AsyncPipe,\r\n MemberViewComponent,\r\n NgClass,\r\n AppButtonComponent,\r\n TranslatePipe,\r\n AccessYourSuperTypeSelectionComponent,\r\n AccessYourSuperStepper,\r\n AvailableAccountBalanceComponent,\r\n AppButtonDirective,\r\n AccessYourSuperLastEmployerComponent,\r\n AccessYourSuperRetirementComponent,\r\n AccessYourSuperCeasedWorkSixtyComponent,\r\n AccessYourSuperPermanentRetirementPreservationComponent,\r\n AccessYourSuperCeasedPaidEmploymentComponent,\r\n AccessYourSuperPensionCommutationsComponent,\r\n AccessYourSuperTerminalMedicalConditionComponent,\r\n AccessYourSuperSevereFinancialHardshipComponent,\r\n AccessYourSuperCompassionateGroundsComponent,\r\n AccessYourSuperUnrestrictedNonPreservedComponent,\r\n AccessYourSuperKiwiSaverComponent,\r\n AccessYourSuperBankDetailsComponent,\r\n AccessYourSuperDocumentsComponent,\r\n AccessYourSuperReviewComponent,\r\n NgSwitch,\r\n NgSwitchCase,\r\n ],\r\n})\r\nexport class AccessYourSuperFormComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n accountDropdown$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n applicationAccount$ = this.store.pipe(\r\n select(accessYourSuperStart_GetSelectedAccount)\r\n );\r\n currentStep$ = this.store.pipe(select(accessYourSuperForm_CurrentStep));\r\n currentStepUpdated$ = this.store.pipe(\r\n select(accessYourSuperForm_CurrentStepUpdated)\r\n );\r\n applicationModel$ = this.store.pipe(\r\n select(accessYourSuperForm_ApplicationModel)\r\n );\r\n applicationId$ = this.store.pipe(select(accessYourSuperForm_ApplicationId));\r\n memberViewModel$ = this.store.pipe(select(commonState_MemberData));\r\n applicationTypes$ = this.store.pipe(\r\n select(accessYourSuperForm_ApplicationTypes)\r\n );\r\n\r\n isSubmitting$ = this.store.pipe(select(commonState_IsSending));\r\n\r\n nextStep: number = null;\r\n previousStep: number = null;\r\n\r\n showStepper: boolean = true;\r\n canGoBack: boolean = false;\r\n stepperData: any[] = [];\r\n accessYourSuperHelper = new AccessYourSuperHelper();\r\n validationErrorList: string[] = [];\r\n submitting: boolean = false;\r\n @ViewChild(AccessYourSuperStepper) private myStepper: AccessYourSuperStepper;\r\n\r\n tfnTooltipText: string =\r\n 'It isn’t compulsory to provide your TFN, but if its not provided additional tax may be deducted from your superannuation benefit and the taxable component of any cash payment will be taxed at the highest marginal rate plus applicable levies if you are under age 60.';\r\n\r\n constructor(\r\n public store: Store,\r\n public translate: TranslateService,\r\n\r\n private router: Router\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.sub = this.isSubmitting$.subscribe((x) => {\r\n this.submitting = x;\r\n });\r\n\r\n this.sub = combineLatest([this.accountDropdown$, this.currentStep$])\r\n .pipe(\r\n map(([accountDropdown, currentStep]) => ({\r\n accountDropdown,\r\n currentStep,\r\n }))\r\n )\r\n .subscribe((x) => {\r\n if (\r\n x.currentStep === 0 &&\r\n x.accountDropdown &&\r\n x.accountDropdown.accountTypeId\r\n ) {\r\n this.dispatch(\r\n this.store,\r\n GetApplicationTypesRequestAction({\r\n accountType: x.accountDropdown.accountTypeId,\r\n accountId: x.accountDropdown.accountId,\r\n })\r\n );\r\n }\r\n });\r\n\r\n this.sub = this.applicationModel$\r\n .pipe(\r\n distinctUntilChanged((x, y) => {\r\n return x?.conditionData === y?.conditionData;\r\n })\r\n )\r\n .subscribe((x) => {\r\n if (x) {\r\n // Create stepper data payload\r\n x.conditionData.requiredSections?.forEach((step) => {\r\n switch (step) {\r\n case 3: {\r\n this.stepperData.push({\r\n title: 'Available components',\r\n completed: x.conditionData.currentStep > step ? true : false,\r\n stepIndex: 3,\r\n });\r\n break;\r\n }\r\n case 4: {\r\n this.stepperData.push({\r\n title: 'Employment and final contribution',\r\n completed: x.conditionData.currentStep > step ? true : false,\r\n stepIndex: 4,\r\n });\r\n break;\r\n }\r\n case 5: {\r\n this.stepperData.push({\r\n title: this.accessYourSuperHelper.getCustomSectionTitle(\r\n x.conditionData.applicationTypeId\r\n ),\r\n completed: x.conditionData.currentStep > step ? true : false,\r\n stepIndex: 5,\r\n });\r\n break;\r\n }\r\n case 6: {\r\n this.stepperData.push({\r\n title: 'Payment instructions',\r\n completed: x.conditionData.currentStep > step ? true : false,\r\n stepIndex: 6,\r\n });\r\n break;\r\n }\r\n case 7: {\r\n this.stepperData.push({\r\n title: 'Documents',\r\n completed: x.conditionData.currentStep > step ? true : false,\r\n stepIndex: 7,\r\n });\r\n break;\r\n }\r\n case 8: {\r\n this.stepperData.push({\r\n title: 'Review your application',\r\n completed: x.conditionData.currentStep > step ? true : false,\r\n stepIndex: 8,\r\n });\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n });\r\n }\r\n });\r\n\r\n this.sub = this.memberViewModel$.subscribe(async (x) => {\r\n if (x) {\r\n this.validationErrorList = [];\r\n if (!x.residentialAddress || !x.residentialAddress.fullAddress)\r\n this.validationErrorList.push(\r\n \"Please provide your Residential Address by clicking on the 'Update Details' button\"\r\n );\r\n var count = 0;\r\n var fieldsMissing = [];\r\n if (!x.firstName) {\r\n count++;\r\n fieldsMissing.push('First name');\r\n }\r\n if (!x.lastName) {\r\n count++;\r\n fieldsMissing.push('Last name');\r\n }\r\n if (!x.dateOfBirth) {\r\n count++;\r\n fieldsMissing.push('Date of birth');\r\n }\r\n if (count > 0) {\r\n this.sub = await this.translate\r\n .get('PLEASE_CONTACT_US_MESSAGE')\r\n .subscribe((x) => {\r\n var msg = fieldsMissing.join(', ');\r\n msg += count > 1 ? ' are required. ' : ' is required. ';\r\n msg += x.toString();\r\n this.validationErrorList.push(msg);\r\n });\r\n }\r\n }\r\n });\r\n\r\n // if member changes their account while completing the form, redirect back to landing page\r\n this.sub = combineLatest([this.accountDropdown$, this.applicationAccount$])\r\n .pipe(\r\n map(([accountDropdown, applicationAccountId]) => ({\r\n accountDropdown,\r\n applicationAccountId,\r\n }))\r\n )\r\n .subscribe((x) => {\r\n if (x.accountDropdown && x.applicationAccountId) {\r\n if (x.accountDropdown.accountId !== x.applicationAccountId) {\r\n this.router.navigate(['/access-your-super']);\r\n }\r\n }\r\n // stop users from navigating directly to the form\r\n if (!x?.applicationAccountId) {\r\n this.router.navigate(['/access-your-super']);\r\n }\r\n });\r\n\r\n // Gets the next step when the current step value changes and we have the application model\r\n // local nextStep property will keep track of the next step value used to update state and application in backend\r\n this.sub = this.currentStep$.subscribe(async (x) => {\r\n var helper = new Helper();\r\n var model = await helper.getValue(this.applicationModel$);\r\n\r\n if (x && model && model.conditionData?.requiredSections) {\r\n var currentStepIndex = model.conditionData.requiredSections.indexOf(x);\r\n\r\n this.myStepper?.setSelectedIndex(currentStepIndex);\r\n if (currentStepIndex === 0) {\r\n this.canGoBack = false;\r\n } else {\r\n this.canGoBack = true;\r\n }\r\n\r\n this.previousStep =\r\n model.conditionData.requiredSections[currentStepIndex - 1];\r\n this.nextStep =\r\n model.conditionData.requiredSections[currentStepIndex + 1];\r\n }\r\n });\r\n\r\n // Subscription to handle updating the currentStep after the UpdateCurrentStep api request is successful\r\n // No value is returned via the api request so we use the local nextStep property to keep track\r\n this.sub = this.currentStepUpdated$.subscribe((x) => {\r\n if (x) {\r\n this.dispatch(\r\n this.store,\r\n SetCurrentStepAction({ nextStep: this.nextStep })\r\n );\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n this.dispatch(this.store, ResetComponentStateAction());\r\n }\r\n\r\n updatePersonalDetails() {\r\n this.router.navigate(['/personal-edit']);\r\n }\r\n\r\n // function used when component doesn't need to send api request just to update the currentStep value of the application\r\n goNextStep(nextStep: number) {\r\n this.dispatch(this.store, SetCurrentStepAction({ nextStep: nextStep }));\r\n }\r\n\r\n // function used to update application next step value in backend\r\n async sendNextStepRequest() {\r\n var helper = new Helper();\r\n var account = await helper.getValue(this.accountDropdown$);\r\n var applicationId = await helper.getValue(this.applicationId$);\r\n\r\n this.dispatch(\r\n this.store,\r\n UpdateCurrentStepAction({\r\n accountId: account?.accountId,\r\n currentStep: this.nextStep,\r\n applicationId: applicationId,\r\n })\r\n );\r\n }\r\n\r\n exitForm() {\r\n this.router.navigate(['/access-your-super']);\r\n }\r\n\r\n onApplicationCreated(payload: any) {\r\n this.dispatch(\r\n this.store,\r\n SaveApplicationDataAction({\r\n applicationId: payload.id,\r\n model: payload.model,\r\n })\r\n );\r\n }\r\n\r\n async openAtoPage() {\r\n var helper = new Helper();\r\n var model = await helper.getValue(this.applicationModel$);\r\n window.open(model.conditionData.redirectToAtoLink, '_blank');\r\n }\r\n\r\n onLastEmployerDetailsSaved(\r\n payload: AccessYourSuperEmployerDetailsSubmissionModel\r\n ) {\r\n this.dispatch(\r\n this.store,\r\n SaveLastEmployerDetailsAction({\r\n lastEmployerName: payload.lastEmployerName,\r\n stillWithEmployer: payload.stillWithEmployer,\r\n finishDate: payload.finishDate,\r\n waitingOnFinalContribution: payload.waitingOnFinalContribution,\r\n })\r\n );\r\n }\r\n\r\n onBankDetailsSaved(payload: AccessYourSuperBankDetailsSubmissionModel) {\r\n this.dispatch(\r\n this.store,\r\n SaveBankDetailsAction({\r\n bankName: payload.bankName,\r\n accountName: payload.accountName,\r\n accountNumber: payload.accountNumber,\r\n bsb: payload.bsb,\r\n })\r\n );\r\n }\r\n\r\n onDocumentsSaved(payload: AccessYourSuperDocumentOverviewModel[]) {\r\n this.dispatch(this.store, SaveDocumentModelAction({ payload: payload }));\r\n }\r\n\r\n onStepperSelectionChange(titles: any[], event: any) {\r\n this.dispatch(\r\n this.store,\r\n SetCurrentStepAction({ nextStep: titles[event.selectedIndex].stepIndex })\r\n );\r\n }\r\n\r\n onSubmissionSuccesful(payload: boolean) {\r\n if (payload) {\r\n this.showStepper = false;\r\n }\r\n }\r\n\r\n async documentsInvalid(isValid: boolean) {\r\n if (!isValid) {\r\n var helper = new Helper();\r\n var model = await helper.getValue(this.applicationModel$);\r\n var documentStep = model.conditionData.requiredSections.indexOf(7);\r\n this.myStepper.resetCompletion(documentStep);\r\n }\r\n }\r\n}\r\n","
\r\n \r\n
\r\n

{{ applicationTypesResponse.errorMessage }}

\r\n
\r\n\r\n
\r\n

Confirm your personal details

\r\n
0\">\r\n
    \r\n
  • \r\n
\r\n
\r\n\r\n \r\n\r\n 767,\r\n 'flex-column-reverse': screenWidth < 768\r\n }\"\r\n class=\"d-flex flex-wrap\"\r\n >\r\n
\r\n \r\n
\r\n 767,\r\n 'flex-column-reverse': screenWidth < 768\r\n }\"\r\n class=\"d-flex\"\r\n >\r\n 767, 'mt-1': screenWidth < 768 }\"\r\n class=\"flex-fill {{\r\n 'BTN.access-your-super.update-details.class' | translate\r\n }}\"\r\n title=\"Update details\"\r\n icon=\"{{ 'BTN.access-your-super.update-details.icon' | translate }}\"\r\n color=\"{{\r\n 'BTN.access-your-super.update-details.color' | translate\r\n }}\"\r\n (onClick)=\"updatePersonalDetails()\"\r\n >\r\n \r\n 767, 'mt-1': screenWidth < 768 }\"\r\n class=\"flex-fill\"\r\n title=\"Next\"\r\n icon=\"{{ 'BTN.access-your-super.continue.icon' | translate }}\"\r\n [isDisabled]=\"validationErrorList.length > 0\"\r\n color=\"{{ 'BTN.access-your-super.continue.color' | translate }}\"\r\n (onClick)=\"goNextStep(2)\"\r\n >\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n

Please visit the ATO page directly

\r\n
\r\n 767,\r\n 'flex-column-reverse': screenWidth < 768\r\n }\"\r\n class=\"d-flex flex-wrap mt-4\"\r\n >\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n

Available components

\r\n
\r\n \r\n 767,\r\n 'flex-column-reverse': screenWidth < 768\r\n }\"\r\n class=\"d-flex flex-wrap mt-4\"\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { ComponentBase } from '../component-base';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { AppToolbarOptionsComponent } from '@ifaa-components/ui-components';\r\nimport { AccessYourSuperFormComponent } from 'src/app/modules/shared/components/access-your-super-form/access-your-super-form.component';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { TextTransformPipe } from 'src/app/modules/shared/pipes/textTransform';\r\n\r\n@Component({\r\n selector: 'app-access-your-super-create',\r\n templateUrl: './access-your-super-create.component.html',\r\n styleUrls: ['./access-your-super-create.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n AppToolbarOptionsComponent,\r\n TextTransformPipe,\r\n AppComponentWrapperComponent,\r\n AnimateCssDirective,\r\n AccessYourSuperFormComponent,\r\n ],\r\n})\r\nexport class AccessYourSuperCreateComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n constructor(public store: Store) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
{{'Access Your Super' | textTransform}}
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n","import { featureKey } from './../../store/shared.reducers';\r\nimport { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { AppState } from '../../../../store/app.states';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { IAccountUnderlyingInvestmentSummaryViewState } from './state';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const getAccountUnderlyingInvestmentSummaryView = createSelector(memberPortalState, (state) => state.accountUnderlyingInvestmentSummaryViewState);\r\n\r\nexport const getAccountUnderlyingInvestmentSummaryView_Model = createSelector(\r\n getAccountUnderlyingInvestmentSummaryView,\r\n (state: IAccountUnderlyingInvestmentSummaryViewState) => state.model\r\n);\r\n\r\nexport const getAccountUnderlyingInvestmentSummaryView_Model_investmentOptions = createSelector(\r\n getAccountUnderlyingInvestmentSummaryView,\r\n (state: IAccountUnderlyingInvestmentSummaryViewState) => state.model?.investmentOptions\r\n);\r\n\r\n\r\nexport const getAccountUnderlyingInvestmentSummaryView_SelectedInvestmentOption = createSelector(\r\n getAccountUnderlyingInvestmentSummaryView,\r\n (state: IAccountUnderlyingInvestmentSummaryViewState) => state.selectedInvestmentOption\r\n);\r\n\r\nexport const getAccountUnderlyingInvestmentSummaryView_hasMultipleInvestments = createSelector(\r\n getAccountUnderlyingInvestmentSummaryView,\r\n (state: IAccountUnderlyingInvestmentSummaryViewState) => state.hasMultipleInvestments\r\n);\r\n\r\nexport const getAccountUnderlyingInvestmentSummaryView_noOfInvestments = createSelector(\r\n getAccountUnderlyingInvestmentSummaryView,\r\n (state: IAccountUnderlyingInvestmentSummaryViewState) => state.noOfInvestments\r\n);\r\n\r\nexport const getAccountUnderlyingInvestmentSummaryView_isConsolidatedView = createSelector(\r\n getAccountUnderlyingInvestmentSummaryView,\r\n (state: IAccountUnderlyingInvestmentSummaryViewState) => state.isConsolidatedView\r\n);\r\n\r\n\r\n","import {\r\n getAccountUnderlyingInvestmentSummaryView_Model,\r\n getAccountUnderlyingInvestmentSummaryView_SelectedInvestmentOption,\r\n getAccountUnderlyingInvestmentSummaryView_hasMultipleInvestments,\r\n getAccountUnderlyingInvestmentSummaryView_noOfInvestments,\r\n getAccountUnderlyingInvestmentSummaryView_isConsolidatedView,\r\n getAccountUnderlyingInvestmentSummaryView_Model_investmentOptions,\r\n} from './selectors';\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewChild,\r\n EventEmitter,\r\n Output,\r\n} from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport {\r\n RequestUnderlyingInvestmentSummaryAction,\r\n InvestmentOptionChangedAction,\r\n ShowInvestmentOptionsAction,\r\n} from './actions';\r\nimport { ComponentBase } from '../../../../views/component-base';\r\nimport { memberAccountDropdown_SelectedAccount } from '../member-account-dropdown/selectors';\r\nimport {\r\n ChartComponent,\r\n ApexTooltip,\r\n ApexXAxis,\r\n ApexYAxis,\r\n ApexNoData,\r\n ApexTitleSubtitle,\r\n ApexStates,\r\n} from 'ng-apexcharts';\r\nimport { environment } from 'src/environments/environment';\r\nimport {\r\n ApexNonAxisChartSeries,\r\n ApexResponsive,\r\n ApexChart,\r\n ApexLegend,\r\n ApexDataLabels,\r\n} from 'ng-apexcharts';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { MatChip } from '@angular/material/chips';\r\nimport {\r\n InvestmentSummary,\r\n InvestmentOptionDetails,\r\n AccountUnderlyingInvestmentSummaryModel,\r\n} from 'src/app/model/account-underlying-investment-summary.model';\r\nimport {\r\n AppReadonlyComponent,\r\n DashPipe,\r\n Helper,\r\n KeyValueModel,\r\n} from '@ifaa-components/ui-components';\r\nimport {\r\n AsyncPipe,\r\n CurrencyPipe,\r\n DatePipe,\r\n DecimalPipe,\r\n NgFor,\r\n NgIf,\r\n NgStyle,\r\n NgTemplateOutlet,\r\n} from '@angular/common';\r\nimport { FeatureToggleName } from 'src/app/model/feature-toggle-name.model';\r\nimport {\r\n MatExpansionPanel,\r\n MatExpansionPanelHeader,\r\n MatExpansionPanelTitle,\r\n MatExpansionPanelDescription,\r\n} from '@angular/material/expansion';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport {\r\n MatDrawerContainer,\r\n MatDrawer,\r\n MatDrawerContent,\r\n} from '@angular/material/sidenav';\r\nimport { FeatureToggleDirective } from '../../directives/feature-toggle.directive';\r\n\r\nexport type ChartOptions = {\r\n title: ApexTitleSubtitle;\r\n series: ApexNonAxisChartSeries;\r\n chart: ApexChart;\r\n responsive: ApexResponsive[];\r\n labels: any;\r\n tooltip: ApexTooltip;\r\n legend: ApexLegend;\r\n dataLabels: ApexDataLabels;\r\n colors: any[];\r\n xaxis: ApexXAxis;\r\n yaxis: ApexYAxis | ApexYAxis[];\r\n noData: ApexNoData;\r\n states: ApexStates;\r\n};\r\n\r\n@Component({\r\n selector: 'app-account-underlying-investment-summary',\r\n templateUrl: './account-underlying-investment-summary-view.component.html',\r\n styleUrls: ['./account-underlying-investment-summary-view.component.scss'],\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n MatExpansionPanel,\r\n MatExpansionPanelHeader,\r\n MatExpansionPanelTitle,\r\n MatExpansionPanelDescription,\r\n NgTemplateOutlet,\r\n MatDrawerContainer,\r\n MatDrawer,\r\n MatDrawerContent,\r\n ChartComponent,\r\n AppReadonlyComponent,\r\n CurrencyPipe,\r\n DatePipe,\r\n DashPipe,\r\n NgStyle,\r\n NgFor,\r\n MatProgressBarModule,\r\n MatIcon,\r\n FeatureToggleDirective,\r\n DecimalPipe,\r\n ],\r\n})\r\nexport class AccountUnderlyingInvestmentSummaryViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n selectedInvestmentOption$ = this.store.pipe(\r\n select(getAccountUnderlyingInvestmentSummaryView_SelectedInvestmentOption)\r\n );\r\n hasMultipleInvestments$ = this.store.pipe(\r\n select(getAccountUnderlyingInvestmentSummaryView_hasMultipleInvestments)\r\n );\r\n noOfInvestments$ = this.store.pipe(\r\n select(getAccountUnderlyingInvestmentSummaryView_noOfInvestments)\r\n );\r\n isConsolidatedView$ = this.store.pipe(\r\n select(getAccountUnderlyingInvestmentSummaryView_isConsolidatedView)\r\n );\r\n modelSummary$ = this.store.pipe(\r\n select(getAccountUnderlyingInvestmentSummaryView_Model)\r\n );\r\n investmentOptions$ = this.store.pipe(\r\n select(getAccountUnderlyingInvestmentSummaryView_Model_investmentOptions)\r\n );\r\n\r\n displayDollarColumn =\r\n FeatureToggleName.member.account.underlyingInvestmentView.tableDollarColumn\r\n .view;\r\n manageInvestmentsFeatureToggle =\r\n FeatureToggleName.member.account.manageInvestments.view;\r\n\r\n noOfInvestments: number = 0;\r\n hasMultipleInvestments: boolean = false;\r\n isConsolidatedView: boolean = true;\r\n @ViewChild('chart1') chart: ChartComponent;\r\n @ViewChild('mobileMenu') mobileMenu: any;\r\n public chartOptions: Partial;\r\n @ViewChild('chip') chip: MatChip;\r\n @ViewChild('chip2') chip2: MatChip;\r\n helper = new Helper();\r\n\r\n @Output() titleEvent = new EventEmitter();\r\n currentInvestmentSummary: InvestmentSummary;\r\n datepipe: DatePipe = new DatePipe('en-AU');\r\n drawerOpened = false;\r\n selectedOption: number = 0;\r\n\r\n constructor(private store: Store) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n setTimeout(() => {\r\n this.drawerOpened = true;\r\n }, 500);\r\n super.ngOnInitBase();\r\n this.sub = this.selectedAccount$.subscribe((x) => {\r\n if (x) {\r\n this.dispatch(\r\n this.store,\r\n RequestUnderlyingInvestmentSummaryAction({ accountId: x.accountId })\r\n );\r\n }\r\n });\r\n\r\n this.sub = this.hasMultipleInvestments$.subscribe((x) => {\r\n this.hasMultipleInvestments = x;\r\n this.setTitle();\r\n });\r\n\r\n this.sub = this.noOfInvestments$.subscribe((x) => {\r\n this.noOfInvestments = x;\r\n this.setTitle();\r\n });\r\n\r\n this.sub = this.isConsolidatedView$.subscribe((x) => {\r\n this.isConsolidatedView = x;\r\n this.setTitle();\r\n });\r\n\r\n this.sub = this.modelSummary$.subscribe((x) => {});\r\n\r\n this.sub = this.selectedInvestmentOption$.subscribe((x) => {\r\n if (x) {\r\n this.currentInvestmentSummary = x;\r\n this.setChartData();\r\n this.setAssetTitle();\r\n }\r\n });\r\n }\r\n\r\n async onSelectedOptionChanged(index: number, mobileMenu: any) {\r\n if (mobileMenu) mobileMenu.expanded = false;\r\n this.selectedOption = index;\r\n var list = await this.helper.getValue(this.investmentOptions$);\r\n var selected = list[index];\r\n this.onOptionsSelected(selected.key.toString());\r\n }\r\n\r\n getPercentage(id: any, summary: AccountUnderlyingInvestmentSummaryModel) {\r\n var model = summary.investmentSummaries;\r\n var selected = model.filter(\r\n (x) => x.investmentOptionId.toString() == id.toString()\r\n );\r\n return selected[0].percentAllocated;\r\n }\r\n\r\n getInvestmentOptionDetailColors(\r\n investmentOptionDetails: InvestmentOptionDetails[]\r\n ) {\r\n var defaultColors =\r\n environment.underlyingInvestmentsChartColors as KeyValueModel[];\r\n if (defaultColors) {\r\n try {\r\n let colors: string[] = [];\r\n investmentOptionDetails.forEach((element) => {\r\n var defaultColor = defaultColors.filter(\r\n (o) => o.key == element.consolidateByName\r\n );\r\n if (defaultColor) {\r\n colors.push(defaultColor[0].value);\r\n }\r\n });\r\n return colors;\r\n } catch (error) {\r\n return undefined;\r\n }\r\n } else return undefined;\r\n }\r\n\r\n setChartData() {\r\n var investmentOptionDetails = [\r\n ...this.currentInvestmentSummary.investmentOptionDetails,\r\n ];\r\n investmentOptionDetails = investmentOptionDetails.sort((a, b) =>\r\n a.displayOrder > b.displayOrder ? 1 : -1\r\n );\r\n\r\n var colors = this.getInvestmentOptionDetailColors(investmentOptionDetails);\r\n var sortedLabels = investmentOptionDetails.map((p) => {\r\n return p.consolidateByName;\r\n });\r\n var sortedSeries = investmentOptionDetails.map((p) => {\r\n return p.amountInvested;\r\n });\r\n\r\n this.chartOptions = {\r\n chart: {\r\n type: 'donut',\r\n },\r\n states: {\r\n hover: {\r\n filter: {\r\n type: 'none',\r\n },\r\n },\r\n },\r\n title: {\r\n text: 'Assets',\r\n },\r\n noData: {\r\n text: 'Loading...',\r\n },\r\n labels: sortedLabels,\r\n dataLabels: {\r\n enabled: false,\r\n formatter: function (val, opts) {\r\n return val + ' %';\r\n },\r\n style: {\r\n fontSize: '11px',\r\n },\r\n },\r\n series: sortedSeries,\r\n legend: {\r\n show: false,\r\n },\r\n colors: colors,\r\n xaxis: {},\r\n yaxis: {\r\n show: false,\r\n labels: {\r\n formatter: (value) => {\r\n return value.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n });\r\n },\r\n },\r\n },\r\n };\r\n }\r\n viewConsolidation(mobileMenu: any) {\r\n if (mobileMenu) mobileMenu.expanded = false;\r\n this.dispatch(\r\n this.store,\r\n InvestmentOptionChangedAction({ investmentOptionId: '-1' })\r\n );\r\n }\r\n\r\n viewSplitInvestments() {\r\n this.dispatch(this.store, ShowInvestmentOptionsAction());\r\n }\r\n\r\n onOptionsSelected(value: string) {\r\n this.dispatch(\r\n this.store,\r\n InvestmentOptionChangedAction({ investmentOptionId: value })\r\n );\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n setTitle() {\r\n var title = 'Underlying Investment';\r\n\r\n if (this.isConsolidatedView && this.hasMultipleInvestments) {\r\n title = title.concat(' - Consolidated');\r\n }\r\n if (!this.isConsolidatedView && this.hasMultipleInvestments) {\r\n title = title.concat(' - Split by Investment option');\r\n }\r\n if (\r\n (this.isConsolidatedView && !this.hasMultipleInvestments) ||\r\n this.noOfInvestments == 0\r\n ) {\r\n title = title;\r\n }\r\n\r\n setTimeout(() => {\r\n this.titleEvent.emit(title);\r\n }, 0);\r\n }\r\n\r\n setAssetTitle() {\r\n var assetName = 'Asset classes - ';\r\n\r\n if (this.currentInvestmentSummary.summaryLink) {\r\n return `${assetName}${this.currentInvestmentSummary?.investmentOptionName}`;\r\n }\r\n\r\n return assetName.concat(\r\n this.currentInvestmentSummary?.investmentOptionName\r\n );\r\n }\r\n\r\n getInvestmentOptionPercentageTotal() {\r\n //Consolidated Percentage Total\r\n if (this.currentInvestmentSummary.investmentOptionId == '-1') {\r\n return this.currentInvestmentSummary.percentAllocated;\r\n } else {\r\n //Sum Investment Option Details percentage\r\n var percenatgeTotal = 0;\r\n this.currentInvestmentSummary.investmentOptionDetails.forEach(\r\n (element) => {\r\n percenatgeTotal += element.percentage;\r\n }\r\n );\r\n\r\n return percenatgeTotal;\r\n }\r\n }\r\n\r\n getInvestmentDetailColor(consolidateByName: string) {\r\n var defaultColors =\r\n environment.underlyingInvestmentsChartColors as KeyValueModel[];\r\n if (defaultColors) {\r\n var defaultColor = defaultColors.filter(\r\n (o) => o.key == consolidateByName\r\n );\r\n if (defaultColor && defaultColor[0]) return defaultColor[0].value;\r\n return 'black';\r\n }\r\n }\r\n\r\n getUnitPriceDate() {\r\n if (this.currentInvestmentSummary.investmentOptionId == '-1') {\r\n return null;\r\n } else {\r\n var message = 'Unit price is as at ';\r\n var formattedDate = this.datepipe.transform(\r\n this.currentInvestmentSummary.asAt,\r\n 'dd-MMM-YYYY'\r\n );\r\n return message.concat(formattedDate);\r\n }\r\n }\r\n}\r\n","
\r\n \r\n Your underlying investments will be available after your first contribution\r\n or rollover is processed.\r\n

\r\n\r\n
\r\n Change investment option\r\n
\r\n \r\n \r\n \r\n {{ currentInvestmentSummary?.investmentOptionName }}\r\n \r\n \r\n
\r\n {{ currentInvestmentSummary?.percentAllocated | number : \"1.2-2\" }} %\r\n
\r\n
\r\n \r\n
1\">\r\n \r\n
\r\n \r\n
\r\n \r\n 992 && (investmentOptions$ | async)?.length > 1\"\r\n >\r\n \r\n \r\n 992 && (investmentOptions$ | async)?.length > 1\r\n ? 'ps-4'\r\n : ''\r\n }} \"\r\n >\r\n 992\"\r\n >\r\n {{\r\n currentInvestmentSummary?.investmentOptionName\r\n }}\r\n
\r\n {{ currentInvestmentSummary?.percentAllocated | number : \"1.2-2\" }}\r\n %\r\n
\r\n \r\n
\r\n 992 ? 'flex-row' : 'flex-column' }}\"\r\n >\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {{ investmentOptionDetail.investmentOptionDetailName }}\r\n \r\n {{ investmentOptionDetail.amountInvested | currency }}\r\n \r\n {{\r\n investmentOptionDetail.percentage | number : \"1.2-2\"\r\n }}\r\n %\r\n
Total\r\n {{ currentInvestmentSummary.amountInvested | currency }}\r\n \r\n {{\r\n getInvestmentOptionPercentageTotal()\r\n | number : \"1.2-2\"\r\n }}\r\n %\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
Consolidated
\r\n \r\n (100%)\r\n
\r\n
\r\n chevron_right\r\n
\r\n
\r\n
\r\n
\r\n alt_route\r\n
Split by investment option
\r\n {{\r\n (investmentOptions$ | async)?.length\r\n }}\r\n
\r\n\r\n \r\n
\r\n
\r\n
{{ item.value }}
\r\n \r\n ({{ getPercentage(item.key, symmary) | number : \"1.2-2\" }}%)\r\n
\r\n
\r\n chevron_right\r\n
\r\n
\r\n \r\n \r\n
\r\n","import { takeUntil } from 'rxjs/operators';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { ComponentBase } from '../../views/component-base';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { TranslatePipe, TranslateService } from '@ngx-translate/core';\r\nimport { AppToolbarOptionsComponent } from '@ifaa-components/ui-components';\r\nimport { AccountUnderlyingInvestmentSummaryViewComponent } from 'src/app/modules/shared/components/account-underlying-investment-summary-view/account-underlying-investment-summary-view.component';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { TextTransformPipe } from 'src/app/modules/shared/pipes/textTransform';\r\n\r\n@Component({\r\n selector: 'app-underlying-investment-view',\r\n templateUrl: './underlying-investment-view.component.html',\r\n styleUrls: ['./underlying-investment-view.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n AccountUnderlyingInvestmentSummaryViewComponent,\r\n AppComponentWrapperComponent,\r\n AppToolbarOptionsComponent,\r\n TextTransformPipe,\r\n TranslatePipe,\r\n AnimateCssDirective,\r\n ],\r\n})\r\nexport class UnderlyingInvestmentViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n title: string = '';\r\n constructor(\r\n public store: Store,\r\n public translate: TranslateService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n setTitle(event) {\r\n this.translate\r\n .get('VIEWS.UnderlyingInvestments.subtitle')\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((x) => {\r\n if (x) {\r\n this.title = x;\r\n } else {\r\n this.title = event;\r\n }\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
{{'VIEWS.UnderlyingInvestments.title' | translate | textTransform}}
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { ComponentBase } from '../../views/component-base';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AccountFeatureToggle } from 'src/app/model/account-feature-toggles.model';\r\nimport { commonState_SystemConfig_LimitedServiceToggles } from 'src/app/store/common/common.selectors';\r\nimport { FeatureToggleName } from 'src/app/model/feature-toggle-name.model';\r\nimport { AsyncPipe, NgIf } from '@angular/common';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { TenantConfigPipe } from 'src/app/modules/shared/pipes/tenantconfig';\r\nimport { environment } from '../../../environments/environment';\r\n\r\n@Component({\r\n selector: 'app-maintenance-page',\r\n templateUrl: './maintenance-page.component.html',\r\n styleUrls: ['./maintenance-page.component.scss'],\r\n imports: [AnimateCssDirective, AsyncPipe, TenantConfigPipe, NgIf],\r\n})\r\nexport class MaintenancePageComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n limitedServiceToggles$ = this.store.pipe(\r\n select(commonState_SystemConfig_LimitedServiceToggles)\r\n );\r\n toggle: AccountFeatureToggle = null;\r\n animateContentWrapper = environment.views.loginView.animateContentWrapper;\r\n animateWrapper = environment.views.loginView.animateWrapper;\r\n\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n\r\n this.sub = this.limitedServiceToggles$.subscribe(\r\n (limitedServiceToggles) => {\r\n // Should always have the blackout toggle when we get to this page due to account guard\r\n var siteBlackoutToggle = limitedServiceToggles.find(\r\n (o) => o.name === FeatureToggleName.member.maintenance.view\r\n );\r\n if (siteBlackoutToggle) {\r\n this.toggle = siteBlackoutToggle;\r\n } else {\r\n // Redirect to dashboard as we dont want users going to this page manually\r\n this.router.navigate(['/']);\r\n }\r\n }\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n

\r\n The member portal is currently unavailable due to a significant\r\n event.\r\n

\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { AppState } from '../store/app.states';\r\nimport { Injectable } from '@angular/core';\r\nimport { CanActivate, Router, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { Observable } from 'rxjs';\r\nimport { commonState_SystemConfig_LimitedServiceToggles } from '../store/common/common.selectors';\r\nimport { FeatureToggleName } from '../model/feature-toggle-name.model';\r\nimport { map, skipWhile } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class BlackoutGuardService implements CanActivate {\r\n\r\n limitedServiceToggles$ = this.store.pipe(select(commonState_SystemConfig_LimitedServiceToggles));\r\n\r\n constructor(public store: Store,\r\n private router: Router) {\r\n }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean {\r\n return this.limitedServiceToggles$.pipe(\r\n skipWhile(val => !val),\r\n map(limitedServiceToggles => {\r\n var siteBlackoutToggle = limitedServiceToggles.find(o => o.name === FeatureToggleName.member.maintenance.view)\r\n if (!siteBlackoutToggle)\r\n return true;\r\n\r\n var currentDate = new Date();\r\n if (new Date(siteBlackoutToggle.startDate) <= currentDate && currentDate <= new Date(siteBlackoutToggle.endDate)) {\r\n this.router.navigate(['/maintenance'])\r\n return false;\r\n }\r\n else {\r\n return true;\r\n }\r\n })\r\n );\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { ComponentBase } from '../../views/component-base';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { AsyncPipe, NgClass, NgIf } from '@angular/common';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { TenantConfigPipe } from 'src/app/modules/shared/pipes/tenantconfig';\r\nimport { ScreenWidthDirective } from 'src/app/modules/shared/directives/screen-width.directive';\r\nimport { environment } from '../../../environments/environment';\r\n\r\n@Component({\r\n selector: 'app-error-page',\r\n templateUrl: './error-page.component.html',\r\n styleUrls: ['./error-page.component.scss'],\r\n imports: [\r\n ScreenWidthDirective,\r\n AnimateCssDirective,\r\n TenantConfigPipe,\r\n AsyncPipe,\r\n NgClass,\r\n NgIf,\r\n ],\r\n})\r\nexport class ErrorPageComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n displayPopupError = null;\r\n animateContentWrapper = environment.views.loginView.animateContentWrapper;\r\n animateWrapper = environment.views.loginView.animateWrapper;\r\n\r\n constructor(public store: Store) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.displayPopupError = localStorage.getItem('login-error-popup-block');\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n Please enable popups to continue with authentication\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n

\r\n Looks like something went wrong loading the member portal,\r\n please try again..\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n","import { AppState } from '../store/app.states';\r\nimport { Injectable } from '@angular/core';\r\nimport { CanActivate, Router, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { Observable } from 'rxjs';\r\nimport { commonState_SystemConfig_SiteError } from '../store/common/common.selectors';\r\nimport { map, skipWhile } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class ErrorPageGuardService implements CanActivate {\r\n\r\n siteError$ = this.store.pipe(select(commonState_SystemConfig_SiteError));\r\n\r\n constructor(public store: Store,\r\n private router: Router) {\r\n }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean {\r\n return this.siteError$.pipe(\r\n skipWhile(val => val === null || val === undefined),\r\n map(siteError => {\r\n if (siteError){\r\n return true;\r\n }\r\n else {\r\n this.router.navigate(['/'])\r\n return false;\r\n }\r\n })\r\n );\r\n }\r\n}\r\n","import { createAction } from '@ngrx/store';\r\nimport { props } from '@ngrx/store';\r\n\r\n\r\nexport const RequestAction = createAction('[take me with you] get',\r\n props<{ accountId: number }>());\r\n\r\nexport const ResponseAction = createAction('[take me with you] set choice of fund',\r\n props<{ payload: any }>());\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { ComponentBase } from '../component-base';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { memberAccountDropdown_SelectedAccount } from 'src/app/modules/shared/components/member-account-dropdown/selectors';\r\nimport {\r\n commomState_LoggedinInfo,\r\n commonState_MemberData,\r\n} from 'src/app/store/common/common.selectors';\r\nimport { MemberPortalSharedState } from 'src/app/modules/shared/store/shared.states';\r\nimport { AccountModel } from 'src/app/model/account.model';\r\nimport { RequestAction } from './actions';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { MessagePipe } from 'src/app/modules/shared/pipes/message';\r\nimport { NgIf, AsyncPipe } from '@angular/common';\r\nimport {\r\n AppToolbarOptionsComponent,\r\n AppButtonComponent,\r\n} from '@ifaa-components/ui-components';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { TextTransformPipe } from 'src/app/modules/shared/pipes/textTransform';\r\nimport { environment } from '../../../environments/environment';\r\n\r\n@Component({\r\n selector: 'app-take-me-with-you-view',\r\n templateUrl: './take-me-with-you-view.component.html',\r\n styleUrls: ['./take-me-with-you-view.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n AppComponentWrapperComponent,\r\n AppToolbarOptionsComponent,\r\n TextTransformPipe,\r\n TranslatePipe,\r\n AnimateCssDirective,\r\n NgIf,\r\n AsyncPipe,\r\n AppButtonComponent,\r\n ],\r\n})\r\nexport class TakeMeWithYouViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n account: AccountModel;\r\n selected$ = this.store.pipe(select(memberAccountDropdown_SelectedAccount));\r\n loggedIn$ = this.appstore.pipe(select(commomState_LoggedinInfo));\r\n data$ = this.appstore.pipe(select(commonState_MemberData));\r\n\r\n displayChoiceOfFundForm =\r\n environment.views.takeMeWithYou.displayChoiceOfFundForm;\r\n choiceOfFundLetter = '';\r\n\r\n constructor(\r\n public store: Store,\r\n public router: Router,\r\n public toastr: ToastrService,\r\n public message: MessagePipe,\r\n public appstore: Store\r\n ) {\r\n super();\r\n }\r\n\r\n async ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.sub = this.data$.subscribe(async (x) => {\r\n var m = await this.message.transform('takeMeWithYou_ChoiceOfFundLetter');\r\n if (m && x) {\r\n this.choiceOfFundLetter = m\r\n .replace('{{memberNumber}}', x.memberNumber)\r\n .replace('{{membersFirstName}}', x.firstName);\r\n\r\n console.log(this.choiceOfFundLetter);\r\n }\r\n });\r\n\r\n this.sub = this.selected$.subscribe((x) => {\r\n this.account = x;\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n download() {\r\n this.store.dispatch(RequestAction({ accountId: this.account.accountId }));\r\n }\r\n\r\n copyText(html: string): void {\r\n var type = 'text/html';\r\n var blob = new Blob([html], { type });\r\n var data = [new ClipboardItem({ [type]: blob })];\r\n\r\n navigator.clipboard.write(data).then(\r\n () => {\r\n this.toastr.success('Text has been copied to clipboard');\r\n },\r\n () => {\r\n /* failure */\r\n }\r\n );\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n Please click\r\n here\r\n to open the Letter of Compliance.\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n Please click\r\n here to download\r\n the Choice of Fund Form.\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Please click\r\n here\r\n to download the Choice of Fund Form.\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n

\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { ComponentBase } from '../../views/component-base';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { commomState_loginViewVideoUrl } from 'src/app/store/common/common.selectors';\r\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\r\nimport { MsalService } from '@azure/msal-angular';\r\nimport { NgIf, AsyncPipe, NgClass } from '@angular/common';\r\nimport { AppButtonComponent } from '@ifaa-components/ui-components';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { TenantConfigPipe } from 'src/app/modules/shared/pipes/tenantconfig';\r\nimport { ScreenWidthDirective } from 'src/app/modules/shared/directives/screen-width.directive';\r\nimport { environment } from '../../../environments/environment';\r\n\r\n@Component({\r\n selector: 'app-login-error',\r\n templateUrl: './login-error.component.html',\r\n styleUrls: ['./login-error.component.scss'],\r\n imports: [\r\n ScreenWidthDirective,\r\n AnimateCssDirective,\r\n TenantConfigPipe,\r\n NgIf,\r\n AsyncPipe,\r\n AppButtonComponent,\r\n NgClass,\r\n ],\r\n})\r\nexport class LoginErrorPageComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n loginViewVideoUrl$ = this.store.pipe(select(commomState_loginViewVideoUrl));\r\n videoUrl: SafeUrl = '';\r\n animateContentWrapper = environment.views.loginView.animateContentWrapper;\r\n animateWrapper = environment.views.loginView.animateWrapper;\r\n\r\n constructor(\r\n public store: Store,\r\n private sanitizer: DomSanitizer,\r\n private msalService: MsalService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n localStorage.removeItem('login-error');\r\n\r\n this.sub = this.loginViewVideoUrl$.subscribe((x) => {\r\n this.videoUrl = this.sanitizer.bypassSecurityTrustResourceUrl(x);\r\n });\r\n }\r\n\r\n onSubmitClick() {\r\n this.msalService.logoutRedirect();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n

\r\n There seems to be an issue with your account.\r\n

\r\n

\r\n Please contact us at\r\n {{\r\n \"phoneNumber\" | tenantconfig | async\r\n }}\r\n or\r\n {{\r\n \"email\" | tenantconfig | async\r\n }}.\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n CanActivate,\r\n Router,\r\n ActivatedRouteSnapshot,\r\n RouterStateSnapshot,\r\n} from '@angular/router';\r\n\r\n@Injectable()\r\nexport class MsalCheckService implements CanActivate {\r\n constructor(private router: Router) {}\r\n\r\n canActivate(_route: ActivatedRouteSnapshot, _state: RouterStateSnapshot) {\r\n if (localStorage.getItem('login-error')) {\r\n return true;\r\n }\r\n\r\n this.router.navigate(['/dashboard']);\r\n }\r\n}\r\n","import { createFeatureSelector, createSelector } from \"@ngrx/store\";\r\nimport { MemberPortalSharedState } from \"../../store/shared.states\";\r\nimport { featureKey } from '../../store/shared.reducers';\r\nimport { IAccessYourSuperUpdateSubmittedComponentState } from \"./state\";\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const getAccessYourSuperUpdateSubmittedState = createSelector(memberPortalState, (state) => state.accessYourSuperUpdateSubmittedComponentState);\r\n\r\nexport const accessYourSuperUpdateSubmitted_CustomData = createSelector(\r\n getAccessYourSuperUpdateSubmittedState,\r\n (state: IAccessYourSuperUpdateSubmittedComponentState) => state.customData\r\n)\r\n\r\nexport const accessYourSuperUpdateSubmitted_ApplicationData = createSelector(\r\n getAccessYourSuperUpdateSubmittedState,\r\n (state: IAccessYourSuperUpdateSubmittedComponentState) => state.applicationData\r\n)\r\n\r\nexport const accessYourSuperUpdateSubmitted_ApplicationId = createSelector(\r\n getAccessYourSuperUpdateSubmittedState,\r\n (state: IAccessYourSuperUpdateSubmittedComponentState) => state.applicationId\r\n)","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { Router, RouterLink } from '@angular/router';\r\nimport {\r\n accessYourSuperUpdateSubmitted_ApplicationData,\r\n accessYourSuperUpdateSubmitted_ApplicationId,\r\n accessYourSuperUpdateSubmitted_CustomData,\r\n} from './selector';\r\nimport { combineLatest } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport {\r\n GetCustomDataAction,\r\n GetKiwiSaverDataAction,\r\n GetSfhDataAction,\r\n} from './actions';\r\nimport { AccessYourSuperApplicationTypeEnum } from 'src/app/enums/access-your-super-application-type.enum';\r\nimport {\r\n AccessYourSuperKiwiSaverDetailSectionModel,\r\n AccessYourSuperPaymentDetailSectionModel,\r\n} from 'src/app/model/access-your-super-custom-sections.model';\r\nimport { memberAccountDropdown_SelectedAccount } from '../member-account-dropdown/selectors';\r\nimport { ResetComponentStateAction } from '../access-your-super-form/actions';\r\nimport { commonState_IsSending } from 'src/app/store/common/common.selectors';\r\nimport { NgIf, AsyncPipe, NgClass } from '@angular/common';\r\nimport { AppButtonComponent } from '@ifaa-components/ui-components';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { AccessYourSuperDocumentsComponent } from '../access-your-super-documents/access-your-super-documents.component';\r\nimport { AccessYourSuperReviewDisplayComponent } from '../access-your-super-review-display/access-your-super-review-display.component';\r\n\r\n@Component({\r\n selector: 'app-access-your-super-update-submitted',\r\n templateUrl: './access-your-super-update-submitted.component.html',\r\n styleUrls: ['./access-your-super-update-submitted.component.scss'],\r\n imports: [\r\n NgIf,\r\n AccessYourSuperReviewDisplayComponent,\r\n AccessYourSuperDocumentsComponent,\r\n AsyncPipe,\r\n NgClass,\r\n AppButtonComponent,\r\n TranslatePipe,\r\n RouterLink,\r\n ],\r\n})\r\nexport class AccessYourSuperUpdateSubmittedComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n customData$ = this.store.pipe(\r\n select(accessYourSuperUpdateSubmitted_CustomData)\r\n );\r\n applicationData$ = this.store.pipe(\r\n select(accessYourSuperUpdateSubmitted_ApplicationData)\r\n );\r\n applicationId$ = this.store.pipe(\r\n select(accessYourSuperUpdateSubmitted_ApplicationId)\r\n );\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n isSubmitting$ = this.store.pipe(select(commonState_IsSending));\r\n\r\n applicationUpdated: boolean = false;\r\n customData:\r\n | AccessYourSuperPaymentDetailSectionModel\r\n | AccessYourSuperKiwiSaverDetailSectionModel = null;\r\n\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n async ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.sub = combineLatest([\r\n this.customData$,\r\n this.applicationData$,\r\n this.applicationId$,\r\n this.selectedAccount$,\r\n ])\r\n .pipe(\r\n map(\r\n ([customData, applicationData, applicationId, selectedAccount]) => ({\r\n customData,\r\n applicationData,\r\n applicationId,\r\n selectedAccount,\r\n })\r\n )\r\n )\r\n .subscribe((x) => {\r\n if (x.selectedAccount && x.applicationData && x.applicationId) {\r\n if (!x.customData) {\r\n switch (x.applicationData.conditionData.applicationTypeId) {\r\n case AccessYourSuperApplicationTypeEnum.SevereFinancialHardship: {\r\n this.dispatch(\r\n this.store,\r\n GetSfhDataAction({\r\n accountId: x.selectedAccount.accountId,\r\n applicationId: x.applicationId,\r\n })\r\n );\r\n break;\r\n }\r\n case AccessYourSuperApplicationTypeEnum.TransferToKiwiSaver: {\r\n this.dispatch(\r\n this.store,\r\n GetKiwiSaverDataAction({\r\n accountId: x.selectedAccount.accountId,\r\n applicationId: x.applicationId,\r\n })\r\n );\r\n break;\r\n }\r\n default: {\r\n this.dispatch(\r\n this.store,\r\n GetCustomDataAction({\r\n accountId: x.selectedAccount.accountId,\r\n applicationId: x.applicationId,\r\n applicationTypeId:\r\n x.applicationData.conditionData.applicationTypeId,\r\n })\r\n );\r\n break;\r\n }\r\n }\r\n }\r\n if (x) {\r\n this.customData = x.customData;\r\n }\r\n }\r\n\r\n if (!x.applicationData && !x.applicationId) {\r\n this.router.navigate(['/access-your-super']);\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n this.dispatch(this.store, ResetComponentStateAction());\r\n }\r\n\r\n leavePage() {\r\n this.router.navigate(['/access-your-super']);\r\n }\r\n\r\n submit() {\r\n this.applicationUpdated = true;\r\n }\r\n}\r\n","\r\n

Review your submitted application

\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n \r\n\r\n 767,\r\n 'flex-column-reverse': screenWidth < 768\r\n }\"\r\n class=\"d-flex flex-wrap mt-4\"\r\n >\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n

\r\n Your benefit access request has been successfully updated\r\n

\r\n

\r\n Additional documents have been added to your benefit access request. You\r\n will be notified accordingly after processing is completed or if we need any\r\n further information.\r\n

\r\n
\r\n >\r\n \r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { ComponentBase } from '../component-base';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { AppToolbarOptionsComponent } from '@ifaa-components/ui-components';\r\nimport { AccessYourSuperUpdateSubmittedComponent } from 'src/app/modules/shared/components/access-your-super-update-submitted/access-your-super-update-submitted.component';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { TextTransformPipe } from 'src/app/modules/shared/pipes/textTransform';\r\n\r\n@Component({\r\n selector: 'app-access-your-review-submitted',\r\n templateUrl: './access-your-super-review-submitted.component.html',\r\n styleUrls: ['./access-your-super-review-submitted.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n AppComponentWrapperComponent,\r\n AppToolbarOptionsComponent,\r\n TextTransformPipe,\r\n AnimateCssDirective,\r\n AccessYourSuperUpdateSubmittedComponent,\r\n ],\r\n})\r\nexport class AccessYourSuperReviewSubmittedComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n constructor(public store: Store) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
{{'Access Your Super' | textTransform}}
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { featureKey } from '../../store/shared.reducers';\r\n\r\nimport { INoticeOfIntentTaxDeductionContainerState } from './state';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const noticeOfIntentTaxDeduction = createSelector(memberPortalState, (state) => state.noticeOfIntentTaxDeductionContainerComponentState);\r\n\r\nexport const noticeOfIntentTaxDeduction_CurrentStep = createSelector(\r\n noticeOfIntentTaxDeduction,\r\n(state: INoticeOfIntentTaxDeductionContainerState) => state.currentStep\r\n);\r\n\r\nexport const noticeOfIntentTaxDeduction_Applications = createSelector(\r\n noticeOfIntentTaxDeduction,\r\n(state: INoticeOfIntentTaxDeductionContainerState) => state.applications\r\n);\r\n\r\nexport const noticeOfIntentTaxDeduction_FormComponentData = createSelector(\r\n noticeOfIntentTaxDeduction, \r\n (state:INoticeOfIntentTaxDeductionContainerState) => state.formComponentData\r\n)\r\n\r\nexport const noticeOfIntentTaxDeduction_Form = createSelector(\r\n noticeOfIntentTaxDeduction, \r\n (state:INoticeOfIntentTaxDeductionContainerState) => state.form\r\n)\r\n\r\nexport const noticeOfIntentTaxDeductionForm_ViewTitle = createSelector(\r\n noticeOfIntentTaxDeduction,\r\n (state: INoticeOfIntentTaxDeductionContainerState) => {\r\n switch (state.currentStep){\r\n case -1:\r\n return \"Eligibility to claim a deduction\";\r\n case 1:\r\n return \"Your tax deduction requests\";\r\n case 2:\r\n return \"Eligibility to claim a deduction\";\r\n case 3: \r\n return \"Notice of intent to claim or vary a tax deduction application\";\r\n default:\r\n return \"Your tax deduction requests\";\r\n }\r\n }\r\n);","import { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { featureKey } from '../../store/shared.reducers';\r\nimport { INoticeOfIntentTaxDeductionFormComponentState } from './state';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const noticeOfIntentTaxDeductionForm = createSelector(memberPortalState, (state) => state.noticeOfIntentTaxDeductionFormComponentState);\r\n\r\nexport const noticeOfIntentTaxDeductionForm_Form = createSelector(\r\n noticeOfIntentTaxDeductionForm,\r\n (state: INoticeOfIntentTaxDeductionFormComponentState) => state.form\r\n);\r\n\r\nexport const noticeOfIntentTaxDeductionForm_TaxDeductionClaimTypes = createSelector(\r\n noticeOfIntentTaxDeductionForm,\r\n (state: INoticeOfIntentTaxDeductionFormComponentState) => state.taxDeductionClaimTypes\r\n);\r\n\r\nexport const noticeOfIntentTaxDeductionForm_FinancialYearDropdownOptions = createSelector(\r\n noticeOfIntentTaxDeductionForm,\r\n (state: INoticeOfIntentTaxDeductionFormComponentState) => state.financialYearDropdownOptions\r\n);\r\n\r\nexport const noticeOfIntentTaxDeductionForm_SelectedFinancialYear = createSelector(\r\n noticeOfIntentTaxDeductionForm,\r\n (state: INoticeOfIntentTaxDeductionFormComponentState) => {\r\n return {\r\n financialYear: state.form.value.financialYear,\r\n controlId: state.form.controls.personalContribution.id,\r\n claimType: state.form.value.claimType\r\n };\r\n }\r\n);\r\n\r\nexport const noticeOfIntentTaxDeductionForm_FinancialYearContributionsAmountId = createSelector(\r\n noticeOfIntentTaxDeductionForm,\r\n (state: INoticeOfIntentTaxDeductionFormComponentState) => state.form.controls.financialYearContributions.id\r\n);\r\n\r\nexport const noticeOfIntentTaxDeductionForm_Submitted = createSelector(\r\n noticeOfIntentTaxDeductionForm,\r\n (state: INoticeOfIntentTaxDeductionFormComponentState) => state.submitted\r\n);\r\n\r\nexport const noticeOfIntentTaxDeductionForm_HasWithdrawalPending = createSelector(\r\n noticeOfIntentTaxDeductionForm,\r\n (state: INoticeOfIntentTaxDeductionFormComponentState) => state.form.value.hasWithdrawalPending\r\n);\r\n\r\nexport const noticeOfIntentTaxDeductionForm_Disclaimer = createSelector(\r\n noticeOfIntentTaxDeductionForm,\r\n (state: INoticeOfIntentTaxDeductionFormComponentState) => state.disclaimer\r\n);","import { Component, Input, OnInit } from '@angular/core';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { AppButtonComponent } from '@ifaa-components/ui-components';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { commomState_SystemConfig_Config } from 'src/app/store/common/common.selectors';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\n\r\n@Component({\r\n selector: 'noi-pending-withdrawal-dialog',\r\n templateUrl: './noi-pending-withdrawal-dialog.component.html',\r\n styleUrls: ['./noi-pending-withdrawal-dialog.component.scss'],\r\n imports: [AppButtonComponent],\r\n})\r\nexport class NoiPendingWithdrawalDialog\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n tenantConfig$ = this.store.pipe(select(commomState_SystemConfig_Config));\r\n tenantCode: string = null;\r\n popoverText: string =\r\n 'This notice of intent may be considered invalid if the proportion of the tax-free component of your balance that you are claiming a tax deduction on has already been withdrawn or transferred out of your {fund} account. Please contact us for further details on determining the correct amount to claim as a tax deduction to ensure your notice is valid.';\r\n\r\n constructor(\r\n public store: Store,\r\n public dialogRef: MatDialogRef\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.sub = this.tenantConfig$.subscribe((x) => {\r\n this.tenantCode = x.fundCode.toLowerCase();\r\n this.popoverText = this.popoverText.replace('{fund}', x.name);\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n close() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","
\r\n

Please note:

\r\n

{{popoverText}}

\r\n \r\n
\r\n \r\n
\r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { ComponentBase } from '../../../../views/component-base';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport {\r\n NoticeOfIntentTaxDeductionFormComponentModel,\r\n NoticeOfIntentTaxDeductionFormSubmissionModel,\r\n} from 'src/app/model/notice-of-intent-tax-deduction.model';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n noticeOfIntentTaxDeductionForm_Disclaimer,\r\n noticeOfIntentTaxDeductionForm_FinancialYearContributionsAmountId,\r\n noticeOfIntentTaxDeductionForm_FinancialYearDropdownOptions,\r\n noticeOfIntentTaxDeductionForm_Form,\r\n noticeOfIntentTaxDeductionForm_HasWithdrawalPending,\r\n noticeOfIntentTaxDeductionForm_SelectedFinancialYear,\r\n noticeOfIntentTaxDeductionForm_Submitted,\r\n noticeOfIntentTaxDeductionForm_TaxDeductionClaimTypes,\r\n} from './selectors';\r\nimport {\r\n AppButtonComponent,\r\n AppReadonlyComponent,\r\n EntryCheckboxFieldComponent,\r\n EntryFieldDropdownComponent,\r\n EntryFieldRadioComponent,\r\n KeyValueModel,\r\n NumberEntryFieldComponent,\r\n} from '@ifaa-components/ui-components';\r\nimport {\r\n RequestAction,\r\n ResetFormStateAction,\r\n SetDisclaimerAction,\r\n SetFinancialYearDropdownOptionsAction,\r\n SetTaxDeductionRadioOptionsAction,\r\n} from './actions';\r\nimport { NgrxFormsModule, SetValueAction } from 'ngrx-forms';\r\nimport { AsyncPipe, CurrencyPipe, NgClass, NgIf } from '@angular/common';\r\nimport { distinctUntilChanged } from 'rxjs';\r\nimport { ResetComponentStateAction } from '../notice-of-intent-tax-deduction-container/actions';\r\nimport { NoticeOfIntentTaxDeductionFormComponentForm } from './state';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { NoiPendingWithdrawalDialog } from './noi-pending-withdrawal-dialog/noi-pending-withdrawal-dialog.component';\r\nimport {\r\n commomState_ElevatedAccess,\r\n commonState_IsSending,\r\n} from 'src/app/store/common/common.selectors';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { AppRadioDirective } from '../../directives/app-radio.directive';\r\nimport { AppButtonDirective } from '../../directives/appbutton.directive';\r\nimport { InputScrollDirective } from '../../directives/input-scroll.directive';\r\nimport { MemberViewComponent } from '../member-view/member-view.component';\r\n\r\n@Component({\r\n selector: 'app-notice-of-intent-tax-deduction-form',\r\n templateUrl: './notice-of-intent-tax-deduction-form.component.html',\r\n styleUrls: ['./notice-of-intent-tax-deduction-form.component.scss'],\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n MemberViewComponent,\r\n AppButtonComponent,\r\n NgClass,\r\n TranslatePipe,\r\n NgrxFormsModule,\r\n EntryFieldRadioComponent,\r\n InputScrollDirective,\r\n EntryFieldDropdownComponent,\r\n AppReadonlyComponent,\r\n NumberEntryFieldComponent,\r\n AppRadioDirective,\r\n EntryCheckboxFieldComponent,\r\n AppButtonDirective,\r\n ],\r\n})\r\nexport class NoticeOfIntentTaxDeductionFormComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n @Input() set data(value: NoticeOfIntentTaxDeductionFormComponentModel) {\r\n this.model = value;\r\n }\r\n @Input() set account(value: number) {\r\n this.accountId = value;\r\n }\r\n\r\n form$ = this.store.pipe(select(noticeOfIntentTaxDeductionForm_Form));\r\n taxDeductionClaimTypes$ = this.store.pipe(\r\n select(noticeOfIntentTaxDeductionForm_TaxDeductionClaimTypes)\r\n );\r\n financialYearDropdownOptions$ = this.store.pipe(\r\n select(noticeOfIntentTaxDeductionForm_FinancialYearDropdownOptions)\r\n );\r\n selectedFinancialYear$ = this.store.pipe(\r\n select(noticeOfIntentTaxDeductionForm_SelectedFinancialYear)\r\n );\r\n financialYearContributionsAmountId$ = this.store.pipe(\r\n select(noticeOfIntentTaxDeductionForm_FinancialYearContributionsAmountId)\r\n );\r\n submitted$ = this.store.pipe(\r\n select(noticeOfIntentTaxDeductionForm_Submitted)\r\n );\r\n hasWithdrawalPending$ = this.store.pipe(\r\n select(noticeOfIntentTaxDeductionForm_HasWithdrawalPending)\r\n );\r\n elevatedAccess$ = this.store.pipe(select(commomState_ElevatedAccess));\r\n disclaimer$ = this.store.pipe(\r\n select(noticeOfIntentTaxDeductionForm_Disclaimer)\r\n );\r\n\r\n isSubmitting$ = this.store.pipe(select(commonState_IsSending));\r\n\r\n tfnTooltipText: string =\r\n 'It isn’t compulsory to provide your TFN, but if its not provided additional tax may be deducted from your superannuation benefit and the taxable component of any cash payment will be taxed at the highest marginal rate plus applicable levies if you are under age 60.';\r\n model: NoticeOfIntentTaxDeductionFormComponentModel = null;\r\n accountId: number = 0;\r\n currentFinancialYear: string = '';\r\n previousFinancialYear: string = '';\r\n noiPendingWithdrawalRef: MatDialogRef = null;\r\n elevatedAccess = false;\r\n\r\n currencyPipe = new CurrencyPipe('en-au');\r\n\r\n constructor(\r\n public store: Store,\r\n public dialog: MatDialog,\r\n private router: Router\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.sub = this.elevatedAccess$.subscribe((x) => {\r\n this.elevatedAccess = x;\r\n });\r\n\r\n var taxDeductionClaimTypes = [] as KeyValueModel[];\r\n taxDeductionClaimTypes.push({ key: 0, value: 'New' });\r\n taxDeductionClaimTypes.push({ key: 1, value: 'Variation' });\r\n\r\n var financialYearOptions = [] as KeyValueModel[];\r\n var currentDate = new Date();\r\n var currentYear = currentDate.getFullYear();\r\n var currentMonth = currentDate.getMonth() + 1;\r\n\r\n // save the values so they can be used in submission to api\r\n if (currentMonth < 7) {\r\n this.currentFinancialYear = `FY ${currentYear - 1}/${currentYear}`;\r\n this.previousFinancialYear = `FY ${currentYear - 2}/${currentYear - 1}`;\r\n } else {\r\n this.currentFinancialYear = `FY ${currentYear}/${currentYear + 1}`;\r\n this.previousFinancialYear = `FY ${currentYear - 1}/${currentYear}`;\r\n }\r\n financialYearOptions.push({\r\n key: 0,\r\n value: `Current financial year: ${this.currentFinancialYear}`,\r\n });\r\n financialYearOptions.push({\r\n key: 1,\r\n value: `Previous financial year: ${this.previousFinancialYear}`,\r\n });\r\n\r\n this.dispatch(\r\n this.store,\r\n SetTaxDeductionRadioOptionsAction({ payload: taxDeductionClaimTypes })\r\n );\r\n this.dispatch(\r\n this.store,\r\n SetFinancialYearDropdownOptionsAction({ payload: financialYearOptions })\r\n );\r\n\r\n // Save the current/previous fy contributions into form state so are used in validations\r\n this.sub = this.financialYearContributionsAmountId$.subscribe((x) => {\r\n if (x) {\r\n this.store.dispatch(new SetValueAction(x, this.model.contributions));\r\n }\r\n });\r\n\r\n this.sub = this.selectedFinancialYear$\r\n .pipe(\r\n distinctUntilChanged((x, y) => JSON.stringify(x) === JSON.stringify(y))\r\n )\r\n .subscribe((x) => {\r\n if (x.financialYear === 0) {\r\n this.store.dispatch(\r\n new SetValueAction(\r\n x.controlId,\r\n this.currencyPipe.transform(this.model.contributions.currentYear)\r\n )\r\n );\r\n } else {\r\n this.store.dispatch(\r\n new SetValueAction(\r\n x.controlId,\r\n this.currencyPipe.transform(this.model.contributions.previousYear)\r\n )\r\n );\r\n }\r\n\r\n if (x.claimType === 1) {\r\n this.dispatch(\r\n this.store,\r\n SetDisclaimerAction({\r\n disclaimer:\r\n this.model.formWording.variantTypeSubmissionDisclaimer,\r\n })\r\n );\r\n } else {\r\n if (x.financialYear === 0)\r\n this.dispatch(\r\n this.store,\r\n SetDisclaimerAction({\r\n disclaimer:\r\n this.model.formWording.newTypeSubmissionDisclaimer.replace(\r\n '{date}',\r\n this.currentFinancialYear\r\n ),\r\n })\r\n );\r\n else\r\n this.dispatch(\r\n this.store,\r\n SetDisclaimerAction({\r\n disclaimer:\r\n this.model.formWording.newTypeSubmissionDisclaimer.replace(\r\n '{date}',\r\n this.previousFinancialYear\r\n ),\r\n })\r\n );\r\n }\r\n });\r\n\r\n this.sub = this.hasWithdrawalPending$.subscribe((x) => {\r\n if (x) {\r\n this.noiPendingWithdrawalRef = this.dialog.open(\r\n NoiPendingWithdrawalDialog,\r\n {\r\n width: '700px',\r\n }\r\n );\r\n }\r\n });\r\n this.noiPendingWithdrawalRef?.afterClosed().subscribe(() => {\r\n this.noiPendingWithdrawalRef = null;\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.resetState();\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n submit(data: NoticeOfIntentTaxDeductionFormComponentForm) {\r\n if (this.elevatedAccess) return;\r\n var submission = {\r\n financialYear:\r\n data.financialYear === 0\r\n ? this.currentFinancialYear\r\n : this.previousFinancialYear,\r\n originalClaimAmount:\r\n data.claimType === 0 ? null : data.originalClaimAmount,\r\n claimAmount: data.claimAmount,\r\n hasWithdrawalPending: data.hasWithdrawalPending,\r\n } as NoticeOfIntentTaxDeductionFormSubmissionModel;\r\n\r\n this.dispatch(\r\n this.store,\r\n RequestAction({ accountId: this.accountId, payload: submission })\r\n );\r\n }\r\n\r\n cancel() {\r\n this.resetState();\r\n }\r\n\r\n updatePersonalDetails() {\r\n this.resetState();\r\n this.router.navigate(['/personal-edit']);\r\n }\r\n\r\n resetState() {\r\n this.dispatch(this.store, ResetFormStateAction());\r\n this.dispatch(this.store, ResetComponentStateAction());\r\n }\r\n\r\n goHome() {\r\n this.store.dispatch(ResetComponentStateAction());\r\n }\r\n}\r\n","
\r\n \r\n
\r\n \r\n

Personal details

\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n

Contribution details

\r\n
\r\n
\r\n
\r\n 991,\r\n 'w-100': screenWidth < 992\r\n }\"\r\n >\r\n \r\n
\r\n
\r\n
\r\n 991,\r\n 'w-100': screenWidth < 992\r\n }\"\r\n >\r\n \r\n \r\n
\r\n
\r\n
\r\n 991,\r\n 'w-100': screenWidth < 992\r\n }\"\r\n >\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n 991,\r\n 'w-100': screenWidth < 992\r\n }\"\r\n >\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n 991,\r\n 'w-100': screenWidth < 992\r\n }\"\r\n >\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n \r\n

Disclaimer

\r\n
\r\n \r\n
\r\n \r\n\r\n \r\n 767,\r\n 'flex-column-reverse': screenWidth < 768\r\n }\"\r\n class=\"d-flex mt-3\"\r\n >\r\n 767, 'mt-1': screenWidth < 768 }\"\r\n class=\"{{ 'BTN.notice-of-intent.back.class' | translate }}\"\r\n title=\"Cancel\"\r\n icon=\"{{ 'BTN.notice-of-intent.cancel.icon' | translate }}\"\r\n color=\"{{ 'BTN.notice-of-intent.cancel.color' | translate }}\"\r\n [isDisabled]=\"isSubmitting$ | async\"\r\n (onClick)=\"cancel()\"\r\n >\r\n 767, 'mt-1': screenWidth < 768 }\"\r\n class=\"\"\r\n *ngIf=\"!(elevatedAccess$ | async)\"\r\n title=\"Submit\"\r\n icon=\"{{ 'BTN.notice-of-intent.continue.icon' | translate }}\"\r\n color=\"{{ 'BTN.notice-of-intent.continue.color' | translate }}\"\r\n [isDisabled]=\"form.isInvalid || (isSubmitting$ | async)\"\r\n loading\r\n (onClick)=\"submit(form.value)\"\r\n >\r\n \r\n \r\n\r\n \r\n \r\n
\r\n >\r\n \r\n
\r\n
\r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { ComponentBase } from '../../../../views/component-base';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport {\r\n noticeOfIntentTaxDeduction_Applications,\r\n noticeOfIntentTaxDeduction_CurrentStep,\r\n noticeOfIntentTaxDeduction_Form,\r\n noticeOfIntentTaxDeduction_FormComponentData,\r\n} from './selectors';\r\nimport { memberAccountDropdown_SelectedAccount } from '../member-account-dropdown/selectors';\r\nimport { combineLatest } from 'rxjs';\r\nimport {\r\n GetFormDataAction,\r\n RequestAction,\r\n ResetComponentStateAction,\r\n SetCurrentStepAction,\r\n} from './actions';\r\nimport { NoticeOfIntentTaxDeductionModel } from 'src/app/model/notice-of-intent-tax-deduction.model';\r\nimport { commomState_ElevatedAccess } from 'src/app/store/common/common.selectors';\r\nimport { NgIf, AsyncPipe, NgFor, NgClass } from '@angular/common';\r\nimport { RouterLink } from '@angular/router';\r\nimport {\r\n AppButtonComponent,\r\n EntryCheckboxFieldComponent,\r\n} from '@ifaa-components/ui-components';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { NoticeOfIntentTaxDeductionFormComponent } from '../notice-of-intent-tax-deduction-form/notice-of-intent-tax-deduction-form.component';\r\n\r\n@Component({\r\n selector: 'app-notice-of-intent-tax-deduction-container',\r\n templateUrl: './notice-of-intent-tax-deduction-container.component.html',\r\n styleUrls: ['./notice-of-intent-tax-deduction-container.component.scss'],\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n RouterLink,\r\n TranslatePipe,\r\n NgFor,\r\n AppButtonComponent,\r\n NgClass,\r\n NoticeOfIntentTaxDeductionFormComponent,\r\n EntryCheckboxFieldComponent,\r\n ],\r\n})\r\nexport class NoticeOfIntentTaxDeductionContainerComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n currentStep$ = this.store.pipe(\r\n select(noticeOfIntentTaxDeduction_CurrentStep)\r\n );\r\n applications$ = this.store.pipe(\r\n select(noticeOfIntentTaxDeduction_Applications)\r\n );\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n formComponentData$ = this.store.pipe(\r\n select(noticeOfIntentTaxDeduction_FormComponentData)\r\n );\r\n form$ = this.store.pipe(select(noticeOfIntentTaxDeduction_Form));\r\n\r\n elevatedAccess$ = this.appstore.pipe(select(commomState_ElevatedAccess));\r\n elevatedAccess = false;\r\n\r\n applications: NoticeOfIntentTaxDeductionModel[];\r\n accountId: number;\r\n\r\n constructor(\r\n public store: Store,\r\n public appstore: Store\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n this.sub = combineLatest([\r\n this.selectedAccount$,\r\n this.currentStep$,\r\n ]).subscribe((x) => {\r\n if (x?.[0]?.accountId) {\r\n // if we are on current step 1, get submitted applications\r\n if (x[1] === 1) {\r\n this.accountId = x?.[0].accountId;\r\n this.dispatch(\r\n this.store,\r\n RequestAction({ accountId: this.accountId })\r\n );\r\n }\r\n }\r\n this.elevatedAccess$.subscribe((x) => {\r\n this.elevatedAccess = x;\r\n });\r\n });\r\n\r\n this.sub = this.applications$.subscribe((x) => {\r\n if (x) {\r\n this.applications = x;\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.dispatch(this.store, ResetComponentStateAction());\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n startApplication() {\r\n this.dispatch(this.store, GetFormDataAction({ accountId: this.accountId }));\r\n }\r\n\r\n continue() {\r\n this.dispatch(this.store, SetCurrentStepAction({ currentStep: 3 }));\r\n }\r\n\r\n cancel() {\r\n this.dispatch(this.store, SetCurrentStepAction({ currentStep: 1 }));\r\n }\r\n}\r\n","\r\n \r\n
\r\n

\r\n You may be eligible to claim or vary a tax deduction for your personal\r\n contributions made to your superannuation account from your after-tax\r\n income. We need to accept your Notice of Intent to Claim a tax deduction\r\n request and you need to receive an acknowledgement of this from us before\r\n you can claim a tax deduction in your income tax returns.\r\n

\r\n

\r\n Once your request has been acknowledged and processed, the applicable\r\n transactions will appear under\r\n Transactions for the relevant\r\n financial year.\r\n

\r\n\r\n

Requests submitted online

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Financial YearPersonal ContributionClaim AmountSubmitted Date
{{ item.financialYear }}{{ item.personalContributionAmount }}{{ item.claimAmount }}{{ item.submittedDate }}
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n

\r\n At this time, you don't seem to be eligible to claim or vary a tax\r\n deduction since\r\n . Please\r\n contact us if you would like this to be reviewed or you need any further\r\n details.\r\n

\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n

\r\n For further information to claim or vary a deduction for personal\r\n contributions, please click\r\n here.\r\n

\r\n \r\n

\r\n Information provided is of a general nature only and we have not taken\r\n your personal financial objectives, situation or needs into account.\r\n Please consult a professional tax or financial adviser, if needed.\r\n

\r\n 767,\r\n 'flex-column-reverse': screenWidth < 768\r\n }\"\r\n class=\"d-flex mt-3\"\r\n >\r\n 767, 'mt-1': screenWidth < 768 }\"\r\n class=\"{{ 'BTN.notice-of-intent.back.class' | translate }}\"\r\n title=\"Cancel\"\r\n icon=\"{{ 'BTN.notice-of-intent.cancel.icon' | translate }}\"\r\n color=\"{{ 'BTN.notice-of-intent.cancel.color' | translate }}\"\r\n (onClick)=\"cancel()\"\r\n >\r\n 767, 'mt-1': screenWidth < 768 }\"\r\n class=\"\"\r\n *ngIf=\"!(elevatedAccess$ | async)\"\r\n title=\"Continue\"\r\n icon=\"{{ 'BTN.notice-of-intent.continue.icon' | translate }}\"\r\n color=\"{{ 'BTN.notice-of-intent.continue.color' | translate }}\"\r\n [isDisabled]=\"form.isInvalid\"\r\n (onClick)=\"continue()\"\r\n >\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { ComponentBase } from '../../views/component-base';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { noticeOfIntentTaxDeductionForm_ViewTitle } from 'src/app/modules/shared/components/notice-of-intent-tax-deduction-container/selectors';\r\nimport { AsyncPipe } from '@angular/common';\r\nimport { AppToolbarOptionsComponent } from '@ifaa-components/ui-components';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { NoticeOfIntentTaxDeductionContainerComponent } from 'src/app/modules/shared/components/notice-of-intent-tax-deduction-container/notice-of-intent-tax-deduction-container.component';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { TextTransformPipe } from 'src/app/modules/shared/pipes/textTransform';\r\n\r\n@Component({\r\n selector: 'app-notice-of-intent-tax-deduction-view',\r\n templateUrl: './notifice-of-intent-tax-deduction-view.component.html',\r\n styleUrls: ['./notifice-of-intent-tax-deduction-view.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n AppComponentWrapperComponent,\r\n AppToolbarOptionsComponent,\r\n AnimateCssDirective,\r\n TextTransformPipe,\r\n AsyncPipe,\r\n NoticeOfIntentTaxDeductionContainerComponent,\r\n ],\r\n})\r\nexport class NoticeOfIntentToClaimTaxDeductionViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n viewContainerTitle$ = this.store.pipe(\r\n select(noticeOfIntentTaxDeductionForm_ViewTitle)\r\n );\r\n\r\n constructor(public store: Store) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
{{'Notice of intent to claim or vary a tax deduction' | textTransform}}
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n ","import { MemberPortalSharedState } from './../../store/shared.states';\r\nimport { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { featureKey } from '../../store/shared.reducers';\r\n\r\nimport { IPensionChangePaymentScheduleState } from './state';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const pensionChangePaymentSchedule = createSelector(memberPortalState, (state) => state.pensionChangePaymentScheduleState);\r\n\r\nexport const pensionChangePaymentSchedule_Form = createSelector(\r\n pensionChangePaymentSchedule,\r\n (state: IPensionChangePaymentScheduleState) => state.form\r\n);\r\n\r\nexport const pensionChangePaymentSchedule_Data = createSelector(\r\n pensionChangePaymentSchedule,\r\n (state: IPensionChangePaymentScheduleState) => state.data\r\n);\r\n\r\nexport const pensionChangePaymentSchedule_FilteredPaymentTypes = createSelector(\r\n pensionChangePaymentSchedule,\r\n (state: IPensionChangePaymentScheduleState) => state.filteredPaymentTypes\r\n);\r\n\r\nexport const pensionChangePaymentSchedule_FilteredFrequencies = createSelector(\r\n pensionChangePaymentSchedule,\r\n (state: IPensionChangePaymentScheduleState) => state.filteredFrequencies\r\n);\r\n\r\nexport const pensionChangePaymentSchedule_IsAcctPension = createSelector(\r\n pensionChangePaymentSchedule,\r\n (state: IPensionChangePaymentScheduleState) => state.isAcctPension\r\n);\r\n\r\nexport const pensionChangePaymentSchedule_FormSubmitted = createSelector(\r\n pensionChangePaymentSchedule,\r\n (state: IPensionChangePaymentScheduleState) => state.formSubmitted\r\n);","export enum AccountClassificationEnum{\r\n Unknown = -1,\r\n Accumulation = 1,\r\n Pension = 2,\r\n TTR = 3 ,\r\n PrePension = 4,\r\n InsuranceOnly = 5, \r\n DefinedBenefit = 6,\r\n RedundancyTrust = 99\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { Router, RouterLink } from '@angular/router';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { memberAccountDropdown_SelectedAccount } from '../member-account-dropdown/selectors';\r\nimport {\r\n pensionChangePaymentSchedule_Data,\r\n pensionChangePaymentSchedule_FilteredFrequencies,\r\n pensionChangePaymentSchedule_FilteredPaymentTypes,\r\n pensionChangePaymentSchedule_Form,\r\n pensionChangePaymentSchedule_FormSubmitted,\r\n pensionChangePaymentSchedule_IsAcctPension,\r\n} from './selectors';\r\nimport {\r\n GetPaymentScheduleRequestAction,\r\n ResetFormAction,\r\n SetFilteredFrequenciesAction,\r\n SetFilteredPaymentTypesAction,\r\n SubmitPaymentScheduleRequestAction,\r\n} from './actions';\r\nimport { combineLatest, map } from 'rxjs';\r\nimport { PensionPaymentTypeEnum } from 'src/app/enums/pension-payment-type.enum';\r\nimport {\r\n AppButtonComponent,\r\n AppReadonlyComponent,\r\n EntryFieldDropdownComponent,\r\n Helper,\r\n NumberEntryFieldComponent,\r\n} from '@ifaa-components/ui-components';\r\nimport { AccountClassificationEnum } from 'src/app/enums/account-classification.enum';\r\nimport { FrequencyEnum } from 'src/app/enums/frequency.enum';\r\nimport { PensionChangePaymentScheduleForm } from './state';\r\nimport { PensionPaymentScheduleModel } from 'src/app/model/pension-payment-schedule.model';\r\nimport { commonState_IsSending } from 'src/app/store/common/common.selectors';\r\nimport { NgIf, AsyncPipe, CurrencyPipe, DatePipe } from '@angular/common';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MatTooltip } from '@angular/material/tooltip';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { NgrxFormsModule } from 'ngrx-forms';\r\nimport { AnimateCssDirective } from '../../directives/animatecss.directive';\r\nimport { AppButtonDirective } from '../../directives/appbutton.directive';\r\nimport { InputScrollDirective } from '../../directives/input-scroll.directive';\r\n\r\n@Component({\r\n selector: 'app-pension-change-schedule',\r\n templateUrl: './pension-change-schedule.component.html',\r\n styleUrls: ['./pension-change-schedule.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n NgrxFormsModule,\r\n AppReadonlyComponent,\r\n CurrencyPipe,\r\n MatIcon,\r\n MatTooltip,\r\n EntryFieldDropdownComponent,\r\n InputScrollDirective,\r\n NumberEntryFieldComponent,\r\n AnimateCssDirective,\r\n AppButtonComponent,\r\n TranslatePipe,\r\n AppButtonDirective,\r\n RouterLink,\r\n DatePipe,\r\n ],\r\n})\r\nexport class PensionChangeScheduleComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n data$ = this.store.pipe(select(pensionChangePaymentSchedule_Data));\r\n form$ = this.store.pipe(select(pensionChangePaymentSchedule_Form));\r\n paymentFrequencies$ = this.store.pipe(\r\n select(pensionChangePaymentSchedule_FilteredFrequencies)\r\n );\r\n paymentTypes$ = this.store.pipe(\r\n select(pensionChangePaymentSchedule_FilteredPaymentTypes)\r\n );\r\n isAcctPension$ = this.store.pipe(\r\n select(pensionChangePaymentSchedule_IsAcctPension)\r\n );\r\n formSubmitted$ = this.store.pipe(\r\n select(pensionChangePaymentSchedule_FormSubmitted)\r\n );\r\n\r\n submitting$ = this.store.pipe(select(commonState_IsSending));\r\n\r\n accountId: number = null;\r\n helper = new Helper();\r\n\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.sub = this.selectedAccount$.subscribe((x) => {\r\n if (x) {\r\n this.accountId = x.accountId;\r\n this.store.dispatch(\r\n GetPaymentScheduleRequestAction({\r\n accountId: x.accountId,\r\n isPension:\r\n x.accountClassificationId == AccountClassificationEnum.Pension,\r\n })\r\n );\r\n }\r\n });\r\n\r\n // filter the payment types for\r\n this.sub = combineLatest([this.isAcctPension$, this.data$])\r\n .pipe(map(([isAcctPension, data]) => ({ isAcctPension, data })))\r\n .subscribe((x) => {\r\n if (x.data) {\r\n // Filter payment types\r\n if (x.isAcctPension) {\r\n const filteredList = x.data.paymentTypes.filter(\r\n (x) =>\r\n x.key == PensionPaymentTypeEnum.Minimum ||\r\n x.key == PensionPaymentTypeEnum.Nominated\r\n );\r\n this.store.dispatch(\r\n SetFilteredPaymentTypesAction({ paymentTypes: filteredList })\r\n );\r\n } else {\r\n const filteredList = x.data.paymentTypes.filter(\r\n (x) =>\r\n x.key == PensionPaymentTypeEnum.Minimum ||\r\n x.key == PensionPaymentTypeEnum.Nominated ||\r\n x.key == PensionPaymentTypeEnum.Maximum\r\n );\r\n this.store.dispatch(\r\n SetFilteredPaymentTypesAction({ paymentTypes: filteredList })\r\n );\r\n }\r\n\r\n //Filter frequencies\r\n const filteredFrequencies = x.data.paymentFrequencies.filter(\r\n (x) =>\r\n x.key === FrequencyEnum.Annually ||\r\n x.key === FrequencyEnum.HalfYearly ||\r\n x.key === FrequencyEnum.Quarterly ||\r\n x.key === FrequencyEnum.Monthly\r\n );\r\n this.store.dispatch(\r\n SetFilteredFrequenciesAction({ frequencies: filteredFrequencies })\r\n );\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n this.store.dispatch(ResetFormAction());\r\n }\r\n\r\n cancelApplication() {\r\n this.router.navigate(['/pension-details']);\r\n }\r\n\r\n async submitApplication() {\r\n var formData = await this.helper.getValue(this.form$);\r\n this.store.dispatch(\r\n SubmitPaymentScheduleRequestAction({\r\n accountId: this.accountId,\r\n submissionData: {\r\n paymentFrequencyId: formData.value.paymentFrequency,\r\n paymentTypeId: formData.value.paymentType,\r\n paymentAmount: formData.value.paymentAmount,\r\n },\r\n })\r\n );\r\n }\r\n\r\n showDateWarning() {\r\n const currentDate = new Date();\r\n return (\r\n currentDate >=\r\n new Date(currentDate.getFullYear(), currentDate.getMonth(), 10)\r\n );\r\n }\r\n\r\n showMinMaxWarning(freqMin: number, freqMax: number) {\r\n return freqMin === 0 && freqMax === 0;\r\n }\r\n\r\n getFrequencyText(freqId: number) {\r\n switch (freqId) {\r\n case 1:\r\n return 'annually';\r\n case 2:\r\n return 'half-yearly';\r\n case 3:\r\n return 'quarterly';\r\n case 4:\r\n return 'monthly';\r\n }\r\n }\r\n\r\n valuesChanged(\r\n formData: PensionChangePaymentScheduleForm,\r\n apiData: PensionPaymentScheduleModel\r\n ) {\r\n if (formData.paymentType !== apiData.currentPensionPaymentTypeId) {\r\n return true;\r\n }\r\n if (formData.paymentFrequency !== apiData.currentFrequencyId) {\r\n return true;\r\n }\r\n if (formData.paymentAmount !== apiData.currentFrequencyAmount) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n","
\r\n \r\n \r\n

Your pension income payment details:

\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Payment frequency:\r\n help_outline\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n Payment type:\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n Payment amount:\r\n help_outline\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n

\r\n Payment amount must be between\r\n {{ form.value.freqMin | currency }} and\r\n {{ form.value.freqMax | currency }}.\r\n

\r\n \r\n You have received the maximum annual pension amount permitted\r\n for the current financial year. Your next pension payment will\r\n be in the next financial year at your chosen frequency of\r\n {{ getFrequencyText(form.value.paymentFrequency) }}. Your\r\n payment amount will be recalculated at the start of the next\r\n financial year. Please click 'Submit' if you wish to\r\n continue.\r\n

\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n

{{ data.formWording.submissionWording }}

\r\n

\r\n {{ data.formWording.dateBasedSubmissionWording }}\r\n

\r\n
\r\n >\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n You currently have a pension schedule change request in progress. You\r\n will not be able to submit another change request until it has been\r\n processed.\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { ComponentBase } from '../component-base';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AppToolbarOptionsComponent } from '@ifaa-components/ui-components';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { PensionChangeScheduleComponent } from 'src/app/modules/shared/components/pension-change-schedule/pension-change-schedule.component';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { TextTransformPipe } from 'src/app/modules/shared/pipes/textTransform';\r\n\r\n@Component({\r\n selector: 'app-pension-change-schedule-view',\r\n templateUrl: './pension-change-schedule-view.component.html',\r\n styleUrls: ['./pension-change-schedule-view.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n AppComponentWrapperComponent,\r\n AppToolbarOptionsComponent,\r\n TextTransformPipe,\r\n PensionChangeScheduleComponent,\r\n AnimateCssDirective,\r\n ],\r\n})\r\nexport class PensionChangeScheduleViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
{{'Pension details' | textTransform}}
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n ","import { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { featureKey } from '../../store/shared.reducers';\r\n\r\nimport { IPensionChangePaymentScheduleRequestsState } from './state';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const pensionChangePaymentScheduleRequests = createSelector(memberPortalState, (state) => state.pensionChangePaymentScheduleRequestsState);\r\n\r\nexport const pensionChangePaymentScheduleRequests_Data = createSelector(\r\n pensionChangePaymentScheduleRequests,\r\n (state: IPensionChangePaymentScheduleRequestsState) => state.data\r\n);","import { Component, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { memberAccountDropdown_SelectedAccount } from '../member-account-dropdown/selectors';\r\nimport {\r\n GetChangePaymentScheduleRequestsRequestAction,\r\n ResetFormAction,\r\n} from './actions';\r\nimport { pensionChangePaymentScheduleRequests_Data } from './selectors';\r\nimport {\r\n NgIf,\r\n AsyncPipe,\r\n CurrencyPipe,\r\n DatePipe,\r\n NgFor,\r\n} from '@angular/common';\r\nimport { AppButtonComponent } from '@ifaa-components/ui-components';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-pension-change-schedule-requests',\r\n templateUrl: './pension-change-schedule-requests.component.html',\r\n styleUrls: ['./pension-change-schedule-requests.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n TranslatePipe,\r\n CurrencyPipe,\r\n DatePipe,\r\n NgFor,\r\n AppButtonComponent,\r\n ],\r\n})\r\nexport class PensionChangeScheduleRequestsComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n data$ = this.store.pipe(select(pensionChangePaymentScheduleRequests_Data));\r\n\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.sub = this.selectedAccount$.subscribe((x) => {\r\n if (x?.accountId) {\r\n this.store.dispatch(\r\n GetChangePaymentScheduleRequestsRequestAction({\r\n accountId: x.accountId,\r\n })\r\n );\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n this.store.dispatch(ResetFormAction());\r\n }\r\n\r\n goBack() {\r\n this.router.navigate(['/pension-details']);\r\n }\r\n}\r\n","
\r\n \r\n 0\">\r\n
\r\n

Pension schedule change requests submitted online.

\r\n 768\"\r\n class=\"col-12 table {{\r\n 'VIEWS.Global.table-default-style' | translate\r\n }}\"\r\n >\r\n \r\n \r\n Payment frequency\r\n Payment type\r\n Payment amount\r\n Submitted on\r\n Case status\r\n \r\n \r\n \r\n \r\n \r\n {{ item.paymentFrequency }}\r\n {{ item.paymentType }}\r\n {{ item.paymentAmount | currency }}\r\n {{ item.submittedOn | date }}\r\n {{ item.caseStatus }}\r\n \r\n \r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n

\r\n Case status: {{ item.caseStatus }}\r\n

\r\n
\r\n Submitted on: {{ item.submittedOn | date }}\r\n
\r\n
\r\n \r\n \r\n \r\n Payment frequency\r\n Payment type\r\n Payment amount\r\n \r\n \r\n \r\n \r\n {{ item.paymentFrequency }}\r\n {{ item.paymentType }}\r\n {{ item.paymentAmount | currency }}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n You have not submitted any requests to change your pension payment\r\n schedule. Once you have submitted a request you will be able to track\r\n its status from this page.\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { ComponentBase } from '../component-base';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AppToolbarOptionsComponent } from '@ifaa-components/ui-components';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { PensionChangeScheduleRequestsComponent } from 'src/app/modules/shared/components/pension-change-schedule-requests/pension-change-schedule-requests.component';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { TextTransformPipe } from 'src/app/modules/shared/pipes/textTransform';\r\n\r\n@Component({\r\n selector: 'app-pension-change-schedule-requests-view',\r\n templateUrl: './pension-change-schedule-requests-view.component.html',\r\n styleUrls: ['./pension-change-schedule-requests-view.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n AppComponentWrapperComponent,\r\n AnimateCssDirective,\r\n AppToolbarOptionsComponent,\r\n TextTransformPipe,\r\n PensionChangeScheduleRequestsComponent,\r\n ],\r\n})\r\nexport class PensionChangeScheduleRequestsViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
{{'Pension details' | textTransform}}
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n ","import { MemberPortalSharedState } from './../../store/shared.states';\r\nimport { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { featureKey } from '../../store/shared.reducers';\r\nimport { IInvestmentSwitchHistoryState } from './state';\r\n\r\nexport const investmentPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const investmentSwitchHistory = createSelector(investmentPortalState, (state) => state.investmentSwitchHistoryState);\r\n\r\nexport const investmentSwitchHistory_Data = createSelector(\r\n investmentSwitchHistory,\r\n (state: IInvestmentSwitchHistoryState) => state.data\r\n);\r\n\r\nexport const investmentSwitchHistory_Filter = createSelector(\r\n investmentSwitchHistory,\r\n (state: IInvestmentSwitchHistoryState) => state.filter\r\n);\r\n\r\nexport const investmentSwitchHistory_IsLoading = createSelector(\r\n investmentSwitchHistory,\r\n (state: IInvestmentSwitchHistoryState) => state.isLoading\r\n);\r\n\r\nexport const investmentSwitchHistory_SwitchTypes = createSelector(\r\n investmentSwitchHistory,\r\n (state: IInvestmentSwitchHistoryState) => state.switchTypes\r\n);\r\n\r\nexport const investmentSwitchHistory_SwitchStatues = createSelector(\r\n investmentSwitchHistory,\r\n (state: IInvestmentSwitchHistoryState) => state.switchStatuses\r\n);","export enum InvestmentSwitchTypeOptionsTypeEnum {\r\n current = 1,\r\n future = 2\r\n}","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport {\r\n InvestmentSwitchHistoryDetailModel,\r\n InvestmentSwitchHistoryInvestmentOptionModel,\r\n OptionSwapModel,\r\n} from 'src/app/model/investment-switch-history.model';\r\nimport { InvestmentSwitchTypeOptionsTypeEnum } from 'src/app/enums/investment-switch-options.enum';\r\nimport { AccountClassificationEnum } from 'src/app/enums/account-classification.enum';\r\nimport { NgClass, NgFor, NgIf, DatePipe } from '@angular/common';\r\nimport {\r\n MatExpansionPanel,\r\n MatExpansionPanelHeader,\r\n MatExpansionPanelTitle,\r\n} from '@angular/material/expansion';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { AnimateCssDirective } from '../../../directives/animatecss.directive';\r\n\r\n@Component({\r\n selector: 'app-investment-switch-history-card',\r\n templateUrl: './investment-switch-history-card.component.html',\r\n styleUrls: ['./investment-switch-history-card.component.scss'],\r\n imports: [\r\n AnimateCssDirective,\r\n NgClass,\r\n MatExpansionPanel,\r\n MatExpansionPanelHeader,\r\n MatExpansionPanelTitle,\r\n NgFor,\r\n NgIf,\r\n MatIcon,\r\n DatePipe,\r\n ],\r\n})\r\nexport class InvestmentSwitchHistoryCardComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n @Input() set details(value: InvestmentSwitchHistoryDetailModel) {\r\n this.investmentSwitchDetails = value;\r\n }\r\n @Input() set accountClass(value: number) {\r\n this.accountClassification = value;\r\n }\r\n\r\n accountClassification: number = null;\r\n investmentSwitchDetails: InvestmentSwitchHistoryDetailModel = null;\r\n\r\n constructor(public store: Store) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n combineOptions(\r\n from: InvestmentSwitchHistoryInvestmentOptionModel[],\r\n to: InvestmentSwitchHistoryInvestmentOptionModel[]\r\n ) {\r\n let optionsList = [] as OptionSwapModel[];\r\n\r\n optionsList = from.map((option) => ({\r\n optionId: option.optionId,\r\n option: option.option,\r\n from: option.percentage,\r\n to: 0,\r\n }));\r\n\r\n for (let option of to) {\r\n // check if option exists in localList\r\n var existingOption = optionsList.find(\r\n (x) => x.optionId === option.optionId\r\n );\r\n\r\n // if it does, assign to the 0 percentage\r\n if (existingOption) {\r\n existingOption.to = option.percentage;\r\n } else {\r\n optionsList.push({\r\n optionId: option.optionId,\r\n option: option.option,\r\n from: from.length === 0 ? null : 0,\r\n to: option.percentage,\r\n });\r\n }\r\n }\r\n\r\n return optionsList;\r\n }\r\n\r\n getSwitchType(type: InvestmentSwitchTypeOptionsTypeEnum) {\r\n if (type === InvestmentSwitchTypeOptionsTypeEnum.current)\r\n return 'Current investment mix';\r\n\r\n return this.accountClassification === AccountClassificationEnum.Accumulation\r\n ? 'Future contributions'\r\n : 'Future pension payments';\r\n }\r\n}\r\n","
\r\n
\r\n

{{getSwitchType(investmentSwitchDetails.switchType)}}

\r\n

\r\n {{investmentSwitchDetails.switchStatus}}

\r\n
\r\n\r\n \r\n \r\n \r\n

Requested on: {{investmentSwitchDetails.requestedDate | date:'dd/MM/yyyy, h:mm\r\n a'}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{option.option}}

\r\n

\r\n \r\n {{option.from}}% arrow_right_alt\r\n \r\n {{option.to}}%\r\n

\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport {\r\n investmentSwitchHistory_Data,\r\n investmentSwitchHistory_Filter,\r\n investmentSwitchHistory_IsLoading,\r\n investmentSwitchHistory_SwitchStatues,\r\n investmentSwitchHistory_SwitchTypes,\r\n} from './selectors';\r\nimport {\r\n RequestAction,\r\n ResetAction,\r\n ResetFilterAction,\r\n SwitchHistoryChangeSwitchStatusFilterAction,\r\n SwitchHistoryChangeSwitchTypeFilterAction,\r\n SwitchHistoryIncrementPageAction,\r\n SwitchHistorySetFromToDateAction,\r\n} from './actions';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { memberAccountDropdown_SelectedAccount } from '../member-account-dropdown/selectors';\r\nimport { distinctUntilChanged, skipUntil, skipWhile } from 'rxjs';\r\nimport { InvestmentSwitchHistoryFilter } from './state';\r\nimport { FormGroupControls } from 'ngrx-forms';\r\nimport {\r\n AppButtonComponent,\r\n AppNoItemsComponent,\r\n DashPipe,\r\n EntryFieldDateComponent,\r\n Helper,\r\n KeyValueModel,\r\n} from '@ifaa-components/ui-components';\r\nimport { NgIf, AsyncPipe, NgFor, DatePipe } from '@angular/common';\r\nimport { MatButton } from '@angular/material/button';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MatMenuTrigger, MatMenu, MatMenuItem } from '@angular/material/menu';\r\nimport { InputDateScrollDirective } from '../../directives/input-scroll.directive';\r\nimport { InvestmentSwitchHistoryCardComponent } from './investment-switch-history-card/investment-switch-history-card.component';\r\nimport { MessageDirective } from '../../directives/message.directive';\r\n\r\n@Component({\r\n selector: 'app-investment-switch-history',\r\n templateUrl: './investment-switch-history.component.html',\r\n styleUrls: ['./investment-switch-history.component.scss'],\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n MatButton,\r\n MatMenuTrigger,\r\n DashPipe,\r\n MatIcon,\r\n MatMenu,\r\n MatMenuItem,\r\n EntryFieldDateComponent,\r\n InputDateScrollDirective,\r\n AppNoItemsComponent,\r\n InvestmentSwitchHistoryCardComponent,\r\n AppButtonComponent,\r\n NgFor,\r\n DatePipe,\r\n MessageDirective,\r\n ],\r\n})\r\nexport class InvestmentSwitchHistoryComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n data$ = this.store.pipe(select(investmentSwitchHistory_Data));\r\n filter$ = this.store.pipe(select(investmentSwitchHistory_Filter));\r\n isLoading$ = this.store.pipe(select(investmentSwitchHistory_IsLoading));\r\n switchTypes$ = this.store.pipe(select(investmentSwitchHistory_SwitchTypes));\r\n switchStatuses$ = this.store.pipe(\r\n select(investmentSwitchHistory_SwitchStatues)\r\n );\r\n query: InvestmentSwitchHistoryFilter = new InvestmentSwitchHistoryFilter();\r\n filter: string = '';\r\n accountId: number;\r\n accountClassification: number;\r\n helper = new Helper();\r\n\r\n switchType = 'All';\r\n switchStatus = 'All';\r\n\r\n constructor(public store: Store) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.sub = this.filter$.subscribe(async (x) => {\r\n if (!this.accountId) return;\r\n if (x) {\r\n this.filter = await this.formatQuery(x.value);\r\n if (this.isQueryDifferent(x.value)) {\r\n this.store.dispatch(\r\n RequestAction({\r\n accountId: this.accountId,\r\n page: x.value.currentPage,\r\n filter: this.filter,\r\n })\r\n );\r\n }\r\n }\r\n });\r\n\r\n this.sub = this.selectedAccount$\r\n .pipe(\r\n distinctUntilChanged((x, y) => JSON.stringify(x) === JSON.stringify(y))\r\n )\r\n .subscribe((x) => {\r\n if (x) {\r\n this.accountId = x.accountId;\r\n this.accountClassification = x.accountClassificationId;\r\n this.store.dispatch(\r\n RequestAction({\r\n accountId: this.accountId,\r\n page: 0,\r\n filter: this.filter,\r\n })\r\n );\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.store.dispatch(ResetAction());\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n onClearFilterClick() {\r\n this.switchType = 'All';\r\n this.switchStatus = 'All';\r\n this.store.dispatch(ResetFilterAction());\r\n }\r\n\r\n isQueryDifferent(filter: InvestmentSwitchHistoryFilter): boolean {\r\n if (filter.currentPage == -1) return false;\r\n\r\n if (JSON.stringify(this.query) !== JSON.stringify(filter)) {\r\n this.query = filter;\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n async formatQuery(value: InvestmentSwitchHistoryFilter): Promise {\r\n if (!value) return '';\r\n\r\n var list = [];\r\n if (value.from) {\r\n list.push('from:' + value.from);\r\n }\r\n if (value.to) {\r\n list.push('to:' + value.to);\r\n }\r\n if (value.switchStatus) {\r\n list.push('status:' + value.switchStatus);\r\n }\r\n if (value.switchType) {\r\n list.push('type:' + value.switchType);\r\n }\r\n return list.join(';');\r\n }\r\n\r\n onLoadMoreTransactions() {\r\n this.store.dispatch(SwitchHistoryIncrementPageAction());\r\n }\r\n\r\n currentFinancialYear(\r\n filter: FormGroupControls\r\n ) {\r\n var dates = this.helper.getFinancialYear(new Date());\r\n this.store.dispatch(\r\n SwitchHistorySetFromToDateAction({\r\n from: dates.from.toISOString(),\r\n to: dates.to.toISOString(),\r\n })\r\n );\r\n }\r\n\r\n previousFinancialYear(\r\n filter: FormGroupControls\r\n ) {\r\n var today = new Date();\r\n var dates = this.helper.getFinancialYear(\r\n new Date(today.getFullYear() - 1, today.getMonth(), today.getDay())\r\n );\r\n\r\n this.store.dispatch(\r\n SwitchHistorySetFromToDateAction({\r\n from: dates.from.toISOString(),\r\n to: dates.to.toISOString(),\r\n })\r\n );\r\n }\r\n\r\n clearYear() {\r\n this.store.dispatch(SwitchHistorySetFromToDateAction({ from: '', to: '' }));\r\n }\r\n\r\n onLoadMore() {\r\n this.store.dispatch(SwitchHistoryIncrementPageAction());\r\n }\r\n\r\n selectTypeFilter(item: KeyValueModel) {\r\n this.switchType = item.value;\r\n this.store.dispatch(\r\n SwitchHistoryChangeSwitchTypeFilterAction({ filter: item.key as number })\r\n );\r\n }\r\n\r\n selectStatusFilter(item: KeyValueModel) {\r\n this.switchStatus = item.value;\r\n this.store.dispatch(\r\n SwitchHistoryChangeSwitchStatusFilterAction({\r\n filter: item.key as number,\r\n })\r\n );\r\n }\r\n}\r\n","
\r\n \r\n

Your investment switch history for requests submitted online:

\r\n\r\n \r\n \r\n\r\n
\r\n
\r\n \r\n \r\n Type\r\n \r\n {{ switchType | dash }}\r\n \r\n keyboard_arrow_down\r\n \r\n\r\n \r\n \r\n Switch request status\r\n \r\n {{ switchStatus | dash }}\r\n \r\n keyboard_arrow_down\r\n \r\n\r\n \r\n \r\n From:\r\n {{ filter.value.from | date : \"dd/MM/yyyy\" | dash }}\r\n To:\r\n {{ filter.value.to | date : \"dd/MM/yyyy\" | dash }}\r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n Filters:\r\n keyboard_arrow_down\r\n \r\n\r\n \r\n \r\n \r\n Type\r\n \r\n {{ switchType | dash }}\r\n \r\n \r\n\r\n \r\n \r\n Switch request status\r\n \r\n {{ switchStatus | dash }}\r\n \r\n \r\n\r\n \r\n \r\n From:\r\n {{ filter.value.from | date : \"dd/MM/yyyy\" | dash }}\r\n To:\r\n {{ filter.value.to | date : \"dd/MM/yyyy\" | dash }}\r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n arrow_right{{ item.value }}\r\n \r\n \r\n \r\n \r\n \r\n arrow_right{{ item.value }}\r\n \r\n \r\n \r\n \r\n \r\n close\r\n Clear dates\r\n \r\n \r\n date_rangeCurrent financial year\r\n \r\n \r\n date_rangePrevious financial year\r\n \r\n \r\n
\r\n
\r\n editCustom dates:\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n \r\n\r\n \r\n\r\n
0\">\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { ComponentBase } from '../../views/component-base';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { AppToolbarOptionsComponent } from '@ifaa-components/ui-components';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { InvestmentSwitchHistoryComponent } from 'src/app/modules/shared/components/investment-switch-history/investment-switch-history.component';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { TextTransformPipe } from 'src/app/modules/shared/pipes/textTransform';\r\n\r\n@Component({\r\n selector: 'app-investment-history-view',\r\n templateUrl: './investment-history-view.component.html',\r\n styleUrls: ['./investment-history-view.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n AppComponentWrapperComponent,\r\n AppToolbarOptionsComponent,\r\n TextTransformPipe,\r\n InvestmentSwitchHistoryComponent,\r\n AnimateCssDirective,\r\n ],\r\n})\r\nexport class InvestmentHistoryViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n constructor(public store: Store) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
{{'Investments' | textTransform}}
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n ","import { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { featureKey } from '../../../store/shared.reducers';\r\nimport { MemberPortalSharedState } from '../../../store/shared.states';\r\nimport { IStartAPensionFormComponentState, } from './state';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const getStartAPensionFormState = createSelector(memberPortalState, (state) => state.startAPensionFormComponentState);\r\n\r\nexport const startAPensionForm_CurrentStep = createSelector(\r\n getStartAPensionFormState,\r\n (state: IStartAPensionFormComponentState) => state.currentStep\r\n);\r\n\r\nexport const startAPensionForm_ApplicationId = createSelector(\r\n getStartAPensionFormState,\r\n (state: IStartAPensionFormComponentState) => state.applicationId\r\n);\r\n\r\nexport const startAPensionForm_ApplicationData = createSelector(\r\n getStartAPensionFormState,\r\n (state: IStartAPensionFormComponentState) => state.applicationData\r\n);\r\n\r\nexport const startAPensionForm_InitialFormData = createSelector(\r\n getStartAPensionFormState,\r\n (state: IStartAPensionFormComponentState) => state.initialFormData\r\n);","import { NgFor } from '@angular/common';\r\nimport {\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n Component,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { MatStep, MatStepper } from '@angular/material/stepper';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\n\r\n@Component({\r\n selector: 'app-start-a-pension-stepper',\r\n templateUrl: 'start-a-pension-progress-stepper.component.html',\r\n styleUrls: ['start-a-pension-progress-stepper.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [MatStepper, NgFor, MatStep],\r\n})\r\nexport class StartAPensionStepper\r\n extends ComponentBase\r\n implements AfterViewInit, OnInit, OnDestroy\r\n{\r\n @Input() set stepTitles(value: any[]) {\r\n this.titles = value;\r\n }\r\n\r\n @Input() set step(value: number) {\r\n this.currentStep = value;\r\n }\r\n\r\n @Input() onSelectionChangeFn: (titles: any[], event: any) => void;\r\n\r\n @ViewChild('stepper') private stepper: MatStepper;\r\n\r\n titles: any[];\r\n currentStep: number;\r\n nextValidStep: number = 0;\r\n\r\n constructor(public store: Store, private cdRef: ChangeDetectorRef) {\r\n super();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.stepper.selectedIndex = this.currentStep - 1;\r\n this.cdRef.detectChanges();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n super.ngOnDestroyBase();\r\n }\r\n ngOnInit(): void {\r\n super.ngOnInitBase();\r\n }\r\n\r\n resetCompletion(index: number) {\r\n var step = this.stepper.steps.find((x, stepindex) => index === stepindex);\r\n step.completed = false;\r\n }\r\n\r\n setSelectedIndex(index: number) {\r\n const indexUpdate = index - 1;\r\n if (indexUpdate < 0) return;\r\n\r\n if (this.titles.length > 0) {\r\n this.titles.forEach((x, i) => {\r\n var step = this.stepper.steps.find((x, stepindex) => i === stepindex);\r\n if (i < indexUpdate) {\r\n step.completed = true;\r\n } else {\r\n step.completed = false;\r\n }\r\n });\r\n this.stepper.selectedIndex = indexUpdate;\r\n }\r\n\r\n if (this.nextValidStep < indexUpdate) {\r\n this.nextValidStep = indexUpdate;\r\n this.cdRef.detectChanges();\r\n }\r\n }\r\n\r\n preventClick(event: MouseEvent) {\r\n event.stopPropagation();\r\n }\r\n}\r\n","\r\n \r\n \r\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { featureKey } from 'src/app/modules/shared/store/shared.reducers';\r\nimport { MemberPortalSharedState } from 'src/app/modules/shared/store/shared.states';\r\nimport { IStartAPensionAccountDetailsFormComponentState } from './state';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const getStartAPensionAccountDetailsFormState = createSelector(memberPortalState, (state) => state.startAPensionAccountDetailsFormComponentState);\r\n\r\nexport const startAPensionAccountDetailsForm_Form = createSelector(\r\n getStartAPensionAccountDetailsFormState,\r\n (state: IStartAPensionAccountDetailsFormComponentState) => state.form\r\n);\r\n\r\nexport const startAPensionEligibilityForm_TransferAmounts = createSelector(\r\n getStartAPensionAccountDetailsFormState,\r\n (state: IStartAPensionAccountDetailsFormComponentState) => state.transferTypes\r\n);\r\n\r\nexport const startAPensionAccountDetailsForm_CurrentTotalPercent = createSelector(\r\n getStartAPensionAccountDetailsFormState,\r\n (state: IStartAPensionAccountDetailsFormComponentState) => state.form?.value?.options?.reduce((a, b) => a + b.percentage, 0) ?? 0\r\n);","import { NgIf, NgFor, NgClass } from '@angular/common';\r\nimport { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { NumberEntryFieldComponent } from '@ifaa-components/ui-components';\r\nimport { Store } from '@ngrx/store';\r\nimport { FormArrayState } from 'ngrx-forms';\r\nimport { PensionInvestmentOptionModel } from 'src/app/model/start-a-pension-form.model';\r\nimport { InputScrollDirective } from 'src/app/modules/shared/directives/input-scroll.directive';\r\nimport { ConvertNanPipe } from 'src/app/modules/shared/pipes/convertNan';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\n\r\n@Component({\r\n selector: 'app-start-a-pension-investment-options',\r\n templateUrl: './start-a-pension-investment-options.component.html',\r\n styleUrls: ['./start-a-pension-investment-options.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n NgIf,\r\n NgFor,\r\n NumberEntryFieldComponent,\r\n InputScrollDirective,\r\n NgClass,\r\n ConvertNanPipe,\r\n ],\r\n})\r\nexport class StartAPensionInvestmentOptionsComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n @Input() set form(value: FormArrayState) {\r\n this.formControl = value;\r\n }\r\n @Input() set totalCount(value: number) {\r\n this.total = value;\r\n }\r\n @Input() set isCurrent(value: boolean) {\r\n this.isCurrentOptions = value;\r\n }\r\n\r\n formControl: FormArrayState = null;\r\n total: number = null;\r\n isCurrentOptions: boolean = true;\r\n\r\n constructor(public store: Store) {\r\n super();\r\n }\r\n ngOnDestroy(): void {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n async ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n trackByFn(index, item) {\r\n return index;\r\n }\r\n}\r\n","\r\n 767\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Option{{isCurrentOptions ? 'Current balance (%)' :\r\n 'Future pension payments (%)'}}
{{item.value.investmentOptionName}}\r\n \r\n \r\n
\r\n
\r\n
0\" class=\"mb-0 access-your-super-drawdown alert \"\r\n [ngClass]=\"{'alert-success': total === 100, 'alert-danger': total !== 100}\">\r\n Total: {{total | convertNan }}% of 100%\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Option:{{item.value.investmentOptionName}}
{{isCurrentOptions ? 'Current balance (%)' :\r\n 'Future pension payments (%)'}}:\r\n \r\n \r\n
\r\n
\r\n
0\" class=\"mb-0 access-your-super-drawdown alert \"\r\n [ngClass]=\"{'alert-success': total === 100, 'alert-danger': total !== 100}\">\r\n Total: {{total | convertNan }}% of 100%\r\n
\r\n
\r\n
\r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n ResetComponentStateAction,\r\n SetAccountDetailsFormDataAction,\r\n SubmitFormAction,\r\n} from './actions';\r\nimport {\r\n PensionApplicationAccountDetailsFormModel,\r\n PensionInvestmentOptionModel,\r\n} from 'src/app/model/start-a-pension-form.model';\r\nimport {\r\n AppButtonComponent,\r\n EntryFieldRadioComponent,\r\n Helper,\r\n NumberEntryFieldComponent,\r\n} from '@ifaa-components/ui-components';\r\nimport {\r\n startAPensionAccountDetailsForm_CurrentTotalPercent,\r\n startAPensionAccountDetailsForm_Form,\r\n startAPensionEligibilityForm_TransferAmounts,\r\n} from './selectors';\r\nimport { ResetParentFormStateAction, SetCurrentStepAction } from '../actions';\r\nimport { StartAPensionAccountDetailsForm } from './state';\r\nimport { NgrxFormsModule, SetErrorsAction } from 'ngrx-forms';\r\nimport { NgIf, AsyncPipe, NgClass } from '@angular/common';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MatTooltip } from '@angular/material/tooltip';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { AppButtonDirective } from 'src/app/modules/shared/directives/appbutton.directive';\r\nimport { InputScrollDirective } from 'src/app/modules/shared/directives/input-scroll.directive';\r\nimport { StartAPensionInvestmentOptionsComponent } from '../start-a-pension-investment-options/start-a-pension-investment-options.component';\r\n\r\n@Component({\r\n selector: 'app-start-a-pension-account-details',\r\n templateUrl: './start-a-pension-account-details-form.component.html',\r\n styleUrls: ['./start-a-pension-account-details-form.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n NgrxFormsModule,\r\n MatIcon,\r\n MatTooltip,\r\n EntryFieldRadioComponent,\r\n InputScrollDirective,\r\n NumberEntryFieldComponent,\r\n StartAPensionInvestmentOptionsComponent,\r\n NgClass,\r\n AppButtonComponent,\r\n AppButtonDirective,\r\n TranslatePipe,\r\n ],\r\n})\r\nexport class StartAPensionAccountDetailsFormComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n @Input() set data(value: PensionApplicationAccountDetailsFormModel) {\r\n this.formData = value;\r\n }\r\n @Input() set account(value: number) {\r\n this.accountId = value;\r\n }\r\n @Input() set application(value: number) {\r\n this.applicationId = value;\r\n }\r\n @Input() set options(value: PensionInvestmentOptionModel[]) {\r\n this.investmentOptions = value;\r\n }\r\n @Input() set balance(value: number) {\r\n this.accountBalance = value;\r\n }\r\n @Input() set submitting(value: boolean) {\r\n this.isSubmitting = value;\r\n }\r\n\r\n form$ = this.store.pipe(select(startAPensionAccountDetailsForm_Form));\r\n transferTypes$ = this.store.pipe(\r\n select(startAPensionEligibilityForm_TransferAmounts)\r\n );\r\n currentTotalPercent$ = this.store.pipe(\r\n select(startAPensionAccountDetailsForm_CurrentTotalPercent)\r\n );\r\n\r\n formData: PensionApplicationAccountDetailsFormModel = null;\r\n accountId: number = null;\r\n accountBalance: number = 0;\r\n applicationId: number = null;\r\n investmentOptions: PensionInvestmentOptionModel[] = [];\r\n helper = new Helper();\r\n isSubmitting: boolean = false;\r\n\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n this.store.dispatch(\r\n SetAccountDetailsFormDataAction({\r\n data: this.formData,\r\n investmentOptions: this.investmentOptions,\r\n accountBalance: this.accountBalance,\r\n })\r\n );\r\n\r\n this.sub = this.form$.subscribe((x) => {\r\n if (x) {\r\n x.controls?.options?.controls?.forEach((option) => {\r\n if (option.value.percentage !== 0 && option.value.percentage < 5) {\r\n const errors = {};\r\n errors['customError'] = 'Percentage must be at least 5%.';\r\n this.store.dispatch(\r\n new SetErrorsAction(option.controls.percentage.id, errors)\r\n );\r\n } else {\r\n this.store.dispatch(\r\n new SetErrorsAction(option.controls.percentage.id, {})\r\n );\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n this.store.dispatch(ResetComponentStateAction());\r\n }\r\n\r\n exit() {\r\n this.store.dispatch(ResetParentFormStateAction());\r\n this.store.dispatch(ResetComponentStateAction());\r\n this.router.navigate(['/start-a-pension']);\r\n }\r\n\r\n goBack() {\r\n this.store.dispatch(SetCurrentStepAction({ step: 1 }));\r\n }\r\n\r\n async saveAccountDetails(submissionData: StartAPensionAccountDetailsForm) {\r\n this.store.dispatch(\r\n SubmitFormAction({\r\n accountId: this.accountId,\r\n applicationId: this.applicationId,\r\n submission: {\r\n transferType: submissionData.transferType,\r\n transferAmount:\r\n submissionData.transferType === 3\r\n ? submissionData.partialAmount\r\n : null,\r\n currentOptions: submissionData.options.filter(\r\n (x) => x.percentage !== 0\r\n ),\r\n },\r\n })\r\n );\r\n }\r\n}\r\n","
\r\n

Pension account details

\r\n
\r\n
\r\n\r\n
\r\n
{{formData.customWording.accountInfo}}:\r\n
\r\n
{{formData.accumulationAccountInfo}}
\r\n
\r\n\r\n
\r\n
\r\n
{{formData.customWording.transferAmount}}:\r\n help_outline\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n
Partial balance amount:\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n

form.value.accountBalance\">Amount cannot be larger\r\n than your\r\n account balance.

\r\n

Amount must be $20000 or larger.

\r\n\r\n
\r\n\r\n
\r\n
\r\n {{formData.customWording.pensionOptionsQuestion}}:\r\n help_outline\r\n
\r\n \r\n
\r\n\r\n
\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex flex-wrap mt-4\">\r\n
\r\n \r\n
\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex\">\r\n 767, 'mt-1': screenWidth<768}\"\r\n class=\"flex-fill {{'BTN.start-a-pension.back.class' | translate}}\" title=\"Back\"\r\n icon=\"{{'BTN.start-a-pension.back.icon' | translate}}\" [isDisabled]=\"isSubmitting\"\r\n color=\"{{'BTN.start-a-pension.back.color' | translate}}\" (onClick)=\"goBack()\">\r\n 767, 'mt-1': screenWidth<768}\" class=\"flex-fill\"\r\n title=\"Next\" icon=\"{{'BTN.start-a-pension.continue.icon' | translate}}\"\r\n color=\"{{'BTN.start-a-pension.continue.color' | translate}}\"\r\n [isDisabled]=\"form.isInvalid || isSubmitting || ((currentTotalPercent$|async) !== 100)\" loading\r\n loading (onClick)=\"saveAccountDetails(form.value)\">\r\n
\r\n
\r\n
\r\n
","import { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { featureKey } from 'src/app/modules/shared/store/shared.reducers';\r\nimport { MemberPortalSharedState } from 'src/app/modules/shared/store/shared.states';\r\nimport { IStartAPensionBankDetailsFormComponentState } from './state';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const getStartAPensionBankDetailsFormState = createSelector(memberPortalState, (state) => state.startAPensionBankDetailsFormComponentState);\r\n\r\nexport const startAPensionBankDetailsForm_Form = createSelector(\r\n getStartAPensionBankDetailsFormState,\r\n (state: IStartAPensionBankDetailsFormComponentState) => state.form\r\n);","import { Component, Input, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n ResetComponentStateAction,\r\n SearchBankNameAction,\r\n SetBankDetailsFormDataAction,\r\n SubmitFormAction,\r\n} from './actions';\r\nimport { PensionApplicationBankDetailsFormModel } from 'src/app/model/start-a-pension-form.model';\r\nimport {\r\n AppButtonComponent,\r\n AppReadonlyComponent,\r\n EntryFieldComponent,\r\n Helper,\r\n} from '@ifaa-components/ui-components';\r\nimport { startAPensionBankDetailsForm_Form } from './selectors';\r\nimport { ResetParentFormStateAction, SetCurrentStepAction } from '../actions';\r\nimport { StartAPensionBankDetailsForm } from './state';\r\nimport { debounceTime, distinctUntilChanged, pairwise } from 'rxjs';\r\nimport { NgIf, AsyncPipe, NgClass } from '@angular/common';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MatTooltip } from '@angular/material/tooltip';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { NgrxFormsModule } from 'ngrx-forms';\r\nimport { AppButtonDirective } from 'src/app/modules/shared/directives/appbutton.directive';\r\nimport { InputScrollDirective } from 'src/app/modules/shared/directives/input-scroll.directive';\r\n\r\n@Component({\r\n selector: 'app-start-a-pension-bank-details',\r\n templateUrl: './start-a-pension-bank-details-form.component.html',\r\n styleUrls: ['./start-a-pension-bank-details-form.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n NgrxFormsModule,\r\n AppReadonlyComponent,\r\n MatIcon,\r\n MatTooltip,\r\n EntryFieldComponent,\r\n InputScrollDirective,\r\n NgClass,\r\n AppButtonComponent,\r\n AppButtonDirective,\r\n TranslatePipe,\r\n ],\r\n})\r\nexport class StartAPensionBankDetailsFormComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n @Input() set data(value: PensionApplicationBankDetailsFormModel) {\r\n this.formData = value;\r\n }\r\n @Input() set account(value: number) {\r\n this.accountId = value;\r\n }\r\n @Input() set application(value: number) {\r\n this.applicationId = value;\r\n }\r\n @Input() set submitting(value: boolean) {\r\n this.isSubmitting = value;\r\n }\r\n\r\n form$ = this.store.pipe(select(startAPensionBankDetailsForm_Form));\r\n\r\n formData: PensionApplicationBankDetailsFormModel = null;\r\n accountId: number = null;\r\n applicationId: number = null;\r\n helper = new Helper();\r\n isSubmitting: boolean = false;\r\n\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n this.store.dispatch(SetBankDetailsFormDataAction({ data: this.formData }));\r\n\r\n this.sub = this.form$\r\n .pipe(\r\n pairwise(),\r\n distinctUntilChanged((x, y) => {\r\n if (x[1].value.bankAccountBsb !== y[1].value.bankAccountBsb)\r\n return false;\r\n\r\n return true;\r\n }),\r\n debounceTime(500)\r\n )\r\n .subscribe((form) => {\r\n if (form[0].value.bankAccountBsb !== form[1].value.bankAccountBsb) {\r\n this.dispatch(\r\n this.store,\r\n SearchBankNameAction({ bsb: form[1].value.bankAccountBsb })\r\n );\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n this.store.dispatch(ResetComponentStateAction());\r\n }\r\n\r\n exit() {\r\n this.store.dispatch(ResetParentFormStateAction());\r\n this.store.dispatch(ResetComponentStateAction());\r\n this.router.navigate(['/start-a-pension']);\r\n }\r\n\r\n goBack() {\r\n this.store.dispatch(SetCurrentStepAction({ step: 3 }));\r\n }\r\n\r\n async saveBankDetails(submissionData: StartAPensionBankDetailsForm) {\r\n this.store.dispatch(\r\n SubmitFormAction({\r\n accountId: this.accountId,\r\n applicationId: this.applicationId,\r\n submission: {\r\n bankAccountBsb: submissionData.bankAccountBsb,\r\n bankAccountName: submissionData.bankAccountName,\r\n bankAccountNumber: submissionData.bankAccountNumber,\r\n financialInstituteName: submissionData.financialInstitutionName,\r\n },\r\n })\r\n );\r\n }\r\n}\r\n","
\r\n

Bank account details

\r\n
\r\n
\r\n

{{formData.customWording.bankDetailsInfo}}

\r\n\r\n
0\">\r\n \r\n
\r\n
\r\n
Names(s) on account:\r\n help_outline\r\n
\r\n \r\n
\r\n
\r\n
\r\n
BSB:
\r\n \r\n
\r\n
\r\n
Account Number:
\r\n \r\n
\r\n
\r\n\r\n
\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex flex-wrap mt-4\">\r\n
\r\n \r\n
\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex\">\r\n 767, 'mt-1': screenWidth<768}\"\r\n class=\"flex-fill {{'BTN.start-a-pension.back.class' | translate}}\" title=\"Back\"\r\n icon=\"{{'BTN.start-a-pension.back.icon' | translate}}\" [isDisabled]=\"isSubmitting\"\r\n color=\"{{'BTN.start-a-pension.back.color' | translate}}\" (onClick)=\"goBack()\">\r\n 767, 'mt-1': screenWidth<768}\" class=\"flex-fill\"\r\n title=\"Next\" icon=\"{{'BTN.start-a-pension.continue.icon' | translate}}\"\r\n color=\"{{'BTN.start-a-pension.continue.color' | translate}}\"\r\n [isDisabled]=\"form.isInvalid || isSubmitting\" loading\r\n (onClick)=\"saveBankDetails(form.value)\">\r\n
\r\n
\r\n
\r\n
","import { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { featureKey } from 'src/app/modules/shared/store/shared.reducers';\r\nimport { MemberPortalSharedState } from 'src/app/modules/shared/store/shared.states';\r\nimport { IStartAPensionBeneficiaryFormComponentState } from './state';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const getStartAPensionBeneficiaryFormState = createSelector(memberPortalState, (state) => state.startAPensionBeneficiaryFormComponentState);\r\n\r\nexport const startAPensionBeneficiaryForm_Form = createSelector(\r\n getStartAPensionBeneficiaryFormState,\r\n (state: IStartAPensionBeneficiaryFormComponentState) => state.form\r\n);\r\n\r\nexport const startAPensionBeneficiaryForm_BeneficiaryAdded = createSelector(\r\n getStartAPensionBeneficiaryFormState,\r\n (state: IStartAPensionBeneficiaryFormComponentState) => state.form.value.beneficiaryAdded\r\n);\r\n\r\nexport const startAPensionBeneficiaryForm_RelationshipTypes = createSelector(\r\n getStartAPensionBeneficiaryFormState,\r\n (state: IStartAPensionBeneficiaryFormComponentState) => state.relationshipTypes\r\n);\r\n\r\nexport const startAPensionBeneficiaryForm_GenderTypes = createSelector(\r\n getStartAPensionBeneficiaryFormState,\r\n (state: IStartAPensionBeneficiaryFormComponentState) => state.genderTypes\r\n);","import { Component, Input, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n AddBeneficiaryAction,\r\n RemoveBeneficiaryAction,\r\n ResetComponentStateAction,\r\n SetBeneficiaryFormDataAction,\r\n SubmitFormAction,\r\n} from './actions';\r\nimport { PensionApplicationBeneficiaryFormModel } from 'src/app/model/start-a-pension-form.model';\r\nimport {\r\n AppButtonComponent,\r\n AppReadonlyComponent,\r\n EntryFieldAddressAccurityComponent,\r\n EntryFieldComponent,\r\n EntryFieldDateComponent,\r\n EntryFieldRadioComponent,\r\n Helper,\r\n} from '@ifaa-components/ui-components';\r\nimport {\r\n startAPensionBeneficiaryForm_BeneficiaryAdded,\r\n startAPensionBeneficiaryForm_Form,\r\n startAPensionBeneficiaryForm_GenderTypes,\r\n startAPensionBeneficiaryForm_RelationshipTypes,\r\n} from './selectors';\r\nimport { ResetParentFormStateAction, SetCurrentStepAction } from '../actions';\r\nimport { StartAPensionBeneficiaryForm } from './state';\r\nimport { NgIf, AsyncPipe, NgClass } from '@angular/common';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MatTooltip } from '@angular/material/tooltip';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { NgrxFormsModule } from 'ngrx-forms';\r\nimport { AppRadioDirective } from 'src/app/modules/shared/directives/app-radio.directive';\r\nimport { AppButtonDirective } from 'src/app/modules/shared/directives/appbutton.directive';\r\nimport {\r\n InputScrollDirective,\r\n InputDateScrollDirective,\r\n InputAddressScrollDirective,\r\n} from 'src/app/modules/shared/directives/input-scroll.directive';\r\n\r\n@Component({\r\n selector: 'app-start-a-pension-beneficiary',\r\n templateUrl: './start-a-pension-beneficiary-form.component.html',\r\n styleUrls: ['./start-a-pension-beneficiary-form.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n NgrxFormsModule,\r\n AppButtonComponent,\r\n TranslatePipe,\r\n EntryFieldComponent,\r\n InputScrollDirective,\r\n EntryFieldDateComponent,\r\n InputDateScrollDirective,\r\n EntryFieldRadioComponent,\r\n MatIcon,\r\n MatTooltip,\r\n AppRadioDirective,\r\n AppReadonlyComponent,\r\n EntryFieldAddressAccurityComponent,\r\n InputAddressScrollDirective,\r\n NgClass,\r\n AppButtonDirective,\r\n ],\r\n})\r\nexport class StartAPensionBeneficiaryFormComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n @Input() set data(value: PensionApplicationBeneficiaryFormModel) {\r\n this.formData = value;\r\n }\r\n @Input() set account(value: number) {\r\n this.accountId = value;\r\n }\r\n @Input() set application(value: number) {\r\n this.applicationId = value;\r\n }\r\n @Input() set submitting(value: boolean) {\r\n this.isSubmitting = value;\r\n }\r\n\r\n form$ = this.store.pipe(select(startAPensionBeneficiaryForm_Form));\r\n beneficiaryAdded$ = this.store.pipe(\r\n select(startAPensionBeneficiaryForm_BeneficiaryAdded)\r\n );\r\n relationshipTypes$ = this.store.pipe(\r\n select(startAPensionBeneficiaryForm_RelationshipTypes)\r\n );\r\n genderTypes$ = this.store.pipe(\r\n select(startAPensionBeneficiaryForm_GenderTypes)\r\n );\r\n\r\n formData: PensionApplicationBeneficiaryFormModel = null;\r\n accountId: number = null;\r\n applicationId: number = null;\r\n helper = new Helper();\r\n isSubmitting: boolean = false;\r\n\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n this.store.dispatch(SetBeneficiaryFormDataAction({ data: this.formData }));\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n this.store.dispatch(ResetComponentStateAction());\r\n }\r\n\r\n exit() {\r\n this.store.dispatch(ResetParentFormStateAction());\r\n this.store.dispatch(ResetComponentStateAction());\r\n this.router.navigate(['/start-a-pension']);\r\n }\r\n\r\n goBack() {\r\n this.store.dispatch(SetCurrentStepAction({ step: 4 }));\r\n }\r\n\r\n addBeneficiary() {\r\n this.store.dispatch(AddBeneficiaryAction());\r\n }\r\n\r\n removeBeneficiary() {\r\n this.store.dispatch(RemoveBeneficiaryAction());\r\n }\r\n\r\n async saveBeneficiary(submissionData: StartAPensionBeneficiaryForm) {\r\n this.store.dispatch(\r\n SubmitFormAction({\r\n accountId: this.accountId,\r\n applicationId: this.applicationId,\r\n submission: {\r\n beneficiaryAdded: submissionData.beneficiaryAdded,\r\n name: submissionData.beneficiaryAdded ? submissionData.name : null,\r\n dob: submissionData.beneficiaryAdded ? submissionData.dob : null,\r\n relationshipId: submissionData.beneficiaryAdded\r\n ? submissionData.relationshipId\r\n : null,\r\n genderId: submissionData.beneficiaryAdded\r\n ? submissionData.genderId\r\n : null,\r\n isAddressSame: submissionData.beneficiaryAdded\r\n ? submissionData.isAddressSame\r\n : null,\r\n address: submissionData.beneficiaryAdded\r\n ? submissionData.address\r\n : null,\r\n },\r\n })\r\n );\r\n }\r\n}\r\n","
\r\n

Reversionary Beneficiary

\r\n
\r\n
\r\n

\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n {{formData.customWording.beneficiaryName}}:\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n {{formData.customWording.beneficiaryDob}}:\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n {{formData.customWording.beneficiaryRelationship}}:\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n {{formData.customWording.beneficiaryGender}}:\r\n help_outline\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n {{formData.customWording.beneficiaryAddressIsSame}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n\r\n
\r\n
\r\n
\r\n {{formData.customWording.beneficiaryAddress}}:\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex flex-wrap mt-4\">\r\n
\r\n \r\n
\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex\">\r\n 767, 'mt-1': screenWidth<768}\"\r\n class=\"flex-fill {{'BTN.start-a-pension.back.class' | translate}}\" title=\"Back\"\r\n icon=\"{{'BTN.start-a-pension.back.icon' | translate}}\" [isDisabled]=\"isSubmitting\"\r\n color=\"{{'BTN.start-a-pension.back.color' | translate}}\" (onClick)=\"goBack()\">\r\n 767, 'mt-1': screenWidth<768}\" class=\"flex-fill\"\r\n title=\"Next\" icon=\"{{'BTN.start-a-pension.continue.icon' | translate}}\"\r\n color=\"{{'BTN.start-a-pension.continue.color' | translate}}\"\r\n [isDisabled]=\"form.isInvalid || isSubmitting\" loading\r\n (onClick)=\"saveBeneficiary(form.value)\">\r\n
\r\n
\r\n
\r\n
","import { AddressModel, KeyValueModel } from \"@ifaa-components/ui-components\";\r\n\r\nexport class StartAPensionInitialFormModel {\r\n formWording: { [key: string]: string };\r\n pensionTypeKeyValues: KeyValueModel[];\r\n conditionOfReleaseKeyValues: KeyValueModel[];\r\n hasReachedPreservationAge: boolean;\r\n memberSixtyFiveOrOver: boolean;\r\n errorMessage: string\r\n}\r\n\r\nexport class PensionApplicationEligibilitySubmissionModel {\r\n otherReasonText: string;\r\n}\r\n\r\nexport class PensionInvestmentOptionModel {\r\n investmentOptionId: number;\r\n investmentOptionName: string;\r\n percentage: number = 0;\r\n}\r\n\r\nexport class PensionApplicationBaseDetailsModel {\r\n pensionApplicationId: number;\r\n pensionApplicationConditionId: number;\r\n accountId: number;\r\n accountBalance: number;\r\n currentStep: number;\r\n isTtrApplication: boolean;\r\n}\r\n\r\nexport class PensionApplicationAccountDetailsModel {\r\n transferTypeId: number;\r\n transferAmount?: number;\r\n currentOptions: PensionInvestmentOptionModel[];\r\n}\r\n\r\nexport class PensionApplicationAccountDetailsFormModel {\r\n customWording: { [key: string]: string };\r\n accumulationAccountInfo: string;\r\n transferAmountTypes: KeyValueModel[];\r\n savedData?: PensionApplicationAccountDetailsModel;\r\n}\r\n\r\nexport class PensionApplicationAccountDetailsSubmissionModel {\r\n transferType: number;\r\n transferAmount?: number;\r\n currentOptions: PensionInvestmentOptionModel[];\r\n}\r\n\r\nexport class PensionApplicationPaymentDetailsModel {\r\n frequencyId: number;\r\n paymentCommencementDate?: string;\r\n pensionPaymentTypeId: number;\r\n paymentAmount?: number;\r\n futureOptions?: PensionInvestmentOptionModel[];\r\n}\r\n\r\nexport class PensionApplicationPaymentDetailsFormModel {\r\n customWording: { [key: string]: string };\r\n paymentFrequencyTypes: KeyValueModel[];\r\n paymentTypeTypes: KeyValueModel[];\r\n savedData?: PensionApplicationPaymentDetailsModel;\r\n}\r\n\r\nexport class PensionApplicationPaymentDetailsSubmissionModel {\r\n frequencyId: number;\r\n commencementOfPayments?: string;\r\n paymentTypeId: number;\r\n paymentAmount?: number;\r\n futureOptions: PensionInvestmentOptionModel[];\r\n}\r\n\r\nexport class PensionApplicationBankDetailsFormModel {\r\n customWording: { [key: string]: string };\r\n financialInstitutionName?: string;\r\n bankAccountBsb?: string;\r\n bankAccountName?: string;\r\n bankAccountNumber?: string;\r\n}\r\n\r\nexport class PensionApplicationBankDetailsSubmissionModel {\r\n bankAccountBsb?: string;\r\n bankAccountName?: string;\r\n bankAccountNumber?: string;\r\n financialInstituteName?: string;\r\n}\r\n\r\nexport class PensionApplicationBeneficiaryModel {\r\n beneficiaryName: string;\r\n beneficiaryDob: string;\r\n beneficiaryRelationshipId: number;\r\n genderId: number;\r\n beneficiaryAddress: AddressModel;\r\n isAddressSame: boolean;\r\n}\r\n\r\nexport class PensionApplicationBeneficiaryFormModel {\r\n customWording: { [key: string]: string };\r\n relationshipTypes: KeyValueModel[];\r\n genderTypes: KeyValueModel[];\r\n memberPostalAddress: AddressModel;\r\n savedData?: PensionApplicationBeneficiaryModel;\r\n}\r\n\r\nexport class PensionApplicationBeneficiarySubmissionModel {\r\n beneficiaryAdded: boolean;\r\n name: string;\r\n dob: string;\r\n relationshipId: number;\r\n genderId: number;\r\n isAddressSame: boolean;\r\n address?: AddressModel;\r\n}\r\n\r\nexport class PensionApplicationSupportingDocumentModel {\r\n uploadedDocumentId: number;\r\n applicationId?: number;\r\n documentTypeId?: number;\r\n originalFileName?: string;\r\n systemFileName?: string;\r\n fileLocation?: string;\r\n fileCreatedDate?: Date;\r\n}\r\n\r\nexport class PensionApplicationDocumentModel {\r\n documentTypeId: number;\r\n documentName: string;\r\n documentDescription: string;\r\n documentAmountRequired: number;\r\n isDocumentRequired: boolean;\r\n documentsUploaded: boolean;\r\n documentList: PensionApplicationSupportingDocumentModel[];\r\n}\r\n\r\nexport class PensionApplicationDocumentsFormModel {\r\n customWording: { [key: string]: string };\r\n documents: PensionApplicationDocumentModel[];\r\n}\r\n\r\nexport class PensionApplicationDocumentSubmissionModel {\r\n documents: PensionApplicationDocumentModel[];\r\n}\r\n\r\nexport class PensionApplicationReviewFormModel {\r\n customWording: { [key: string]: string };\r\n}\r\n\r\nexport class StartAPensionFormModel {\r\n pensionInvestmentOptions: PensionInvestmentOptionModel[];\r\n pensionApplicationBaseDetails: PensionApplicationBaseDetailsModel;\r\n pensionApplicationAccountDetails: PensionApplicationAccountDetailsFormModel;\r\n pensionApplicationPaymentDetails: PensionApplicationPaymentDetailsFormModel;\r\n pensionApplicationBankDetails: PensionApplicationBankDetailsFormModel;\r\n pensionApplicationBeneficiaryDetails: PensionApplicationBeneficiaryFormModel;\r\n pensionApplicationDocumentsDetails: PensionApplicationDocumentsFormModel;\r\n pensionApplicationReviewDetails: PensionApplicationReviewFormModel;\r\n}","\r\nimport { featureKey } from 'src/app/modules/shared/store/shared.reducers';\r\nimport { MemberPortalSharedState } from 'src/app/modules/shared/store/shared.states';\r\nimport { IStartAPensionDocumentsFormComponentState } from './state';\r\nimport { createFeatureSelector, createSelector } from '@ngrx/store';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const getStartAPensionDocumentFormState = createSelector(memberPortalState, (state) => state.startAPensionDocumentFormComponentState);\r\n\r\nexport const startAPensionDocumentsForm_Form = createSelector(\r\n getStartAPensionDocumentFormState,\r\n (state: IStartAPensionDocumentsFormComponentState) => state.form\r\n);\r\n\r\nexport const startAPensionDocumentsForm_UploadedDocument = createSelector(\r\n getStartAPensionDocumentFormState,\r\n (state: IStartAPensionDocumentsFormComponentState) => state.uploadedDocument\r\n);\r\n\r\nexport const startAPensionDocumentsForm_DeletedDocument = createSelector(\r\n getStartAPensionDocumentFormState,\r\n (state: IStartAPensionDocumentsFormComponentState) => state.deletedDocument\r\n);\r\n\r\nexport const startAPensionDocumentsForm_ReplacedDocument = createSelector(\r\n getStartAPensionDocumentFormState,\r\n (state: IStartAPensionDocumentsFormComponentState) => state.replacedDocument\r\n);\r\n\r\nexport const startAPensionDocumentsForm_FileRequestFailed = createSelector(\r\n getStartAPensionDocumentFormState,\r\n (state: IStartAPensionDocumentsFormComponentState) => state.fileRequestFailed\r\n);\r\n\r\nexport const startAPensionDocumentsForm_SupportingDocuments = createSelector(\r\n getStartAPensionDocumentFormState,\r\n (state: IStartAPensionDocumentsFormComponentState) => state.form.controls.supportingDocuments\r\n);\r\n\r\nexport const startAPensionDocumentsForm_FormValidity = createSelector(\r\n getStartAPensionDocumentFormState,\r\n (state: IStartAPensionDocumentsFormComponentState) => state.form.isValid\r\n);\r\n\r\nexport const startAPensionDocumentsForm_Files = createSelector(\r\n getStartAPensionDocumentFormState,\r\n (state: IStartAPensionDocumentsFormComponentState) => {\r\n var files = {};\r\n\r\n state.form.controls.supportingDocuments.controls.forEach((overview, index) => {\r\n files[index] = {};\r\n files[index]['filesControlId'] = overview.controls.files.id;\r\n files[index]['files'] = overview.controls.files.value;\r\n files[index]['isRequired'] = overview.controls.isDocumentRequired.value;\r\n });\r\n\r\n return files;\r\n }\r\n);","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport {\r\n SetupSupportingDocumentOverviewAction,\r\n ResetFileRequestFailedAction,\r\n GreenIdVerifiedAction,\r\n ResetComponentStateAction,\r\n SaveDocumentAction,\r\n DeleteDocumentAction,\r\n AddNewAppFileAction,\r\n SubmitFormAction,\r\n RemoveAppFileAction,\r\n ReplaceDocumentAction,\r\n SetDocumentsFormDataAction,\r\n} from './actions';\r\nimport {\r\n AppButtonComponent,\r\n AppFileModel,\r\n AppGreenIdComponent,\r\n FileEntryFieldComponent,\r\n Helper,\r\n} from '@ifaa-components/ui-components';\r\nimport {\r\n MarkAsTouchedAction,\r\n NgrxFormsModule,\r\n SetErrorsAction,\r\n SetValueAction,\r\n} from 'ngrx-forms';\r\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\r\nimport { commomState_ElevatedAccess } from 'src/app/store/common/common.selectors';\r\nimport {\r\n PensionApplicationDocumentModel,\r\n PensionApplicationDocumentsFormModel,\r\n PensionApplicationSupportingDocumentModel,\r\n} from 'src/app/model/start-a-pension-form.model';\r\nimport {\r\n startAPensionDocumentsForm_DeletedDocument,\r\n startAPensionDocumentsForm_FileRequestFailed,\r\n startAPensionDocumentsForm_Files,\r\n startAPensionDocumentsForm_Form,\r\n startAPensionDocumentsForm_ReplacedDocument,\r\n startAPensionDocumentsForm_SupportingDocuments,\r\n startAPensionDocumentsForm_UploadedDocument,\r\n} from './selectors';\r\nimport { ResetParentFormStateAction, SetCurrentStepAction } from '../actions';\r\nimport { NgIf, AsyncPipe, NgFor, NgClass } from '@angular/common';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { AppButtonDirective } from 'src/app/modules/shared/directives/appbutton.directive';\r\n\r\n@Component({\r\n selector: 'app-start-a-pension-documents',\r\n templateUrl: './start-a-pension-documents-form.component.html',\r\n styleUrls: ['./start-a-pension-documents-form.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n AppGreenIdComponent,\r\n NgrxFormsModule,\r\n NgFor,\r\n NgClass,\r\n FileEntryFieldComponent,\r\n AppButtonComponent,\r\n TranslatePipe,\r\n AppButtonDirective,\r\n ],\r\n})\r\nexport class StartAPensionDocumentsFormComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n helper = new Helper();\r\n\r\n @Output() onDocumentsSaved: EventEmitter = new EventEmitter();\r\n\r\n @Input() set data(value: PensionApplicationDocumentsFormModel) {\r\n this.model = this.helper.clone(value.documents);\r\n this.formData = value;\r\n }\r\n @Input() set account(value: number) {\r\n this.accountId = value;\r\n }\r\n @Input() set application(value: number) {\r\n this.applicationId = value;\r\n }\r\n @Input() set draftApplication(value: boolean) {\r\n this.applicationInDraft = value;\r\n }\r\n @Input() set componentTitle(value: string) {\r\n this.title = value;\r\n }\r\n @Input() set submitting(value: boolean) {\r\n this.isSubmitting = value;\r\n }\r\n\r\n form$ = this.store.pipe(select(startAPensionDocumentsForm_Form));\r\n uploadedDocument$ = this.store.pipe(\r\n select(startAPensionDocumentsForm_UploadedDocument)\r\n );\r\n deletedDocument$ = this.store.pipe(\r\n select(startAPensionDocumentsForm_DeletedDocument)\r\n );\r\n replacedDocument$ = this.store.pipe(\r\n select(startAPensionDocumentsForm_ReplacedDocument)\r\n );\r\n uploadFileFailed$ = this.store.pipe(\r\n select(startAPensionDocumentsForm_FileRequestFailed)\r\n );\r\n supportingDocuments$ = this.store.pipe(\r\n select(startAPensionDocumentsForm_SupportingDocuments)\r\n );\r\n files$ = this.store.pipe(select(startAPensionDocumentsForm_Files));\r\n elevatedAccess$ = this.store.pipe(select(commomState_ElevatedAccess));\r\n\r\n formData: PensionApplicationDocumentsFormModel = null;\r\n model: PensionApplicationDocumentModel[] = null;\r\n applicationId: number = null;\r\n accountId: number = null;\r\n extensions: string[] = ['.pdf', '.png', '.jpg'];\r\n title: string = 'Documents';\r\n applicationInDraft: boolean = true;\r\n elevatedAccess = false;\r\n isSubmitting: boolean = false;\r\n\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n async ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.store.dispatch(SetDocumentsFormDataAction({ data: this.formData }));\r\n\r\n if (this.model.length) {\r\n this.model = this.model.sort((x, y) =>\r\n x.isDocumentRequired === y.isDocumentRequired\r\n ? 0\r\n : x.isDocumentRequired\r\n ? -1\r\n : 1\r\n );\r\n this.model.forEach((documentOverview) => {\r\n this.dispatch(\r\n this.store,\r\n SetupSupportingDocumentOverviewAction({\r\n documentTypeId: documentOverview.documentTypeId,\r\n documentAmount:\r\n documentOverview.documentList.length === 0\r\n ? 1\r\n : documentOverview.documentList.length,\r\n isDocumentRequired: documentOverview.isDocumentRequired,\r\n })\r\n );\r\n });\r\n }\r\n\r\n this.elevatedAccess$.subscribe((x) => {\r\n this.elevatedAccess = x;\r\n });\r\n\r\n // Setup the form values once the document arrays have been created\r\n // Debounce of 100ms so this is only called once\r\n this.sub = this.supportingDocuments$\r\n .pipe(\r\n distinctUntilChanged((x, y) => {\r\n return x.controls.length === y.controls.length;\r\n }),\r\n debounceTime(100)\r\n )\r\n .subscribe((x) => {\r\n if (x.controls.length > 0) {\r\n this.model.forEach((documentOverview, overviewIndex) => {\r\n var docList = documentOverview.documentList;\r\n // Create the placeholders for the documents if they dont exist\r\n if (!docList.length) {\r\n docList.push(new PensionApplicationSupportingDocumentModel());\r\n } else {\r\n if (this.applicationInDraft) {\r\n // If the uploaded documents exist, we need update the form values\r\n docList.forEach((uploadedDocument, uploadIndex) => {\r\n if (\r\n x.controls[overviewIndex].controls.files.controls[\r\n uploadIndex\r\n ] &&\r\n uploadedDocument.originalFileName\r\n ) {\r\n this.dispatch(\r\n this.store,\r\n new SetValueAction(\r\n x.controls[overviewIndex].controls.files.controls[\r\n uploadIndex\r\n ]?.id,\r\n {\r\n filename: uploadedDocument.originalFileName,\r\n } as AppFileModel\r\n )\r\n );\r\n }\r\n });\r\n\r\n // If the last index of the documentList has a fileName attached, we know the application is a continuation\r\n // so add an empty file placeholder\r\n if (docList[docList.length - 1].originalFileName) {\r\n this.dispatch(\r\n this.store,\r\n AddNewAppFileAction({ overviewIndex: overviewIndex })\r\n );\r\n docList.push(new PensionApplicationSupportingDocumentModel());\r\n }\r\n }\r\n }\r\n });\r\n }\r\n });\r\n\r\n // Subscription listens for changes in files and authorities to handle form validation\r\n this.sub = this.files$\r\n .pipe(\r\n distinctUntilChanged((x, y) => {\r\n return JSON.stringify(x) === JSON.stringify(y);\r\n })\r\n )\r\n .subscribe((x) => {\r\n if (x) {\r\n for (const index in x) {\r\n var control = x[index];\r\n\r\n // Only validate if the document is required\r\n if (control.isRequired) {\r\n var uploadedFileIndex = control.files.findIndex(\r\n (o) => o.filename !== '' && o.filename !== undefined\r\n );\r\n\r\n // No file uploaded and no authority given\r\n if (uploadedFileIndex === -1 && !control.authority) {\r\n const errors = {};\r\n errors['required'] = 'At least one document is required';\r\n this.dispatch(\r\n this.store,\r\n new SetErrorsAction(control.filesControlId, errors)\r\n );\r\n }\r\n // file uploaded\r\n else {\r\n this.dispatch(\r\n this.store,\r\n new SetErrorsAction(control.filesControlId, {})\r\n );\r\n }\r\n }\r\n }\r\n }\r\n });\r\n\r\n // Subscription to handle successful saving of document\r\n this.sub = this.uploadedDocument$.subscribe(async (x) => {\r\n if (x) {\r\n // Add document to parent model\r\n var overviewIndex = this.model.findIndex(\r\n (o) => o.documentTypeId === x.documentTypeId\r\n );\r\n var docList = this.model[overviewIndex].documentList;\r\n\r\n docList[x.documentIndex].uploadedDocumentId = x.uploadedDocumentId;\r\n docList[x.documentIndex].originalFileName = x.fileName;\r\n this.dispatch(\r\n this.store,\r\n new SetValueAction(x.controlId, {\r\n filename: x.fileName,\r\n submitting: false,\r\n })\r\n );\r\n\r\n // Add new file to parent placeholder and ui component\r\n if (docList[docList.length - 1].originalFileName) {\r\n this.model[overviewIndex].documentList.push(\r\n new PensionApplicationSupportingDocumentModel()\r\n );\r\n this.dispatch(\r\n this.store,\r\n AddNewAppFileAction({ overviewIndex: overviewIndex })\r\n );\r\n }\r\n\r\n this.onDocumentsSaved.emit(this.model);\r\n }\r\n });\r\n\r\n // Subscription to handle successful deletion of document\r\n this.sub = this.deletedDocument$.subscribe((x) => {\r\n if (x) {\r\n this.dispatch(this.store, new MarkAsTouchedAction(x.controlId));\r\n\r\n // Remove the document from the model\r\n var documentList = this.model[x.overviewIndex].documentList;\r\n documentList.splice(x.uploadIndex, 1);\r\n\r\n // delete the entry-file-component\r\n this.dispatch(\r\n this.store,\r\n RemoveAppFileAction({\r\n overviewIndex: x.overviewIndex,\r\n uploadIndex: x.uploadIndex,\r\n })\r\n );\r\n\r\n this.onDocumentsSaved.emit(this.model);\r\n }\r\n });\r\n\r\n // Subscription to handle replacing an uploaded document\r\n this.sub = this.replacedDocument$.subscribe((x) => {\r\n if (x) {\r\n // Remove the replaced document from the model\r\n var overviewIndex = this.model.findIndex(\r\n (o) => o.documentTypeId === x.documentTypeId\r\n );\r\n this.model[overviewIndex].documentList[x.documentIndex] =\r\n new PensionApplicationSupportingDocumentModel();\r\n\r\n // Send the save document request once the replaced document is deleted\r\n this.dispatch(this.store, new SetErrorsAction(x.controlId, {}));\r\n this.dispatch(\r\n this.store,\r\n SaveDocumentAction({\r\n accountId: this.accountId,\r\n applicationId: this.applicationId,\r\n documentTypeId: x.documentTypeId,\r\n controlId: x.controlId,\r\n documentIndex: x.documentIndex,\r\n fileName: x.fileName,\r\n payload: x.payload,\r\n draft: this.applicationInDraft,\r\n })\r\n );\r\n\r\n this.onDocumentsSaved.emit(this.model);\r\n }\r\n });\r\n\r\n this.sub = this.uploadFileFailed$.subscribe((x) => {\r\n if (x) {\r\n this.dispatch(\r\n this.store,\r\n new SetValueAction(x.controlId, { ...x.file, submitting: false })\r\n );\r\n this.dispatch(\r\n this.store,\r\n new SetErrorsAction(x.controlId, {\r\n customError:\r\n 'There was an error uploading your file, please try again.',\r\n })\r\n );\r\n this.dispatch(this.store, ResetFileRequestFailedAction());\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n this.dispatch(this.store, ResetComponentStateAction());\r\n }\r\n\r\n exit() {\r\n this.store.dispatch(ResetParentFormStateAction());\r\n this.store.dispatch(ResetComponentStateAction());\r\n this.router.navigate(['/start-a-pension']);\r\n }\r\n\r\n goBack() {\r\n this.store.dispatch(SetCurrentStepAction({ step: 5 }));\r\n }\r\n\r\n onVerified(verified: boolean) {\r\n this.dispatch(this.store, GreenIdVerifiedAction({ verified }));\r\n }\r\n\r\n async goNextStep() {\r\n this.dispatch(\r\n this.store,\r\n SubmitFormAction({\r\n accountId: this.accountId,\r\n applicationId: this.applicationId,\r\n })\r\n );\r\n }\r\n\r\n trackByFn(index, item) {\r\n return index;\r\n }\r\n\r\n async uploadDocument(\r\n document: any,\r\n documentTypeId: number,\r\n overviewIndex: number,\r\n documentIndex: number,\r\n fileName: string,\r\n controlId: any\r\n ) {\r\n var uploadedDocumentId =\r\n this.model[overviewIndex].documentList[documentIndex]?.uploadedDocumentId;\r\n\r\n if (uploadedDocumentId) {\r\n var docs = await this.helper.getValue(this.supportingDocuments$);\r\n var originalFile = docs.value[overviewIndex].files[documentIndex];\r\n this.dispatch(\r\n this.store,\r\n ReplaceDocumentAction({\r\n accountId: this.accountId,\r\n applicationId: this.applicationId,\r\n uploadedDocumentId: uploadedDocumentId,\r\n overviewIndex: overviewIndex,\r\n documentIndex: documentIndex,\r\n controlId: controlId,\r\n documentTypeId: documentTypeId,\r\n fileName: fileName,\r\n payload: document,\r\n originalFile: originalFile,\r\n draft: this.applicationInDraft,\r\n })\r\n );\r\n } else {\r\n console.log(this.draftApplication);\r\n this.dispatch(\r\n this.store,\r\n SaveDocumentAction({\r\n accountId: this.accountId,\r\n applicationId: this.applicationId,\r\n documentTypeId: documentTypeId,\r\n controlId: controlId,\r\n documentIndex: documentIndex,\r\n fileName: fileName,\r\n payload: document,\r\n draft: this.applicationInDraft,\r\n })\r\n );\r\n this.dispatch(this.store, new SetErrorsAction(controlId, {}));\r\n }\r\n }\r\n\r\n // controlId is emitted from the component as we dont want to remove the data from within the component\r\n // until we confirm that if its been uploaded, the delete operation is successful\r\n removeFile(controlId: any, overviewIndex: number, uploadIndex: number) {\r\n var uploadedDocumentId =\r\n this.model[overviewIndex].documentList[uploadIndex].uploadedDocumentId;\r\n\r\n if (uploadedDocumentId) {\r\n // send api request to delete file which will then reset the field if successful\r\n this.dispatch(\r\n this.store,\r\n DeleteDocumentAction({\r\n accountId: this.accountId,\r\n applicationId: this.applicationId,\r\n uploadedDocumentId: uploadedDocumentId,\r\n overviewIndex: overviewIndex,\r\n uploadIndex: uploadIndex,\r\n controlId: controlId,\r\n draft: this.applicationInDraft,\r\n })\r\n );\r\n }\r\n // if the file hasnt been uploaded yet with an id, just reset the field\r\n else {\r\n this.store.dispatch(new SetValueAction(controlId, new AppFileModel()));\r\n }\r\n }\r\n\r\n checkFileUploaded(files: AppFileModel[]) {\r\n var fileUploaded = false;\r\n\r\n files.forEach((file) => {\r\n if (file.filename?.length > 0) fileUploaded = true;\r\n });\r\n\r\n return fileUploaded;\r\n }\r\n}\r\n","
\r\n

{{title}}

\r\n
\r\n\r\n
\r\n
\r\n
\r\n

Proof of identification

\r\n

\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n

{{model[i].documentName}}\r\n ({{model[i].isDocumentRequired ? 'Required' :\r\n 'Optional'}}{{model[i].documentAmountRequired > 1 ? ', ' +\r\n model[i].documentAmountRequired :null}})\r\n

\r\n
\r\n
767, 'justify-content-center': screenWidth<768}\">\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex flex-wrap mt-4\">\r\n
\r\n \r\n
\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex\">\r\n 767, 'mt-1': screenWidth<768}\"\r\n class=\"flex-fill {{'BTN.start-a-pension.back.class' | translate}}\" title=\"Back\"\r\n icon=\"{{'BTN.start-a-pension.back.icon' | translate}}\" [isDisabled]=\"isSubmitting\"\r\n color=\"{{'BTN.start-a-pension.back.color' | translate}}\" (onClick)=\"goBack()\">\r\n 767, 'mt-1': screenWidth<768}\" class=\"flex-fill\"\r\n title=\"Next\" icon=\"{{'BTN.start-a-pension.continue.icon' | translate}}\"\r\n color=\"{{'BTN.start-a-pension.continue.color' | translate}}\"\r\n [isDisabled]=\"form.isInvalid || isSubmitting\" loading (onClick)=\"goNextStep()\">\r\n
\r\n
\r\n
\r\n
","import { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { featureKey } from 'src/app/modules/shared/store/shared.reducers';\r\nimport { MemberPortalSharedState } from 'src/app/modules/shared/store/shared.states';\r\nimport { IStartAPensionEligibilityFormComponentState } from './state';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const getStartAPensionEligibilityFormState = createSelector(memberPortalState, (state) => state.startAPensionEligibilityFormComponentState);\r\n\r\nexport const startAPensionEligibilityForm_Form = createSelector(\r\n getStartAPensionEligibilityFormState,\r\n (state: IStartAPensionEligibilityFormComponentState) => state.form\r\n);\r\n\r\nexport const startAPensionEligibilityForm_TypesOfAccounts = createSelector(\r\n getStartAPensionEligibilityFormState,\r\n (state: IStartAPensionEligibilityFormComponentState) => state.typeOfAccounts\r\n);\r\n\r\nexport const startAPensionEligibilityForm_Conditions = createSelector(\r\n getStartAPensionEligibilityFormState,\r\n (state: IStartAPensionEligibilityFormComponentState) => state.conditionsOfRelease\r\n);\r\n\r\nexport const startAPensionEligibilityForm_ShowConditionOfReleaseNote = createSelector(\r\n getStartAPensionEligibilityFormState,\r\n (state: IStartAPensionEligibilityFormComponentState) => state.form.value.sapConditionOfRelease === 1 || state.form.value.sapConditionOfRelease === 4 || state.form.value.sapConditionOfRelease === 5\r\n);","import { Component, Input, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n ResetComponentStateAction,\r\n SetEligibilityFormDataAction,\r\n SubmitFormAction,\r\n} from './actions';\r\nimport { StartAPensionInitialFormModel } from 'src/app/model/start-a-pension-form.model';\r\nimport {\r\n startAPensionEligibilityForm_Conditions,\r\n startAPensionEligibilityForm_Form,\r\n startAPensionEligibilityForm_ShowConditionOfReleaseNote,\r\n startAPensionEligibilityForm_TypesOfAccounts,\r\n} from './selectors';\r\nimport { environment } from 'src/environments/environment';\r\nimport {\r\n AppButtonComponent,\r\n EntryFieldRadioComponent,\r\n EntryTextAreaFieldComponent,\r\n Helper,\r\n} from '@ifaa-components/ui-components';\r\nimport { NgIf, AsyncPipe, NgClass } from '@angular/common';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { NgrxFormsModule } from 'ngrx-forms';\r\nimport { AppRadioDirective } from 'src/app/modules/shared/directives/app-radio.directive';\r\nimport { AppButtonDirective } from 'src/app/modules/shared/directives/appbutton.directive';\r\nimport { InputScrollDirective } from 'src/app/modules/shared/directives/input-scroll.directive';\r\n\r\n@Component({\r\n selector: 'app-start-a-pension-eligibility',\r\n templateUrl: './start-a-pension-eligibility-form.component.html',\r\n styleUrls: ['./start-a-pension-eligibility-form.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n NgrxFormsModule,\r\n EntryFieldRadioComponent,\r\n AppRadioDirective,\r\n InputScrollDirective,\r\n EntryTextAreaFieldComponent,\r\n NgClass,\r\n AppButtonComponent,\r\n AppButtonDirective,\r\n TranslatePipe,\r\n ],\r\n})\r\nexport class StartAPensionEligibilityFormComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n @Input() set data(value: StartAPensionInitialFormModel) {\r\n this.formData = value;\r\n this.store.dispatch(SetEligibilityFormDataAction({ data: value }));\r\n }\r\n @Input() set account(value: number) {\r\n this.accountId = value;\r\n }\r\n @Input() set submitting(value: boolean) {\r\n this.isSubmitting = value;\r\n }\r\n\r\n form$ = this.store.pipe(select(startAPensionEligibilityForm_Form));\r\n typesOfAccounts$ = this.store.pipe(\r\n select(startAPensionEligibilityForm_TypesOfAccounts)\r\n );\r\n conditions$ = this.store.pipe(\r\n select(startAPensionEligibilityForm_Conditions)\r\n );\r\n showNote$ = this.store.pipe(\r\n select(startAPensionEligibilityForm_ShowConditionOfReleaseNote)\r\n );\r\n\r\n showCitizenQuestion: boolean =\r\n environment.startAPension.eligibilitySection.showCitizenQuestion;\r\n formData: StartAPensionInitialFormModel = null;\r\n accountId: number = null;\r\n helper = new Helper();\r\n isSubmitting: boolean = false;\r\n\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n this.dispatch(this.store, ResetComponentStateAction());\r\n }\r\n\r\n exitForm() {\r\n this.router.navigate(['/start-a-pension']);\r\n this.dispatch(this.store, ResetComponentStateAction());\r\n }\r\n\r\n async createApplication() {\r\n var data = await this.helper.getValue(this.form$);\r\n this.store.dispatch(\r\n SubmitFormAction({\r\n accountId: this.accountId,\r\n conditionId: data.value.sapConditionOfRelease,\r\n submission: {\r\n otherReasonText:\r\n data.value.otherReasonText && data.value.otherReasonText.length > 0\r\n ? data.value.otherReasonText\r\n : null,\r\n },\r\n })\r\n );\r\n }\r\n}\r\n","
\r\n

Eligibility to start a pension

\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ formData.formWording.citizenQuestion }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n {{ formData.formWording.typeOfAccount }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n To commence a retirement pension, please select the applicable\r\n 'Conditions of release' below -\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n {{\r\n formData.hasReachedPreservationAge\r\n ? formData.formWording.ttrTooltip\r\n : null\r\n }}\r\n \r\n\r\n \r\n
\r\n
\r\n Provide reason:\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n Note:\r\n {{\r\n form.value.sapConditionOfRelease === 1\r\n ? formData.formWording.retiredTooltip\r\n : form.value.sapConditionOfRelease === 5\r\n ? formData.formWording.terminallyIllOrOther\r\n : null\r\n }}\r\n \r\n \r\n 767,\r\n 'flex-column-reverse': screenWidth < 768\r\n }\"\r\n class=\"d-flex flex-wrap mt-4\"\r\n >\r\n
\r\n \r\n
\r\n 767,\r\n 'flex-column-reverse': screenWidth < 768\r\n }\"\r\n class=\"d-flex\"\r\n >\r\n 767, 'mt-1': screenWidth < 768 }\"\r\n class=\"flex-fill\"\r\n title=\"Next\"\r\n icon=\"{{ 'BTN.start-a-pension.continue.icon' | translate }}\"\r\n color=\"{{ 'BTN.start-a-pension.continue.color' | translate }}\"\r\n [isDisabled]=\"form.isInvalid || isSubmitting\"\r\n loading\r\n (onClick)=\"createApplication()\"\r\n >\r\n \r\n \r\n \r\n\r\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { featureKey } from 'src/app/modules/shared/store/shared.reducers';\r\nimport { MemberPortalSharedState } from 'src/app/modules/shared/store/shared.states';\r\nimport { IStartAPensionPaymentDetailsFormComponentState } from './state';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const getStartAPensionPaymentDetailsFormState = createSelector(memberPortalState, (state) => state.startAPensionPaymentDetailsFormComponentState);\r\n\r\nexport const startAPensionPaymentDetailsForm_Form = createSelector(\r\n getStartAPensionPaymentDetailsFormState,\r\n (state: IStartAPensionPaymentDetailsFormComponentState) => state.form\r\n);\r\n\r\nexport const startAPensionEligibilityForm_FrequencyTypes = createSelector(\r\n getStartAPensionPaymentDetailsFormState,\r\n (state: IStartAPensionPaymentDetailsFormComponentState) => state.frequencyTypes\r\n);\r\n\r\nexport const startAPensionEligibilityForm_CommencementOfDateTypes = createSelector(\r\n getStartAPensionPaymentDetailsFormState,\r\n (state: IStartAPensionPaymentDetailsFormComponentState) => state.commencementOfPaymentsOption\r\n);\r\n\r\nexport const startAPensionEligibilityForm_PaymentTypes = createSelector(\r\n getStartAPensionPaymentDetailsFormState,\r\n (state: IStartAPensionPaymentDetailsFormComponentState) => state.paymentTypes\r\n);\r\n\r\nexport const startAPensionPaymentDetailsForm_FutureTotalPercent = createSelector(\r\n getStartAPensionPaymentDetailsFormState,\r\n (state: IStartAPensionPaymentDetailsFormComponentState) => state.form?.value?.options?.reduce((a, b) => a + b.percentage, 0) ?? 0\r\n);","import { Component, Input, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n ResetComponentStateAction,\r\n SetPaymentDetailsFormDataAction,\r\n SubmitFormAction,\r\n} from './actions';\r\nimport {\r\n PensionApplicationPaymentDetailsFormModel,\r\n PensionInvestmentOptionModel,\r\n} from 'src/app/model/start-a-pension-form.model';\r\nimport {\r\n AppButtonComponent,\r\n EntryFieldDateMonthYearComponent,\r\n EntryFieldRadioComponent,\r\n Helper,\r\n NumberEntryFieldComponent,\r\n} from '@ifaa-components/ui-components';\r\nimport {\r\n startAPensionPaymentDetailsForm_FutureTotalPercent,\r\n startAPensionPaymentDetailsForm_Form,\r\n startAPensionEligibilityForm_FrequencyTypes,\r\n startAPensionEligibilityForm_PaymentTypes,\r\n startAPensionEligibilityForm_CommencementOfDateTypes,\r\n} from './selectors';\r\nimport { ResetParentFormStateAction, SetCurrentStepAction } from '../actions';\r\nimport { StartAPensionPaymentDetailsForm } from './state';\r\nimport { NgrxFormsModule, SetErrorsAction } from 'ngrx-forms';\r\nimport { NgIf, AsyncPipe, CurrencyPipe, NgClass } from '@angular/common';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MatTooltip } from '@angular/material/tooltip';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { AppButtonDirective } from 'src/app/modules/shared/directives/appbutton.directive';\r\nimport {\r\n InputScrollDirective,\r\n InputDateScrollDirective,\r\n} from 'src/app/modules/shared/directives/input-scroll.directive';\r\nimport { StartAPensionInvestmentOptionsComponent } from '../start-a-pension-investment-options/start-a-pension-investment-options.component';\r\n\r\n@Component({\r\n selector: 'app-start-a-pension-payment-details',\r\n templateUrl: './start-a-pension-payment-details-form.component.html',\r\n styleUrls: ['./start-a-pension-payment-details-form.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n NgrxFormsModule,\r\n MatIcon,\r\n MatTooltip,\r\n EntryFieldRadioComponent,\r\n InputScrollDirective,\r\n EntryFieldDateMonthYearComponent,\r\n InputDateScrollDirective,\r\n NumberEntryFieldComponent,\r\n CurrencyPipe,\r\n StartAPensionInvestmentOptionsComponent,\r\n NgClass,\r\n AppButtonComponent,\r\n TranslatePipe,\r\n AppButtonDirective,\r\n ],\r\n})\r\nexport class StartAPensionPaymentDetailsFormComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n @Input() set data(value: PensionApplicationPaymentDetailsFormModel) {\r\n this.formData = value;\r\n }\r\n @Input() set account(value: number) {\r\n this.accountId = value;\r\n }\r\n @Input() set application(value: number) {\r\n this.applicationId = value;\r\n }\r\n @Input() set options(value: PensionInvestmentOptionModel[]) {\r\n this.investmentOptions = value;\r\n }\r\n @Input() set ttr(value: boolean) {\r\n this.isTtr = value;\r\n }\r\n @Input() set balance(value: number) {\r\n this.accountBalance = value;\r\n }\r\n @Input() set submitting(value: boolean) {\r\n this.isSubmitting = value;\r\n }\r\n\r\n form$ = this.store.pipe(select(startAPensionPaymentDetailsForm_Form));\r\n frequencyTypes$ = this.store.pipe(\r\n select(startAPensionEligibilityForm_FrequencyTypes)\r\n );\r\n commencementTypes$ = this.store.pipe(\r\n select(startAPensionEligibilityForm_CommencementOfDateTypes)\r\n );\r\n paymentTypes$ = this.store.pipe(\r\n select(startAPensionEligibilityForm_PaymentTypes)\r\n );\r\n futureTotalPercent$ = this.store.pipe(\r\n select(startAPensionPaymentDetailsForm_FutureTotalPercent)\r\n );\r\n\r\n formData: PensionApplicationPaymentDetailsFormModel = null;\r\n accountId: number = null;\r\n accountBalance: number = 0;\r\n applicationId: number = null;\r\n investmentOptions: PensionInvestmentOptionModel[] = [];\r\n isTtr: boolean = false;\r\n helper = new Helper();\r\n isSubmitting: boolean = false;\r\n\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n this.store.dispatch(\r\n SetPaymentDetailsFormDataAction({\r\n data: this.formData,\r\n investmentOptions: this.investmentOptions,\r\n isTtr: this.isTtr,\r\n accountBalance: this.accountBalance,\r\n })\r\n );\r\n\r\n this.sub = this.form$.subscribe((x) => {\r\n if (x) {\r\n x.controls?.options?.controls?.forEach((option) => {\r\n if (option.value.percentage !== 0 && option.value.percentage < 5) {\r\n const errors = {};\r\n errors['customError'] = 'Percentage must be at least 5%.';\r\n this.store.dispatch(\r\n new SetErrorsAction(option.controls.percentage.id, errors)\r\n );\r\n } else {\r\n this.store.dispatch(\r\n new SetErrorsAction(option.controls.percentage.id, {})\r\n );\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n this.store.dispatch(ResetComponentStateAction());\r\n }\r\n\r\n exit() {\r\n this.store.dispatch(ResetParentFormStateAction());\r\n this.store.dispatch(ResetComponentStateAction());\r\n this.router.navigate(['/start-a-pension']);\r\n }\r\n\r\n goBack() {\r\n this.store.dispatch(SetCurrentStepAction({ step: 2 }));\r\n }\r\n\r\n async savePaymentDetails(submissionData: StartAPensionPaymentDetailsForm) {\r\n this.store.dispatch(\r\n SubmitFormAction({\r\n accountId: this.accountId,\r\n applicationId: this.applicationId,\r\n submission: {\r\n frequencyId: submissionData.frequencyType,\r\n paymentTypeId: submissionData.paymentType,\r\n paymentAmount:\r\n submissionData.paymentType === 1\r\n ? submissionData.paymentAmount\r\n : null,\r\n commencementOfPayments:\r\n submissionData.commencementOfDateOption === 2\r\n ? submissionData.commencementOfDate\r\n : null,\r\n futureOptions: submissionData.options.filter(\r\n (x) => x.percentage !== 0\r\n ),\r\n },\r\n })\r\n );\r\n }\r\n\r\n isValidDate(dateString: string) {\r\n const date = new Date(dateString);\r\n return date instanceof Date && !isNaN(date.getTime());\r\n }\r\n\r\n isValidDatePeriod(dateString: string) {\r\n const currentMonth = new Date(\r\n new Date().getFullYear(),\r\n new Date().getMonth(),\r\n 1\r\n );\r\n const selectedMonth = new Date(dateString);\r\n const selectedMonthFormatted = new Date(\r\n selectedMonth.getFullYear(),\r\n selectedMonth.getMonth(),\r\n 1\r\n );\r\n return selectedMonthFormatted > currentMonth;\r\n }\r\n}\r\n","
\r\n

Pension income payment details

\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n {{formData.customWording.paymentFrequencyQuestion}}:\r\n help_outline\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n {{formData.customWording.commencementOfPaymentQuestion}}:\r\n help_outline\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

Selected date is invalid.

\r\n

\r\n Commencement date must be in the future.

\r\n
\r\n\r\n
\r\n
\r\n
\r\n {{formData.customWording.paymentTypeQuestion}}:\r\n help_outline\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n {{formData.customWording.paymentAmountQuestion}}:\r\n help_outline\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

Payment amount must be above $0.

\r\n

form.value.annualMax\">Payment amount must be below\r\n your annual maximum of {{form.value.annualMax | currency}}.

\r\n
\r\n\r\n
\r\n
\r\n {{formData.customWording.futurePensionPaymentsQuestion}}:\r\n help_outline\r\n
\r\n \r\n
\r\n\r\n
\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex flex-wrap mt-4\">\r\n
\r\n \r\n
\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex\">\r\n 767, 'mt-1': screenWidth<768}\"\r\n class=\"flex-fill {{'BTN.start-a-pension.back.class' | translate}}\" title=\"Back\"\r\n icon=\"{{'BTN.start-a-pension.back.icon' | translate}}\" [isDisabled]=\"isSubmitting\"\r\n color=\"{{'BTN.start-a-pension.back.color' | translate}}\" (onClick)=\"goBack()\">\r\n 767, 'mt-1': screenWidth<768}\" class=\"flex-fill\"\r\n title=\"Next\" icon=\"{{'BTN.start-a-pension.continue.icon' | translate}}\"\r\n color=\"{{'BTN.start-a-pension.continue.color' | translate}}\"\r\n [isDisabled]=\"form.isInvalid || isSubmitting || ((futureTotalPercent$|async) !== 100)\" loading\r\n (onClick)=\"savePaymentDetails(form.value)\">\r\n
\r\n
\r\n
\r\n
","import { createFeatureSelector, createSelector } from \"@ngrx/store\";\r\nimport { IStartAPensionReviewComponentState } from \"./state\";\r\nimport { MemberPortalSharedState } from \"src/app/modules/shared/store/shared.states\";\r\nimport { featureKey } from \"src/app/modules/shared/store/shared.reducers\";\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const getStartAPensionReviewState = createSelector(memberPortalState, (state) => state.startAPensionReviewComponentState);\r\n\r\nexport const startAPensionReview_Form = createSelector(\r\n getStartAPensionReviewState,\r\n (state: IStartAPensionReviewComponentState) => state.form\r\n);\r\n\r\nexport const startAPensionReview_ApplicationSubmitted = createSelector(\r\n getStartAPensionReviewState,\r\n (state: IStartAPensionReviewComponentState) => state.applicationSubmitted\r\n);","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { Store } from '@ngrx/store';\r\nimport {\r\n PensionApplicationDocumentModel,\r\n StartAPensionFormModel,\r\n} from 'src/app/model/start-a-pension-form.model';\r\nimport { NgIf, NgFor, CurrencyPipe, DatePipe } from '@angular/common';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { AppReadonlyComponent } from '@ifaa-components/ui-components';\r\n\r\n@Component({\r\n selector: 'app-start-a-pension-review-display',\r\n templateUrl: './start-a-pension-review-display.component.html',\r\n styleUrls: ['./start-a-pension-review-display.component.scss'],\r\n imports: [NgIf, AppReadonlyComponent, NgFor, MatIcon, CurrencyPipe, DatePipe],\r\n})\r\nexport class StartAPensionReviewDisplayComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n @Input() set data(value: StartAPensionFormModel) {\r\n this.formData = value;\r\n }\r\n\r\n formData: StartAPensionFormModel = null;\r\n\r\n constructor(public store: Store) {\r\n super();\r\n }\r\n\r\n async ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n checkIfDocumentsExist(overview: PensionApplicationDocumentModel) {\r\n var uploadedDocs = overview.documentList.filter((x) => x.originalFileName);\r\n\r\n if (uploadedDocs.length > 0 || overview.documentsUploaded) return true;\r\n\r\n return false;\r\n }\r\n}\r\n","
\r\n

Pension account details

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n

Current investment options allocation

\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n

Pension income payment details

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n

Future pension payment options allocation

\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n

Bank details

\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n

Reversionary Beneficiary

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n

Documents

\r\n
\r\n \r\n
\r\n
\r\n
\r\n {{overview.documentName}} ({{overview.isDocumentRequired ? 'Required' :\r\n 'Optional'}}{{overview.documentAmountRequired > 1 ? ', ' + overview.documentAmountRequired\r\n :null}})\r\n upload_file\r\n
\r\n
\r\n
\r\n

{{checkIfDocumentsExist(overview) ?\r\n 'Supporting document(s) uploaded' : 'Document(s) not uploaded'}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { Router, RouterLink } from '@angular/router';\r\nimport {\r\n AppButtonComponent,\r\n EntryCheckboxFieldComponent,\r\n Helper,\r\n} from '@ifaa-components/ui-components';\r\nimport { commomState_ElevatedAccess } from 'src/app/store/common/common.selectors';\r\nimport { StartAPensionFormModel } from 'src/app/model/start-a-pension-form.model';\r\nimport {\r\n startAPensionReview_ApplicationSubmitted,\r\n startAPensionReview_Form,\r\n} from './selector';\r\nimport { ResetComponentStateAction, SubmitApplicationAction } from './actions';\r\nimport { ResetParentFormStateAction, SetCurrentStepAction } from '../actions';\r\nimport { NgIf, AsyncPipe, NgClass } from '@angular/common';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { NgrxFormsModule } from 'ngrx-forms';\r\nimport { AppButtonDirective } from 'src/app/modules/shared/directives/appbutton.directive';\r\nimport { InputScrollDirective } from 'src/app/modules/shared/directives/input-scroll.directive';\r\nimport { StartAPensionReviewDisplayComponent } from './start-a-pension-review-display/start-a-pension-review-display.component';\r\n\r\n@Component({\r\n selector: 'app-start-a-pension-review',\r\n templateUrl: './start-a-pension-review.component.html',\r\n styleUrls: ['./start-a-pension-review.component.scss'],\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n StartAPensionReviewDisplayComponent,\r\n NgrxFormsModule,\r\n EntryCheckboxFieldComponent,\r\n InputScrollDirective,\r\n NgClass,\r\n AppButtonComponent,\r\n TranslatePipe,\r\n AppButtonDirective,\r\n RouterLink,\r\n ],\r\n})\r\nexport class StartAPensionReviewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n helper = new Helper();\r\n\r\n @Output() onSubmissionSuccesful: EventEmitter = new EventEmitter();\r\n\r\n @Input() set data(value: StartAPensionFormModel) {\r\n this.formData = value;\r\n }\r\n @Input() set account(value: number) {\r\n this.accountId = value;\r\n }\r\n @Input() set application(value: number) {\r\n this.applicationId = value;\r\n }\r\n @Input() set submitting(value: boolean) {\r\n this.isSubmitting = value;\r\n }\r\n\r\n form$ = this.store.pipe(select(startAPensionReview_Form));\r\n applicationSubmitted$ = this.store.pipe(\r\n select(startAPensionReview_ApplicationSubmitted)\r\n );\r\n elevatedAccess$ = this.store.pipe(select(commomState_ElevatedAccess));\r\n elevatedAccess = false;\r\n\r\n formData: StartAPensionFormModel = null;\r\n applicationId: number = null;\r\n accountId: number = null;\r\n applicationSubmitted: boolean = null;\r\n isSubmitting: boolean = false;\r\n\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n async ngOnInit() {\r\n super.ngOnInitBase();\r\n this.sub = this.elevatedAccess$.subscribe((x) => {\r\n this.elevatedAccess = x;\r\n });\r\n\r\n this.sub = this.applicationSubmitted$.subscribe((x) => {\r\n if (x) {\r\n this.applicationSubmitted = x;\r\n this.onSubmissionSuccesful.emit(x);\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n this.store.dispatch(ResetComponentStateAction());\r\n }\r\n\r\n exit() {\r\n this.store.dispatch(ResetParentFormStateAction());\r\n this.store.dispatch(ResetComponentStateAction());\r\n this.router.navigate(['/start-a-pension']);\r\n }\r\n\r\n goBack() {\r\n this.store.dispatch(SetCurrentStepAction({ step: 6 }));\r\n }\r\n\r\n async submitApplication() {\r\n if (this.elevatedAccess) return;\r\n this.dispatch(\r\n this.store,\r\n SubmitApplicationAction({\r\n accountId: this.accountId,\r\n applicationId: this.applicationId,\r\n })\r\n );\r\n }\r\n}\r\n","
\r\n
\r\n

Review your application

\r\n
\r\n \r\n\r\n
\r\n
\r\n

Disclaimer

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n 767,\r\n 'flex-column-reverse': screenWidth < 768\r\n }\"\r\n class=\"d-flex flex-wrap mt-4\"\r\n >\r\n
\r\n \r\n
\r\n 767,\r\n 'flex-column-reverse': screenWidth < 768\r\n }\"\r\n class=\"d-flex\"\r\n >\r\n 767, 'mt-1': screenWidth < 768 }\"\r\n class=\"flex-fill {{ 'BTN.start-a-pension.back.class' | translate }}\"\r\n title=\"Back\"\r\n icon=\"{{ 'BTN.start-a-pension.back.icon' | translate }}\"\r\n [isDisabled]=\"isSubmitting\"\r\n color=\"{{ 'BTN.start-a-pension.back.color' | translate }}\"\r\n (onClick)=\"goBack()\"\r\n >\r\n 767, 'mt-1': screenWidth < 768 }\"\r\n class=\"flex-fill\"\r\n title=\"Submit application\"\r\n icon=\"{{ 'BTN.start-a-pension.continue.icon' | translate }}\"\r\n color=\"{{ 'BTN.start-a-pension.continue.color' | translate }}\"\r\n [isDisabled]=\"form.isInvalid || isSubmitting\"\r\n loading\r\n (onClick)=\"submitApplication()\"\r\n >\r\n
\r\n
\r\n \r\n \r\n
\r\n

\r\n Your pension application request has been successfully submitted\r\n

\r\n

\r\n Your pension application request will be reviewed, and you will be\r\n notified accordingly after processing is completed or if we need any\r\n further information.\r\n

\r\n
\r\n >\r\n \r\n
\r\n
\r\n\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n ApplicationDataRequestAction,\r\n GetInitialFormDataRequestAction,\r\n IncrementCurrentStepWithApiRequestAction,\r\n ResetParentFormStateAction,\r\n SetApplicationDocumentsAction,\r\n SetCurrentStepAction,\r\n} from './actions';\r\nimport {\r\n startAPensionForm_ApplicationData,\r\n startAPensionForm_ApplicationId,\r\n startAPensionForm_CurrentStep,\r\n startAPensionForm_InitialFormData,\r\n} from './selectors';\r\nimport { memberAccountDropdown_SelectedAccount } from '../../member-account-dropdown/selectors';\r\nimport { combineLatest, distinctUntilChanged } from 'rxjs';\r\nimport {\r\n commonState_IsSending,\r\n commonState_MemberData,\r\n} from 'src/app/store/common/common.selectors';\r\nimport { TranslatePipe, TranslateService } from '@ngx-translate/core';\r\nimport { StartAPensionStepper } from './start-a-pension-progress-stepper/start-a-pension-progress-stepper.component';\r\nimport { AppButtonComponent, Helper } from '@ifaa-components/ui-components';\r\nimport { PensionApplicationDocumentModel } from 'src/app/model/start-a-pension-form.model';\r\nimport {\r\n NgSwitch,\r\n NgIf,\r\n AsyncPipe,\r\n NgSwitchCase,\r\n NgClass,\r\n NgFor,\r\n} from '@angular/common';\r\nimport { AppButtonDirective } from '../../../directives/appbutton.directive';\r\nimport { MemberViewComponent } from '../../member-view/member-view.component';\r\nimport { StartAPensionAccountDetailsFormComponent } from './start-a-pension-account-details-form/start-a-pension-account-details-form.component';\r\nimport { StartAPensionBankDetailsFormComponent } from './start-a-pension-bank-details-form/start-a-pension-bank-details-form.component';\r\nimport { StartAPensionBeneficiaryFormComponent } from './start-a-pension-beneficiary-form/start-a-pension-beneficiary-form.component';\r\nimport { StartAPensionDocumentsFormComponent } from './start-a-pension-documents-form/start-a-pension-documents-form.component';\r\nimport { StartAPensionEligibilityFormComponent } from './start-a-pension-eligibility-form/start-a-pension-eligibility-form.component';\r\nimport { StartAPensionPaymentDetailsFormComponent } from './start-a-pension-payment-details-form/start-a-pension-payment-details-form.component';\r\nimport { StartAPensionReviewComponent } from './start-a-pension-review/start-a-pension-review.component';\r\n\r\n@Component({\r\n selector: 'app-start-a-pension-form',\r\n templateUrl: './start-a-pension-form.component.html',\r\n styleUrls: ['./start-a-pension-form.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n NgSwitch,\r\n NgIf,\r\n AsyncPipe,\r\n AppButtonComponent,\r\n NgSwitchCase,\r\n NgClass,\r\n TranslatePipe,\r\n StartAPensionEligibilityFormComponent,\r\n StartAPensionStepper,\r\n NgFor,\r\n MemberViewComponent,\r\n AppButtonDirective,\r\n StartAPensionAccountDetailsFormComponent,\r\n StartAPensionPaymentDetailsFormComponent,\r\n StartAPensionBankDetailsFormComponent,\r\n StartAPensionBeneficiaryFormComponent,\r\n StartAPensionDocumentsFormComponent,\r\n StartAPensionReviewComponent,\r\n ],\r\n})\r\nexport class StartAPensionFormComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n currentStep$ = this.store.pipe(select(startAPensionForm_CurrentStep));\r\n applicationData$ = this.store.pipe(select(startAPensionForm_ApplicationData));\r\n applicationId$ = this.store.pipe(select(startAPensionForm_ApplicationId));\r\n initialFormData$ = this.store.pipe(select(startAPensionForm_InitialFormData));\r\n accountDropdown$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n memberViewModel$ = this.store.pipe(select(commonState_MemberData));\r\n\r\n isSubmitting$ = this.store.pipe(select(commonState_IsSending));\r\n\r\n accountId: number;\r\n applicationId: number;\r\n currentStep: number = null;\r\n validationErrorList: string[] = [];\r\n stepperData: any[] = [];\r\n showStepper: boolean = true;\r\n helper: Helper = new Helper();\r\n submitting: boolean = false;\r\n\r\n @ViewChild(StartAPensionStepper) private myStepper: StartAPensionStepper;\r\n\r\n constructor(\r\n public store: Store,\r\n public translate: TranslateService,\r\n private router: Router\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.sub = this.isSubmitting$.subscribe((x) => {\r\n this.submitting = x;\r\n });\r\n\r\n this.sub = combineLatest([this.accountDropdown$, this.currentStep$])\r\n .pipe(\r\n distinctUntilChanged((x, y) => {\r\n return x[0].accountId === y[0].accountId && x[1] === y[1];\r\n })\r\n )\r\n .subscribe((x) => {\r\n if (x[0].accountId) {\r\n this.accountId = x[0].accountId;\r\n\r\n // if the current step is not set, redirect back to start a pension landing page\r\n if (x[1] === null) {\r\n this.router.navigate(['/start-a-pension']);\r\n } else {\r\n this.currentStep = x[1];\r\n\r\n // if current step is -1 we need to get the initial form data + disclaimer\r\n if (x[1] === -1) {\r\n this.store.dispatch(\r\n GetInitialFormDataRequestAction({ accountId: this.accountId })\r\n );\r\n }\r\n }\r\n }\r\n });\r\n\r\n this.sub = combineLatest([this.applicationId$, this.applicationData$])\r\n .pipe(\r\n distinctUntilChanged((x, y) => JSON.stringify(x) === JSON.stringify(y))\r\n )\r\n .subscribe((x) => {\r\n // set applicationid\r\n if (!this.applicationId) {\r\n this.applicationId = x[0];\r\n }\r\n\r\n // get application data if we have application id and no application data\r\n if (x[0] && !x[1]) {\r\n this.store.dispatch(\r\n ApplicationDataRequestAction({\r\n accountId: this.accountId,\r\n applicationId: this.applicationId,\r\n })\r\n );\r\n }\r\n\r\n // set stepper data\r\n if (x[0] && x[1]) {\r\n if (this.stepperData.length === 0) {\r\n this.stepperData.push({\r\n title: 'Personal details',\r\n completed: x[1].pensionApplicationBaseDetails.currentStep > 1,\r\n stepIndex: 1,\r\n });\r\n this.stepperData.push({\r\n title: 'Account details',\r\n completed: x[1].pensionApplicationBaseDetails.currentStep > 2,\r\n stepIndex: 2,\r\n });\r\n this.stepperData.push({\r\n title: 'Payment details',\r\n completed: x[1].pensionApplicationBaseDetails.currentStep > 3,\r\n stepIndex: 3,\r\n });\r\n this.stepperData.push({\r\n title: 'Bank details',\r\n completed: x[1].pensionApplicationBaseDetails.currentStep > 4,\r\n stepIndex: 4,\r\n });\r\n this.stepperData.push({\r\n title: 'Beneficiary',\r\n completed: x[1].pensionApplicationBaseDetails.currentStep > 5,\r\n stepIndex: 5,\r\n });\r\n this.stepperData.push({\r\n title: 'Documents',\r\n completed: x[1].pensionApplicationBaseDetails.currentStep > 6,\r\n stepIndex: 6,\r\n });\r\n this.stepperData.push({\r\n title: 'Review',\r\n completed: x[1].pensionApplicationBaseDetails.currentStep > 7,\r\n stepIndex: 7,\r\n });\r\n }\r\n }\r\n });\r\n\r\n // updates the stepper\r\n this.sub = this.currentStep$.subscribe(async (x) => {\r\n this.myStepper?.setSelectedIndex(x);\r\n });\r\n\r\n // validations for personal details page\r\n this.sub = this.memberViewModel$.subscribe(async (x) => {\r\n if (x) {\r\n this.validationErrorList = [];\r\n if (!x.residentialAddress || !x.residentialAddress.fullAddress)\r\n this.validationErrorList.push(\r\n \"Please provide your Residential Address by clicking on the 'Update Details' button\"\r\n );\r\n var count = 0;\r\n var fieldsMissing = [];\r\n if (!x.firstName) {\r\n count++;\r\n fieldsMissing.push('First name');\r\n }\r\n if (!x.lastName) {\r\n count++;\r\n fieldsMissing.push('Last name');\r\n }\r\n if (!x.dateOfBirth) {\r\n count++;\r\n fieldsMissing.push('Date of birth');\r\n }\r\n if (count > 0) {\r\n this.sub = await this.translate\r\n .get('PLEASE_CONTACT_US_MESSAGE')\r\n .subscribe((x) => {\r\n var msg = fieldsMissing.join(', ');\r\n msg += count > 1 ? ' are required. ' : ' is required. ';\r\n msg += x.toString();\r\n this.validationErrorList.push(msg);\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.dispatch(this.store, ResetParentFormStateAction());\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n exit() {\r\n this.dispatch(this.store, ResetParentFormStateAction());\r\n this.router.navigate(['/start-a-pension']);\r\n }\r\n\r\n back() {\r\n this.store.dispatch(SetCurrentStepAction({ step: this.currentStep - 1 }));\r\n }\r\n\r\n nextStep() {\r\n this.store.dispatch(SetCurrentStepAction({ step: this.currentStep + 1 }));\r\n }\r\n\r\n async nextStepMemberDetails() {\r\n var appData = await this.helper.getValue(this.applicationData$);\r\n if (appData.pensionApplicationBaseDetails.currentStep === 1)\r\n this.store.dispatch(\r\n IncrementCurrentStepWithApiRequestAction({\r\n accountId: this.accountId,\r\n applicationId: this.applicationId,\r\n })\r\n );\r\n else\r\n this.store.dispatch(SetCurrentStepAction({ step: this.currentStep + 1 }));\r\n }\r\n\r\n updatePersonalDetails() {\r\n this.router.navigate(['/personal-edit']);\r\n }\r\n\r\n onStepperSelectionChange(titles: any[], event: any) {\r\n this.dispatch(\r\n this.store,\r\n SetCurrentStepAction({ step: titles[event.selectedIndex].stepIndex })\r\n );\r\n }\r\n\r\n onDocumentsSaved(payload: PensionApplicationDocumentModel[]) {\r\n this.dispatch(\r\n this.store,\r\n SetApplicationDocumentsAction({ documents: payload })\r\n );\r\n }\r\n\r\n onSubmissionSuccesful(payload: boolean) {\r\n if (payload) {\r\n this.showStepper = false;\r\n }\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n

Starting a new pension

\r\n
\r\n {{ initialFormData.errorMessage }} \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n

Starting a new pension

\r\n
\r\n 767,\r\n 'flex-column-reverse': screenWidth < 768\r\n }\"\r\n class=\"d-flex\"\r\n >\r\n 767,\r\n 'mt-1': screenWidth < 768\r\n }\"\r\n title=\"Exit\"\r\n icon=\"{{ 'BTN.start-a-pension.cancel.icon' | translate }}\"\r\n color=\"{{ 'BTN.start-a-pension.cancel.color' | translate }}\"\r\n (onClick)=\"exit()\"\r\n >\r\n \r\n 767,\r\n 'mt-1': screenWidth < 768\r\n }\"\r\n title=\"Next\"\r\n icon=\"{{ 'BTN.start-a-pension.continue.icon' | translate }}\"\r\n color=\"{{ 'BTN.start-a-pension.continue.color' | translate }}\"\r\n (onClick)=\"nextStep()\"\r\n >\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n 425\"\r\n class=\"d-flex flex-row w-100 pb-4 mb-4 stepper-container\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n

Confirm your personal details

\r\n
0\">\r\n
    \r\n \r\n
\r\n
\r\n\r\n \r\n\r\n 767,\r\n 'flex-column-reverse': screenWidth < 768\r\n }\"\r\n class=\"d-flex flex-wrap\"\r\n >\r\n
\r\n \r\n
\r\n 767,\r\n 'flex-column-reverse': screenWidth < 768\r\n }\"\r\n class=\"d-flex\"\r\n >\r\n 767,\r\n 'mt-1': screenWidth < 768\r\n }\"\r\n class=\"flex-fill {{\r\n 'BTN.start-a-pension.update-details.class' | translate\r\n }}\"\r\n title=\"Update details\"\r\n icon=\"{{ 'BTN.start-a-pension.update-details.icon' | translate }}\"\r\n color=\"{{\r\n 'BTN.start-a-pension.update-details.color' | translate\r\n }}\"\r\n [isDisabled]=\"submitting\"\r\n (onClick)=\"updatePersonalDetails()\"\r\n >\r\n \r\n 767,\r\n 'mt-1': screenWidth < 768\r\n }\"\r\n class=\"flex-fill\"\r\n title=\"Next\"\r\n icon=\"{{ 'BTN.start-a-pension.continue.icon' | translate }}\"\r\n [isDisabled]=\"validationErrorList.length > 0\"\r\n color=\"{{ 'BTN.start-a-pension.continue.color' | translate }}\"\r\n [isDisabled]=\"submitting\"\r\n loading\r\n (onClick)=\"nextStepMemberDetails()\"\r\n >\r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { ComponentBase } from '../component-base';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { AppToolbarOptionsComponent } from '@ifaa-components/ui-components';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { StartAPensionFormComponent } from 'src/app/modules/shared/components/start-a-pension/start-a-pension-form/start-a-pension-form.component';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { TextTransformPipe } from 'src/app/modules/shared/pipes/textTransform';\r\n\r\n@Component({\r\n selector: 'app-start-a-pension-create',\r\n templateUrl: './start-a-pension-create.component.html',\r\n styleUrls: ['./start-a-pension-create.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n AppComponentWrapperComponent,\r\n AppToolbarOptionsComponent,\r\n TextTransformPipe,\r\n StartAPensionFormComponent,\r\n AnimateCssDirective,\r\n ],\r\n})\r\nexport class StartAPensionCreateComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n constructor(public store: Store) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
{{'Start A Pension' | textTransform}}
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
","export enum PensionApplicationConditionEnum {\r\n ReachedPresAge = 1,\r\n CeasedPaidEmployment = 2,\r\n ReachedAgeSixtyFive = 3,\r\n OtherReason = 5,\r\n Ttr = 6\r\n}","import { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { featureKey } from '../../../store/shared.reducers';\r\nimport { MemberPortalSharedState } from '../../../store/shared.states';\r\nimport { IStartAPensionStartComponentState } from './state';\r\nimport { PensionApplicationConditionEnum } from 'src/app/enums/pension-application-condition.enum';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const getStartAPensionStartState = createSelector(memberPortalState, (state) => state.startAPensionStartComponentState);\r\n\r\nexport const startAPensionStart_Model = createSelector(\r\n getStartAPensionStartState,\r\n (state: IStartAPensionStartComponentState) => state.model\r\n);\r\n\r\nexport const startAPensionStart_Filter = createSelector(\r\n getStartAPensionStartState,\r\n (state: IStartAPensionStartComponentState) => state.filter\r\n);\r\n\r\nexport const startAPensionStart_ProcessStarted = createSelector(\r\n getStartAPensionStartState,\r\n (state: IStartAPensionStartComponentState) => state.processStarted\r\n);\r\n\r\n\r\nexport const startAPensionStart_UpdatingSubmitted = createSelector(\r\n getStartAPensionStartState,\r\n (state: IStartAPensionStartComponentState) => state.updatingSubmitted\r\n);\r\n\r\nexport const startAPensionStart_CanCreateNewApp = createSelector(\r\n getStartAPensionStartState,\r\n (state: IStartAPensionStartComponentState) => {\r\n var ttrDraftExists = state.model.draftApplications\r\n .find(x => x.conditionId == PensionApplicationConditionEnum.Ttr);\r\n var rpDraftExists = state.model.draftApplications\r\n .find(x => x.conditionId != PensionApplicationConditionEnum.Ttr);\r\n\r\n return !(ttrDraftExists && rpDraftExists);\r\n }\r\n);\r\n","import { createFeatureSelector, createSelector } from \"@ngrx/store\";\r\nimport { IStartAPensionUpdateSubmittedComponentState } from \"./state\";\r\nimport { MemberPortalSharedState } from \"../../../store/shared.states\";\r\nimport { featureKey } from \"../../../store/shared.reducers\";\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const getStartAPensionUpdateSubmittedState = createSelector(memberPortalState, (state) => state.startAPensionUpdateSubmittedComponentState);\r\n\r\nexport const startAPensionUpdateSubmitted_ApplicationData = createSelector(\r\n getStartAPensionUpdateSubmittedState,\r\n (state: IStartAPensionUpdateSubmittedComponentState) => state.applicationData\r\n);","import { Component, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { combineLatest } from 'rxjs';\r\nimport { distinctUntilChanged, map } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n startAPensionStart_CanCreateNewApp,\r\n startAPensionStart_Filter,\r\n startAPensionStart_Model,\r\n startAPensionStart_ProcessStarted,\r\n startAPensionStart_UpdatingSubmitted,\r\n} from './selectors';\r\nimport {\r\n CancelApplicationAction,\r\n ContinueApplicationRequestAction,\r\n ProcessStartedAction,\r\n RequestAction,\r\n ResetComponentStateAction,\r\n UpdateSubmittedApplicationRequestAction,\r\n} from './actions';\r\nimport { StartAPensionApplicationSummaryModel } from 'src/app/model/start-a-pension-application-summaries.model';\r\nimport { SetCurrentStepAction } from '../start-a-pension-form/actions';\r\nimport { memberAccountDropdown_SelectedAccount } from '../../member-account-dropdown/selectors';\r\nimport { startAPensionForm_ApplicationData } from '../start-a-pension-form/selectors';\r\nimport { startAPensionUpdateSubmitted_ApplicationData } from '../start-a-pension-update-submitted/selectors';\r\nimport { commonState_IsSending } from 'src/app/store/common/common.selectors';\r\nimport { NgIf, AsyncPipe, NgFor, DatePipe } from '@angular/common';\r\nimport {\r\n AppButtonToggleComponent,\r\n AppButtonComponent,\r\n} from '@ifaa-components/ui-components';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { AppRadioDirective } from '../../../directives/app-radio.directive';\r\n\r\n@Component({\r\n selector: 'app-start-a-pension-start',\r\n templateUrl: './start-a-pension-start.component.html',\r\n styleUrls: ['./start-a-pension-start.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n AppButtonToggleComponent,\r\n TranslatePipe,\r\n NgFor,\r\n DatePipe,\r\n AppButtonComponent,\r\n AppRadioDirective,\r\n ],\r\n})\r\nexport class StartAPensionStartComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n model$ = this.store.pipe(select(startAPensionStart_Model));\r\n filter$ = this.store.pipe(select(startAPensionStart_Filter));\r\n accountDropdown$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n canCreateNewApp$ = this.store.pipe(\r\n select(startAPensionStart_CanCreateNewApp)\r\n );\r\n\r\n // form selectors\r\n formApplicationData$ = this.store.pipe(\r\n select(startAPensionForm_ApplicationData)\r\n );\r\n processStarted$ = this.store.pipe(select(startAPensionStart_ProcessStarted));\r\n\r\n // updating submitted selectors\r\n updatingSubmittedApplicationData$ = this.store.pipe(\r\n select(startAPensionUpdateSubmitted_ApplicationData)\r\n );\r\n updatingSubmitted$ = this.store.pipe(\r\n select(startAPensionStart_UpdatingSubmitted)\r\n );\r\n\r\n isSubmitting$ = this.store.pipe(select(commonState_IsSending));\r\n\r\n accountId: number;\r\n applicationId: number = 0;\r\n currentList: StartAPensionApplicationSummaryModel[] = [];\r\n cancelDialogText: string =\r\n 'Please confirm that you would like to cancel this request. This action cannot be reversed. Once cancelled, you will need to start a new application if you wish to create a new pension account request.';\r\n\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.sub = this.accountDropdown$\r\n .pipe(distinctUntilChanged((x, y) => x.accountId === y.accountId))\r\n .subscribe((x) => {\r\n if (x.accountId) {\r\n this.accountId = x.accountId;\r\n this.dispatch(this.store, RequestAction({ accountId: x.accountId }));\r\n }\r\n });\r\n\r\n this.sub = combineLatest([this.filter$, this.model$])\r\n .pipe(map(([filter, model]) => ({ filter, model })))\r\n .subscribe((x) => {\r\n if (x.model && x.filter) {\r\n switch (x.filter.value.activeOptionButton) {\r\n case 'Draft': {\r\n this.currentList = x.model.draftApplications;\r\n break;\r\n }\r\n case 'Submitted': {\r\n this.currentList = x.model.submittedApplications;\r\n break;\r\n }\r\n case 'Cancelled': {\r\n this.currentList = x.model.cancelledApplications;\r\n break;\r\n }\r\n }\r\n }\r\n });\r\n\r\n // if we have the application data, redirect user to form process\r\n this.sub = combineLatest([\r\n this.formApplicationData$,\r\n this.processStarted$,\r\n ]).subscribe((x) => {\r\n if (x[0] && x[1]) {\r\n this.router.navigate(['/start-a-pension/create-application']);\r\n }\r\n });\r\n\r\n // if we have the application data, redirect user to updating submitted component\r\n this.sub = combineLatest([\r\n this.updatingSubmittedApplicationData$,\r\n this.updatingSubmitted$,\r\n ]).subscribe((x) => {\r\n if (x[0] && x[1]) {\r\n this.router.navigate(['/start-a-pension/review']);\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n this.dispatch(this.store, ResetComponentStateAction());\r\n }\r\n\r\n createNewApplication() {\r\n this.dispatch(this.store, ProcessStartedAction());\r\n this.dispatch(this.store, SetCurrentStepAction({ step: -1 }));\r\n this.router.navigate(['/start-a-pension/create-application']);\r\n }\r\n\r\n async continueApplication(applicationId: number) {\r\n this.applicationId = applicationId;\r\n this.dispatch(this.store, ProcessStartedAction());\r\n this.dispatch(\r\n this.store,\r\n ContinueApplicationRequestAction({\r\n accountId: this.accountId,\r\n applicationId: applicationId,\r\n })\r\n );\r\n }\r\n\r\n async cancelApplication(event: any, applicationId: number) {\r\n if (event === 'ok') {\r\n this.dispatch(\r\n this.store,\r\n CancelApplicationAction({\r\n accountId: this.accountId,\r\n applicationId: applicationId,\r\n })\r\n );\r\n }\r\n }\r\n\r\n async updateSubmittedApp(applicationId: number) {\r\n this.applicationId = applicationId;\r\n this.dispatch(\r\n this.store,\r\n UpdateSubmittedApplicationRequestAction({\r\n accountId: this.accountId,\r\n applicationId: applicationId,\r\n })\r\n );\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n

\r\n Your applications in draft will be automatically cancelled after 30 days\r\n from when they were created.\r\n

\r\n

\r\n You can add additional documentation to your submitted applications which\r\n have not been completed.\r\n

\r\n
425\">\r\n \r\n \r\n \r\n \r\n \r\n Created on\r\n \r\n \r\n Submitted on\r\n \r\n \r\n Case status\r\n \r\n 768\r\n \"\r\n width=\"30%\"\r\n scope=\"col\"\r\n >\r\n Actions\r\n \r\n \r\n Cancelled on\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 768\r\n \"\r\n >\r\n
\r\n \r\n \r\n
\r\n \r\n 768\r\n \"\r\n >\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Type of account
{{ item.typeOfAccount }}\r\n {{ item.createdOn | date : \"dd MMM yyyy\" }}\r\n \r\n {{ item.cancelledOn | date : \"dd MMM yyyy\" }}\r\n \r\n {{ item.submittedOn | date : \"dd MMM yyyy\" }}\r\n \r\n {{ item.caseStatus }}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{ item.typeOfAccount }}

\r\n
\r\n Created on: {{ item.createdOn | date : \"dd MMM yyyy\" }}\r\n
\r\n
\r\n Cancelled on:\r\n {{\r\n item.cancelledOn\r\n | date\r\n : \"dd MMM\r\n yyyy\"\r\n }}\r\n
\r\n
\r\n Submitted on:\r\n {{\r\n item.submittedOn\r\n | date\r\n : \"dd MMM\r\n yyyy\"\r\n }}\r\n
\r\n
\r\n Case status: {{ item.caseStatus }}\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { ComponentBase } from '../../views/component-base';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { AppToolbarOptionsComponent } from '@ifaa-components/ui-components';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { StartAPensionStartComponent } from 'src/app/modules/shared/components/start-a-pension/start-a-pension-start/start-a-pension-start.component';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { TextTransformPipe } from 'src/app/modules/shared/pipes/textTransform';\r\n\r\n@Component({\r\n selector: 'app-start-a-pension-view',\r\n templateUrl: './start-a-pension-view.component.html',\r\n styleUrls: ['./start-a-pension-view.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n AppComponentWrapperComponent,\r\n AppToolbarOptionsComponent,\r\n TextTransformPipe,\r\n StartAPensionStartComponent,\r\n AnimateCssDirective,\r\n ],\r\n})\r\nexport class StartAPensionViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n constructor(public store: Store) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
{{'Start A Pension' | textTransform}}
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { Router, RouterLink } from '@angular/router';\r\nimport { startAPensionUpdateSubmitted_ApplicationData } from './selectors';\r\nimport { combineLatest } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { memberAccountDropdown_SelectedAccount } from '../../member-account-dropdown/selectors';\r\nimport { ResetComponentStateAction } from './actions';\r\nimport { ResetParentFormStateAction } from '../start-a-pension-form/actions';\r\nimport { commonState_IsSending } from 'src/app/store/common/common.selectors';\r\nimport { NgIf, AsyncPipe, NgClass } from '@angular/common';\r\nimport { AppButtonComponent } from '@ifaa-components/ui-components';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { StartAPensionDocumentsFormComponent } from '../start-a-pension-form/start-a-pension-documents-form/start-a-pension-documents-form.component';\r\nimport { StartAPensionReviewDisplayComponent } from '../start-a-pension-form/start-a-pension-review/start-a-pension-review-display/start-a-pension-review-display.component';\r\n\r\n@Component({\r\n selector: 'app-start-a-pension-update-submitted',\r\n templateUrl: './start-a-pension-update-submitted.component.html',\r\n styleUrls: ['./start-a-pension-update-submitted.component.scss'],\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n StartAPensionDocumentsFormComponent,\r\n StartAPensionReviewDisplayComponent,\r\n NgClass,\r\n AppButtonComponent,\r\n TranslatePipe,\r\n RouterLink,\r\n ],\r\n})\r\nexport class StartAPensionUpdateSubmittedComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n applicationData$ = this.store.pipe(\r\n select(startAPensionUpdateSubmitted_ApplicationData)\r\n );\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n isSubmitting$ = this.store.pipe(select(commonState_IsSending));\r\n\r\n applicationUpdated: boolean = false;\r\n\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n async ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.sub = combineLatest([this.applicationData$])\r\n .pipe(map(([applicationData]) => ({ applicationData })))\r\n .subscribe((x) => {\r\n if (!x.applicationData) {\r\n this.router.navigate(['/start-a-pension']);\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.dispatch(this.store, ResetParentFormStateAction());\r\n this.dispatch(this.store, ResetComponentStateAction());\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n leavePage() {\r\n this.dispatch(this.store, ResetParentFormStateAction());\r\n this.router.navigate(['/start-a-pension']);\r\n }\r\n\r\n submit() {\r\n this.applicationUpdated = true;\r\n }\r\n}\r\n","\r\n

Review your submitted application

\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n \r\n\r\n
767, 'flex-column-reverse': screenWidth<768}\"\r\n class=\"d-flex flex-wrap mt-4\">\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n

Your pension application request has been successfully updated

\r\n

Additional documents have been added to your pension application request. You will be notified\r\n accordingly after processing is completed or if we need any further information.

\r\n
\r\n >\r\n \r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { ComponentBase } from '../component-base';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { AppToolbarOptionsComponent } from '@ifaa-components/ui-components';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { StartAPensionUpdateSubmittedComponent } from 'src/app/modules/shared/components/start-a-pension/start-a-pension-update-submitted/start-a-pension-update-submitted.component';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { TextTransformPipe } from 'src/app/modules/shared/pipes/textTransform';\r\n\r\n@Component({\r\n selector: 'app-start-a-pension-update-submitted-view',\r\n templateUrl: './start-a-pension-update-submitted-view.component.html',\r\n styleUrls: ['./start-a-pension-update-submitted-view.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n AppComponentWrapperComponent,\r\n AppToolbarOptionsComponent,\r\n TextTransformPipe,\r\n AnimateCssDirective,\r\n StartAPensionUpdateSubmittedComponent,\r\n ],\r\n})\r\nexport class StartAPensionUpdateSubmittedViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n constructor(public store: Store) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
{{'Start A Pension' | textTransform}}
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { ComponentBase } from '../../../../views/component-base';\r\nimport { AppState } from '../../../../store/app.states';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { memberAccountDropdown_SelectedAccount } from '../member-account-dropdown/selectors';\r\nimport {\r\n insuranceUpdate_ReduceForm,\r\n insuranceUpdate_InitialForm,\r\n insuranceUpdate_InsuranceToCancel,\r\n insuranceUpdate_InsuranceToReduce,\r\n insuranceUpdate_Model,\r\n insuranceUpdate_CancelForm,\r\n insuranceUpdate_ReduceFormKeyProps,\r\n insuranceUpdate_Submitted,\r\n insuranceUpdate_CancelFormKeyProps,\r\n} from './selectors';\r\nimport {\r\n ResetStateAction,\r\n SetInsuranceDetailsToCancelAction,\r\n SetInsuranceDetailsToReduceAction,\r\n SubmitInsuranceToCancelAction,\r\n SubmitInsuranceToReduceAction,\r\n} from './actions';\r\nimport { Router, RouterLink } from '@angular/router';\r\nimport {\r\n InsuranceCancelForm,\r\n InsuranceReduceForm,\r\n SelectionForm,\r\n} from './state';\r\nimport {\r\n AppButtonComponent,\r\n EntryCheckboxFieldComponent,\r\n Helper,\r\n NumberEntryFieldComponent,\r\n} from '@ifaa-components/ui-components';\r\nimport {\r\n InsuranceCoverTypeDetailsUpdateModel,\r\n InsuranceUpdateSubmissionModel,\r\n} from 'src/app/model/insurance-details.model';\r\nimport { NgrxFormsModule, SetErrorsAction } from 'ngrx-forms';\r\nimport { distinctUntilChanged } from 'rxjs';\r\nimport { commonState_IsSending } from 'src/app/store/common/common.selectors';\r\nimport { NgIf, AsyncPipe, NgFor, NgClass, CurrencyPipe } from '@angular/common';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MatTooltip } from '@angular/material/tooltip';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { AppButtonDirective } from '../../directives/appbutton.directive';\r\nimport { InputScrollDirective } from '../../directives/input-scroll.directive';\r\n\r\n@Component({\r\n selector: 'app-insurance-update',\r\n templateUrl: './insurance-update.component.html',\r\n styleUrls: ['./insurance-update.component.scss'],\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n NgrxFormsModule,\r\n NgFor,\r\n EntryCheckboxFieldComponent,\r\n InputScrollDirective,\r\n NgClass,\r\n AppButtonComponent,\r\n TranslatePipe,\r\n CurrencyPipe,\r\n NumberEntryFieldComponent,\r\n AppButtonDirective,\r\n MatIcon,\r\n MatTooltip,\r\n RouterLink,\r\n ],\r\n})\r\nexport class InsuranceUpdateComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n model$ = this.store.pipe(select(insuranceUpdate_Model));\r\n initialForm$ = this.store.pipe(select(insuranceUpdate_InitialForm));\r\n reduceForm$ = this.store.pipe(select(insuranceUpdate_ReduceForm));\r\n reduceFormKeyProps$ = this.store.pipe(\r\n select(insuranceUpdate_ReduceFormKeyProps)\r\n );\r\n cancelFormKeyProps$ = this.store.pipe(\r\n select(insuranceUpdate_CancelFormKeyProps)\r\n );\r\n cancelForm$ = this.store.pipe(select(insuranceUpdate_CancelForm));\r\n submitted$ = this.store.pipe(select(insuranceUpdate_Submitted));\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n insuranceToReduce$ = this.store.pipe(\r\n select(insuranceUpdate_InsuranceToReduce)\r\n );\r\n insuranceToCancel$ = this.store.pipe(\r\n select(insuranceUpdate_InsuranceToCancel)\r\n );\r\n\r\n submitting$ = this.appstore.pipe(select(commonState_IsSending));\r\n\r\n helper: Helper = new Helper();\r\n\r\n constructor(\r\n public store: Store,\r\n public appstore: Store,\r\n public router: Router\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n this.sub = this.model$.subscribe((x) => {\r\n if (!x) {\r\n this.router.navigate(['/insurance']);\r\n }\r\n });\r\n\r\n this.sub = this.cancelFormKeyProps$\r\n .pipe(\r\n distinctUntilChanged((x, y) => JSON.stringify(x) === JSON.stringify(y))\r\n )\r\n .subscribe((x) => {\r\n if (x) {\r\n x.forEach((insuranceType) => {\r\n if (insuranceType.code === 'B') {\r\n let deathToggle = true;\r\n let tpdToggle = true;\r\n let deathCheckboxId = '';\r\n let tpdCheckboxId = '';\r\n\r\n insuranceType.coverTypes.forEach((cover) => {\r\n if (cover.coverType === 'Death') {\r\n deathCheckboxId = cover.checkboxId;\r\n deathToggle = cover.toggled;\r\n } else {\r\n tpdCheckboxId = cover.checkboxId;\r\n tpdToggle = cover.toggled;\r\n }\r\n });\r\n\r\n if (deathToggle && !tpdToggle) {\r\n this.store.dispatch(\r\n new SetErrorsAction(deathCheckboxId, {\r\n customError:\r\n 'You cannot cancel Death Cover while retaining TPD.',\r\n })\r\n );\r\n } else {\r\n this.store.dispatch(new SetErrorsAction(deathCheckboxId, {}));\r\n }\r\n }\r\n });\r\n }\r\n });\r\n\r\n this.sub = this.reduceFormKeyProps$\r\n .pipe(\r\n distinctUntilChanged((x, y) => JSON.stringify(x) === JSON.stringify(y))\r\n )\r\n .subscribe((x) => {\r\n if (x) {\r\n x.forEach((insuranceType) => {\r\n // have to match off code B for Death & TPD..\r\n if (insuranceType.code === 'B') {\r\n const originalTotal = insuranceType.originalTotal;\r\n let newDeathAmount = 0;\r\n let newTpdAmount = 0;\r\n\r\n let deathId = '';\r\n let tpdId = '';\r\n\r\n let deathErrors = {};\r\n let tpdErrors = {};\r\n\r\n insuranceType.coverTypes.forEach((cover) => {\r\n if (cover.coverType === 'Death') {\r\n newDeathAmount = cover.newAmount;\r\n deathId = cover.newAmountId;\r\n } else {\r\n newTpdAmount = cover.newAmount;\r\n tpdId = cover.newAmountId;\r\n }\r\n });\r\n if (originalTotal <= newTpdAmount) {\r\n tpdErrors = {\r\n customError:\r\n 'TPD amount cannot be higher than or equal to your original cover amount.',\r\n };\r\n }\r\n\r\n if (originalTotal < newDeathAmount) {\r\n deathErrors = {\r\n customError:\r\n 'Amount cannot be higher than your original cover amount.',\r\n };\r\n }\r\n\r\n if (newTpdAmount < 1000) {\r\n tpdErrors = {\r\n customError: 'Cover amount must be at least $1000.',\r\n };\r\n }\r\n\r\n if (newDeathAmount < 1000) {\r\n deathErrors = {\r\n customError: 'Cover amount must be at least $1000.',\r\n };\r\n }\r\n\r\n if (newTpdAmount > newDeathAmount) {\r\n tpdErrors = {\r\n customError:\r\n 'TPD cover amount must be equal to or lower than death cover amount.',\r\n };\r\n }\r\n\r\n this.store.dispatch(new SetErrorsAction(deathId, deathErrors));\r\n this.store.dispatch(new SetErrorsAction(tpdId, tpdErrors));\r\n } else {\r\n const originalTotal = insuranceType.originalTotal;\r\n let newAmount = 0;\r\n let controlid = '';\r\n\r\n // There will be only one control in this array\r\n insuranceType.coverTypes.forEach((cover) => {\r\n newAmount = cover.newAmount;\r\n controlid = cover.newAmountId;\r\n });\r\n\r\n // Income protection minimum is 1200\r\n if (insuranceType.code === 'I' && newAmount < 1200) {\r\n this.store.dispatch(\r\n new SetErrorsAction(controlid, {\r\n customError: 'Cover amount must be at least $1200.',\r\n })\r\n );\r\n }\r\n // Other insurance minimum is 1000\r\n else if (newAmount < 1000) {\r\n this.store.dispatch(\r\n new SetErrorsAction(controlid, {\r\n customError: 'Cover amount must be at least $1000.',\r\n })\r\n );\r\n } else if (originalTotal <= newAmount) {\r\n this.store.dispatch(\r\n new SetErrorsAction(controlid, {\r\n customError:\r\n 'Amount cannot be higher than or equal to your original cover amount.',\r\n })\r\n );\r\n } else {\r\n this.store.dispatch(new SetErrorsAction(controlid, {}));\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n this.store.dispatch(ResetStateAction());\r\n }\r\n\r\n insuranceNotSelected(form: SelectionForm[]) {\r\n return form.every((x) => !x.checkbox);\r\n }\r\n\r\n exitForm() {\r\n this.store.dispatch(ResetStateAction());\r\n this.router.navigate(['/insurance']);\r\n }\r\n\r\n async cancelCover(form: SelectionForm[]) {\r\n const insuranceData = await this.helper.getValue(this.model$);\r\n const selectedIds = form\r\n .filter((x) => x.checkbox)\r\n .map((x) => x.insuranceId);\r\n const insuranceToCancel = insuranceData.insurances.filter(\r\n (x) => selectedIds.findIndex((id) => id == x.insuranceId) !== -1\r\n );\r\n\r\n this.store.dispatch(\r\n SetInsuranceDetailsToCancelAction({ insurances: insuranceToCancel })\r\n );\r\n }\r\n\r\n async reduceCover(form: SelectionForm[]) {\r\n const insuranceData = await this.helper.getValue(this.model$);\r\n const selectedIds = form\r\n .filter((x) => x.checkbox)\r\n .map((x) => x.insuranceId);\r\n const insuranceToReduce = insuranceData.insurances.filter(\r\n (x) => selectedIds.findIndex((id) => id == x.insuranceId) !== -1\r\n );\r\n\r\n this.store.dispatch(\r\n SetInsuranceDetailsToReduceAction({ insurances: insuranceToReduce })\r\n );\r\n }\r\n\r\n cancelReducingInsurance() {\r\n this.store.dispatch(SetInsuranceDetailsToReduceAction({ insurances: [] }));\r\n }\r\n\r\n cancelCancellingInsurance() {\r\n this.store.dispatch(SetInsuranceDetailsToCancelAction({ insurances: [] }));\r\n }\r\n\r\n async submitInsuranceToCancel(insuranceToCancel: InsuranceCancelForm[]) {\r\n const submission = {\r\n insurances: insuranceToCancel.map((insurance) => ({\r\n insuranceId: insurance.insuranceId,\r\n originalAmount: insurance.amount,\r\n details: insurance.covers\r\n .filter((x) => x.checkbox)\r\n .map(\r\n (coverType) =>\r\n ({\r\n insuranceCoverTypeDetailId:\r\n coverType.insuranceCoverTypeDetailId,\r\n newAmount: 0,\r\n } as InsuranceCoverTypeDetailsUpdateModel)\r\n ),\r\n })),\r\n } as InsuranceUpdateSubmissionModel;\r\n\r\n var account = await this.helper.getValue(this.selectedAccount$);\r\n\r\n this.store.dispatch(\r\n SubmitInsuranceToCancelAction({\r\n accountId: account.accountId,\r\n submission,\r\n })\r\n );\r\n }\r\n\r\n async submitInsuranceToReduce(insuranceToReduce: InsuranceReduceForm[]) {\r\n const submission = {\r\n insurances: insuranceToReduce.map((insurance) => ({\r\n insuranceId: insurance.insuranceId,\r\n originalAmount: insurance.amount,\r\n details: insurance.covers.map(\r\n (coverType) =>\r\n ({\r\n insuranceCoverTypeDetailId: coverType.insuranceCoverTypeDetailId,\r\n newAmount: coverType.newAmount,\r\n } as InsuranceCoverTypeDetailsUpdateModel)\r\n ),\r\n })),\r\n } as InsuranceUpdateSubmissionModel;\r\n\r\n var account = await this.helper.getValue(this.selectedAccount$);\r\n\r\n this.store.dispatch(\r\n SubmitInsuranceToReduceAction({\r\n accountId: account.accountId,\r\n submission,\r\n })\r\n );\r\n }\r\n\r\n trackByFn(index, item) {\r\n return index;\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n\r\n 767,\r\n 'flex-column-reverse': screenWidth < 768\r\n }\"\r\n class=\"d-flex flex-wrap mt-4\"\r\n >\r\n
\r\n \r\n
\r\n 767,\r\n 'flex-column-reverse': screenWidth < 768\r\n }\"\r\n class=\"d-flex\"\r\n >\r\n 767\r\n }\"\r\n color=\"{{\r\n 'BTN.insurance-update.reduce-cover.color' | translate\r\n }}\"\r\n [isDisabled]=\"\r\n insuranceNotSelected(initialForm.controls.insuranceItems.value)\r\n \"\r\n (onClick)=\"reduceCover(initialForm.controls.insuranceItems.value)\"\r\n >\r\n \r\n
\r\n \r\n \r\n \r\n\r\n \r\n 0\">\r\n
\r\n \r\n
\r\n

\r\n You have selected the following insurance covers to be reduced:\r\n

\r\n\r\n \r\n

\r\n {{ insurance.value.description }} (Cover Amount -\r\n {{ insurance.value.amount | currency }})\r\n

\r\n \r\n

{{ cover.value.coverType }}

\r\n \r\n \r\n
\r\n \r\n\r\n

Please confirm -

\r\n
    \r\n
  • \r\n I understand that reduction of cover will be effective from the\r\n date my instruction is received.\r\n
  • \r\n
  • \r\n If I hold Standard Cover and have elected to reduce my cover\r\n amount (sum insured), my remaining cover will be changed to\r\n Fixed Cover.\r\n
  • \r\n
  • \r\n I understand that my premiums will be adjusted in accordance\r\n with the requested change.\r\n
  • \r\n
  • \r\n I understand that if I reduce my insurance cover(s), any\r\n applications for additional cover in the future will be subject\r\n to insurer approval and will need a complete health statement.\r\n
  • \r\n
  • \r\n Before making an election to reduce my cover, I have considered\r\n my financial security and insurance needs carefully.\r\n
  • \r\n
\r\n \r\n \r\n 767,\r\n 'flex-column-reverse': screenWidth < 768\r\n }\"\r\n class=\"d-flex flex-wrap mt-4\"\r\n >\r\n
\r\n \r\n
\r\n 767,\r\n 'flex-column-reverse': screenWidth < 768\r\n }\"\r\n class=\"d-flex\"\r\n >\r\n 767\r\n }\"\r\n color=\"{{ 'BTN.insurance-update.back.color' | translate }}\"\r\n [isDisabled]=\"submitting$ | async\"\r\n (onClick)=\"cancelReducingInsurance()\"\r\n >\r\n \r\n \r\n \r\n
\r\n \r\n \r\n\r\n \r\n 0\">\r\n
\r\n \r\n
\r\n

\r\n Please confirm that you would like the following insurance covers\r\n to be cancelled:\r\n

\r\n \r\n

\r\n {{ insurance.value.description }} (Cover Amount -\r\n {{ insurance.value.amount | currency }})\r\n help_outline\r\n

\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n

Please confirm -

\r\n
    \r\n
  • \r\n I understand that cancellation of cover will be effective from\r\n the date my instruction is received.\r\n
  • \r\n
  • \r\n I understand that if I elect to cancel my standard cover within\r\n 30 days of my cover commencing, any premiums paid for that cover\r\n will be refunded to my account.\r\n
  • \r\n
  • \r\n I understand that if I cancel my insurance cover(s), any\r\n applications for cover in the future will be subject to insurer\r\n approval and will need a complete health statement.\r\n
  • \r\n
  • \r\n Before making an election to cancel my cover, I have considered\r\n my financial security and insurance needs carefully.\r\n
  • \r\n
\r\n \r\n \r\n 767,\r\n 'flex-column-reverse': screenWidth < 768\r\n }\"\r\n class=\"d-flex flex-wrap mt-4\"\r\n >\r\n
\r\n \r\n
\r\n 767,\r\n 'flex-column-reverse': screenWidth < 768\r\n }\"\r\n class=\"d-flex\"\r\n >\r\n 767\r\n }\"\r\n color=\"{{ 'BTN.insurance-update.back.color' | translate }}\"\r\n [isDisabled]=\"submitting$ | async\"\r\n (onClick)=\"cancelCancellingInsurance()\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n

\r\n Your insurance change request has been successfully submitted.\r\n

\r\n

\r\n Your request will be reviewed, and you will receive written confirmation\r\n when your insurance cover is\r\n {{ (insuranceToReduce$ | async).length > 0 ? \"reduced\" : \"ceased\" }}.\r\n Requested changes to your insurance cover may not be reflected in the\r\n Member portal straight away.\r\n

\r\n
\r\n >\r\n \r\n
\r\n
\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { ComponentBase } from '../../views/component-base';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AppToolbarOptionsComponent } from '@ifaa-components/ui-components';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { InsuranceUpdateComponent } from 'src/app/modules/shared/components/insurance-update/insurance-update.component';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { TextTransformPipe } from 'src/app/modules/shared/pipes/textTransform';\r\n\r\n@Component({\r\n selector: 'app-insurance-update-view',\r\n templateUrl: './insurance-update-view.component.html',\r\n styleUrls: ['./insurance-update-view.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n AppComponentWrapperComponent,\r\n AppToolbarOptionsComponent,\r\n TextTransformPipe,\r\n InsuranceUpdateComponent,\r\n AnimateCssDirective,\r\n ],\r\n})\r\nexport class InsuranceUpdateViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n constructor(public store: Store, public router: Router) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
{{'Update Insurance' | textTransform}}
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
","import { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { featureKey } from '../../store/shared.reducers';\r\nimport { IInsuranceUpdateHistoryComponentState } from './state';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const insuranceUpdateHistory = createSelector(memberPortalState, (state) => state.insuranceUpdateHistoryComponentState);\r\n\r\nexport const insuranceUpdateHistory_Model = createSelector(\r\n insuranceUpdateHistory,\r\n (state: IInsuranceUpdateHistoryComponentState) => state.model\r\n);\r\n\r\nexport const insuranceUpdateHistory_Filter = createSelector(\r\n insuranceUpdateHistory,\r\n (state: IInsuranceUpdateHistoryComponentState) => state.filter\r\n);\r\n\r\nexport const insuranceUpdateHistory_IsLoading = createSelector(\r\n insuranceUpdateHistory,\r\n (state: IInsuranceUpdateHistoryComponentState) => state.isLoading\r\n);","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { InsuranceChangeRequestHistoryModel } from 'src/app/model/insurance-details.model';\r\nimport { NgClass, NgFor, CurrencyPipe, DatePipe } from '@angular/common';\r\nimport {\r\n MatExpansionPanel,\r\n MatExpansionPanelHeader,\r\n MatExpansionPanelTitle,\r\n} from '@angular/material/expansion';\r\nimport { AnimateCssDirective } from '../../../directives/animatecss.directive';\r\n\r\n@Component({\r\n selector: 'app-insurance-update-history-card',\r\n templateUrl: './insurance-update-history-card.component.html',\r\n styleUrls: ['./insurance-update-history-card.component.scss'],\r\n imports: [\r\n AnimateCssDirective,\r\n NgClass,\r\n MatExpansionPanel,\r\n MatExpansionPanelHeader,\r\n MatExpansionPanelTitle,\r\n NgFor,\r\n CurrencyPipe,\r\n DatePipe,\r\n ],\r\n})\r\nexport class InsuranceUpdateHistoryCardComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n @Input() set details(value: InsuranceChangeRequestHistoryModel) {\r\n this.insuranceUpdateDetails = value;\r\n }\r\n\r\n insuranceUpdateDetails: InsuranceChangeRequestHistoryModel = null;\r\n\r\n constructor(public store: Store) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n getChangeType() {\r\n if (\r\n this.insuranceUpdateDetails?.coverTypes.every((detail) =>\r\n detail.details.every((inner) => inner.amount === 0)\r\n )\r\n ) {\r\n return 'Cancel cover';\r\n }\r\n return 'Reduce cover';\r\n }\r\n}\r\n","
\r\n
\r\n

{{getChangeType()}}

\r\n

\r\n {{insuranceUpdateDetails.caseStatus}}

\r\n
\r\n\r\n \r\n \r\n \r\n

Requested on: {{insuranceUpdateDetails.submittedOn | date:'dd/MM/yyyy, h:mm\r\n a'}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{detail.coverType}}

\r\n
\r\n

{{coverTypeDetail.insuranceCoverTypeDetail}}\r\n {{coverTypeDetail.amount ===\r\n 0 ? ' cover cancelled.' :\r\n ' cover reduced to ' + (coverTypeDetail.amount | currency) + '.'}}

\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { ComponentBase } from '../../../../views/component-base';\r\nimport { AppState } from '../../../../store/app.states';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { memberAccountDropdown_SelectedAccount } from '../member-account-dropdown/selectors';\r\nimport {\r\n IncrementPageAction,\r\n RequestAction,\r\n ResetStateAction,\r\n} from './actions';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n insuranceUpdateHistory_Filter,\r\n insuranceUpdateHistory_IsLoading,\r\n insuranceUpdateHistory_Model,\r\n} from './selectors';\r\nimport { distinctUntilChanged } from 'rxjs';\r\nimport { InsuranceUpdateHistoryFilter } from './state';\r\nimport { NgIf, AsyncPipe, NgFor } from '@angular/common';\r\nimport {\r\n AppButtonComponent,\r\n AppNoItemsComponent,\r\n} from '@ifaa-components/ui-components';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { InsuranceUpdateHistoryCardComponent } from './insurance-update-history-card/insurance-update-history-card.component';\r\nimport { MessageDirective } from '../../directives/message.directive';\r\n\r\n@Component({\r\n selector: 'app-insurance-update-history',\r\n templateUrl: './insurance-update-history.component.html',\r\n styleUrls: ['./insurance-update-history.component.scss'],\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n NgFor,\r\n InsuranceUpdateHistoryCardComponent,\r\n AppButtonComponent,\r\n AppNoItemsComponent,\r\n TranslatePipe,\r\n MessageDirective,\r\n ],\r\n})\r\nexport class InsuranceUpdateHistoryComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n model$ = this.store.pipe(select(insuranceUpdateHistory_Model));\r\n filter$ = this.store.pipe(select(insuranceUpdateHistory_Filter));\r\n isLoading$ = this.store.pipe(select(insuranceUpdateHistory_IsLoading));\r\n\r\n query: InsuranceUpdateHistoryFilter = new InsuranceUpdateHistoryFilter();\r\n accountId: number = 0;\r\n\r\n constructor(\r\n public store: Store,\r\n public appstore: Store,\r\n public router: Router\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.sub = this.selectedAccount$\r\n .pipe(\r\n distinctUntilChanged((x, y) => JSON.stringify(x) === JSON.stringify(y))\r\n )\r\n .subscribe((x) => {\r\n if (x) {\r\n this.accountId = x.accountId;\r\n this.store.dispatch(\r\n RequestAction({ accountId: x.accountId, page: 0 })\r\n );\r\n }\r\n });\r\n\r\n this.sub = this.filter$.subscribe(async (x) => {\r\n if (!this.accountId) return;\r\n if (x) {\r\n if (this.isQueryDifferent(x.value)) {\r\n this.store.dispatch(\r\n RequestAction({\r\n accountId: this.accountId,\r\n page: x.value.currentPage,\r\n })\r\n );\r\n }\r\n }\r\n });\r\n }\r\n\r\n isQueryDifferent(filter: InsuranceUpdateHistoryFilter): boolean {\r\n if (filter.currentPage == -1) return false;\r\n\r\n if (JSON.stringify(this.query) !== JSON.stringify(filter)) {\r\n this.query = filter;\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n this.store.dispatch(ResetStateAction());\r\n }\r\n\r\n goBack() {\r\n this.router.navigate(['/insurance']);\r\n }\r\n\r\n onLoadMore() {\r\n this.store.dispatch(IncrementPageAction());\r\n }\r\n}\r\n","
\r\n
0\">\r\n

Your insurance change history for requests submitted online:

\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n
\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from '../../store/app.states';\r\nimport { ComponentBase } from '../../views/component-base';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AppToolbarOptionsComponent } from '@ifaa-components/ui-components';\r\nimport { AppComponentWrapperComponent } from 'src/app/modules/shared/components/app-component-wrapper/app-component-wrapper.component';\r\nimport { InsuranceUpdateHistoryComponent } from 'src/app/modules/shared/components/insurance-update-history/insurance-update-history.component';\r\nimport { AnimateCssDirective } from 'src/app/modules/shared/directives/animatecss.directive';\r\nimport { TextTransformPipe } from 'src/app/modules/shared/pipes/textTransform';\r\n\r\n@Component({\r\n selector: 'app-insurance-update-history-view',\r\n templateUrl: './insurance-update-history-view.component.html',\r\n styleUrls: ['./insurance-update-history-view.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [\r\n AppComponentWrapperComponent,\r\n AppToolbarOptionsComponent,\r\n TextTransformPipe,\r\n InsuranceUpdateHistoryComponent,\r\n AnimateCssDirective,\r\n ],\r\n})\r\nexport class InsuranceUpdateHistoryViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n constructor(public store: Store, public router: Router) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
{{'Insurance change requests' | textTransform}}
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
","import { UnitPricesComponent } from './views/unit-prices/unit-prices.component';\r\nimport { TransactionsComponent } from './views/transactions/transactions.component';\r\nimport { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { GetTenantDashboard, GetTenantMainLayout, GetTenantNotLoggedInLayout } from './tenant.helper';\r\nimport { PersonalDetailsComponent } from './views/personal-details/personal-details.component';\r\nimport { ChangePasswordComponent } from './views/change-password/change-password.component';\r\nimport { PersonalEditComponent } from './views/personal-edit/personal-edit.component';\r\nimport { BeneficiaryEditComponent } from './views/beneficiary-edit/beneficiary-edit.component';\r\nimport { TransactionListViewComponent } from './views/transaction-list/transaction-list.component';\r\nimport { QuestionnaireViewComponent } from './views/questionnaire/questionnaire-view.component';\r\nimport { ShowQuestionnaireGuardService } from './route-guard/show-questionnaire-guard.service';\r\nimport { InsuranceViewComponent } from './views/insurance-view/insurance-view.component';\r\nimport { RollInViewComponent } from './views/rollin-view/rollin-view.component';\r\nimport { ContributionsViewComponent } from './views/contributions-view/contributions-view.component';\r\nimport { PersonalContributionViewComponent } from './views/personal-contributions-view/personal-contributions-view.component';\r\nimport { AssetsViewComponent } from './views/assets-view/assets-view.component';\r\nimport { MemberStatementsViewComponent } from './views/member-statements/member-statements-view.component';\r\nimport { OtherDocumentsViewComponent } from './views/other-documents/other-documents-view.component';\r\nimport { CalculatorViewComponent } from './views/calculator/calculator-view.component';\r\nimport { BeneficiaryViewComponent } from './views/beneficiary-view/beneficiary-view.component';\r\nimport { ElevatedAccessComponent } from './views/elevated-access/elevated-access.component';\r\nimport { MakeContributionViewComponent } from './views/make-a-contribution-view/make-a-contribution-view.component';\r\nimport { PensionViewComponent } from './views/pension-view/pension-view.component';\r\nimport { InvestmentEditViewComponent } from './views/investment-view/investment-view.component';\r\nimport { AccessYourSuperViewComponent } from './views/access-your-super-view/access-your-super-view.component';\r\nimport { AccessYourSuperCreateComponent } from './views/access-your-super-create/access-your-super-create.component';\r\nimport { UnderlyingInvestmentViewComponent } from './views/underlying-investment-view/underlying-investment-view.component';\r\nimport { MsalGuard, MsalRedirectComponent } from '@azure/msal-angular';\r\nimport { AccountFeatureToggleGuardService } from './route-guard/account-feature-toggle-guard.service';\r\nimport { AccountDataGuardService } from './route-guard/account-data-guard.service';\r\nimport { FeatureToggleName } from './model/feature-toggle-name.model';\r\nimport { MaintenancePageComponent } from './views/maintenance-page/maintenance-page.component';\r\nimport { BlackoutGuardService } from './route-guard/blackout-guard.service';\r\nimport { ErrorPageComponent } from './views/error-page/error-page.component';\r\nimport { ErrorPageGuardService } from './route-guard/error-page-guard.service';\r\nimport { TakeMeWithYouViewComponent } from './views/take-me-with-you-view/take-me-with-you-view.component';\r\nimport { LoginErrorPageComponent } from './views/login/login-error.component';\r\nimport { MsalCheckService } from './route-guard/msal-check.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport { AccessYourSuperUpdateSubmittedComponent } from './modules/shared/components/access-your-super-update-submitted/access-your-super-update-submitted.component';\r\nimport { AccessYourSuperReviewSubmittedComponent } from './views/access-your-super-review-submitted/access-your-super-review-submitted.component';\r\nimport { NoticeOfIntentToClaimTaxDeductionViewComponent } from './views/notice-of-intent-tax-deduction/notifice-of-intent-tax-deduction-view.component';\r\nimport { PensionChangeScheduleViewComponent } from './views/pension-change-schedule-view/pension-change-schedule-view.component';\r\nimport { PensionChangeScheduleRequestsViewComponent } from './views/pension-change-schedule-requests-view/pension-change-schedule-requests-view.component';\r\nimport { InvestmentHistoryViewComponent } from './views/investment-history-view/investment-history-view.component';\r\nimport { StartAPensionCreateComponent } from './views/start-a-pension-create/start-a-pension-create.component';\r\nimport { StartAPensionViewComponent } from './views/start-a-pension/start-a-pension-view.component';\r\nimport { StartAPensionUpdateSubmittedViewComponent } from './views/start-a-pension-update-submitted/start-a-pension-update-submitted-view.component';\r\nimport { InsuranceUpdateViewComponent } from './views/insurance-update-view/insurance-update-view.component';\r\nimport { InsuranceUpdateHistoryViewComponent } from './views/insurance-update-history-view/insurance-update-history-view.component';\r\n\r\nvar routes: Routes = [\r\n {\r\n path: 'verve',\r\n loadChildren: () => import('./modules/verv/verve-routing.module').then(m => m.VerveRoutingModule)\r\n },\r\n {\r\n path: 'cirt',\r\n loadChildren: () => import('./modules/cirt/cirt-routing.module').then(m => m.CIRTRoutingModule)\r\n },\r\n {\r\n path: 'smrt',\r\n loadChildren: () => import('./modules/smrt/smrt-routing.module').then(m => m.SMRTRoutingModule)\r\n },\r\n {\r\n // Needed for handling redirect after login\r\n path: 'auth',\r\n component: MsalRedirectComponent,\r\n },\r\n {\r\n path: 'maintenance',\r\n component: GetTenantNotLoggedInLayout.layout(),\r\n canActivate: [MsalGuard, AccountDataGuardService],\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: MaintenancePageComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: 'error',\r\n component: GetTenantNotLoggedInLayout.layout(),\r\n canActivate: [ErrorPageGuardService],\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: ErrorPageComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: 'fundelevated',\r\n component: GetTenantNotLoggedInLayout.layout(),\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: ElevatedAccessComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: 'adviserelevated',\r\n component: GetTenantNotLoggedInLayout.layout(),\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: ElevatedAccessComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: 'account-error',\r\n canActivate: [MsalCheckService],\r\n component: GetTenantNotLoggedInLayout.layout(),\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: LoginErrorPageComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: '', canActivate: [MsalGuard], children: [\r\n {\r\n path: '',\r\n canActivate: [AccountDataGuardService, BlackoutGuardService],\r\n children: [\r\n {\r\n path: 'change-password',\r\n component: GetTenantMainLayout.mainLayout(),\r\n canActivate: [],\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: ChangePasswordComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: 'dashboard',\r\n component: GetTenantMainLayout.mainLayout(),\r\n canActivate: [],\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: GetTenantDashboard.layout()\r\n }\r\n ]\r\n },\r\n {\r\n path: 'transactions',\r\n component: GetTenantMainLayout.mainLayout(),\r\n canActivate: [],\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: TransactionsComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: 'personal-details',\r\n component: GetTenantMainLayout.mainLayout(),\r\n canActivate: [AccountFeatureToggleGuardService],\r\n data: { flag: [FeatureToggleName.member.personalDetails.view] },\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: PersonalDetailsComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: 'personal-edit',\r\n component: GetTenantMainLayout.mainLayout(),\r\n canActivate: [AccountFeatureToggleGuardService],\r\n data: { flag: [FeatureToggleName.member.personalDetails.update] },\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: PersonalEditComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: 'beneficiaries-edit',\r\n component: GetTenantMainLayout.mainLayout(),\r\n canActivate: [AccountFeatureToggleGuardService],\r\n data: { flag: [FeatureToggleName.member.account.beneficiaries.update] },\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: BeneficiaryEditComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: 'beneficiaries',\r\n component: GetTenantMainLayout.mainLayout(),\r\n canActivate: [AccountFeatureToggleGuardService],\r\n data: { flag: [FeatureToggleName.member.account.beneficiaries.view] },\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: BeneficiaryViewComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: environment.takeMeWithYouUrl,\r\n component: GetTenantMainLayout.mainLayout(),\r\n canActivate: [AccountFeatureToggleGuardService],\r\n data: { flag: [FeatureToggleName.member.account.takeMeWithYou.view] },\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: TakeMeWithYouViewComponent\r\n }\r\n ]\r\n },\r\n\r\n {\r\n path: 'transaction-listing',\r\n component: GetTenantMainLayout.mainLayout(),\r\n canActivate: [AccountFeatureToggleGuardService],\r\n data: { flag: [FeatureToggleName.member.account.transactions.view] },\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: TransactionListViewComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: 'start-questionnaire',\r\n component: GetTenantMainLayout.mainLayout(),\r\n canActivate: [ShowQuestionnaireGuardService, AccountFeatureToggleGuardService],\r\n data: { flag: [FeatureToggleName.member.account.insuranceQuestionnaire.view] },\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: QuestionnaireViewComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: 'insurance',\r\n component: GetTenantMainLayout.mainLayout(),\r\n canActivate: [AccountFeatureToggleGuardService],\r\n data: {\r\n flag: [FeatureToggleName.member.account.insuranceDetails.view,\r\n FeatureToggleName.member.account.insuranceQuestionnaire.view\r\n ]\r\n },\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: InsuranceViewComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: 'insurance/update',\r\n component: GetTenantMainLayout.mainLayout(),\r\n canActivate: [AccountFeatureToggleGuardService],\r\n data: {\r\n flag: [FeatureToggleName.member.account.insuranceDetails.view, FeatureToggleName.member.account.insuranceChangeRequest.view]\r\n },\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: InsuranceUpdateViewComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: 'insurance/change-history',\r\n component: GetTenantMainLayout.mainLayout(),\r\n canActivate: [AccountFeatureToggleGuardService],\r\n data: {\r\n flag: [FeatureToggleName.member.account.insuranceDetails.view, FeatureToggleName.member.account.insuranceChangeRequest.view]\r\n },\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: InsuranceUpdateHistoryViewComponent\r\n }\r\n ]\r\n },\r\n // {\r\n // path: 'switch-investments',\r\n // component: GetTenantMainLayout.mainLayout(),\r\n // canActivate: [],\r\n // children: [\r\n // {\r\n // outlet: 'master',\r\n // path: '',\r\n // component: SwitchInvestmentsViewComponent\r\n // }\r\n // ]\r\n // },\r\n {\r\n path: 'rollin',\r\n component: GetTenantMainLayout.mainLayout(),\r\n canActivate: [AccountFeatureToggleGuardService],\r\n data: { flag: [FeatureToggleName.member.account.rollIn.view] },\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: RollInViewComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: 'contributions',\r\n component: GetTenantMainLayout.mainLayout(),\r\n canActivate: [AccountFeatureToggleGuardService],\r\n data: { flag: [FeatureToggleName.member.account.contributionCapLimits.view] },\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: ContributionsViewComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: 'personal-contributions',\r\n component: GetTenantMainLayout.mainLayout(),\r\n canActivate: [AccountFeatureToggleGuardService],\r\n data: { flag: [FeatureToggleName.member.account.personalContribution.view] },\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: PersonalContributionViewComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: 'make-a-contribution',\r\n component: GetTenantMainLayout.mainLayout(),\r\n canActivate: [AccountFeatureToggleGuardService],\r\n data: { flag: [FeatureToggleName.member.account.makeAContribution.view] },\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: MakeContributionViewComponent\r\n }\r\n ]\r\n },\r\n\r\n {\r\n path: 'view-assets',\r\n component: GetTenantMainLayout.mainLayout(),\r\n canActivate: [AccountFeatureToggleGuardService],\r\n data: { flag: [FeatureToggleName.member.account.underlyingInvestmentView.view] },\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: AssetsViewComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: 'unit-prices',\r\n component: GetTenantMainLayout.mainLayout(),\r\n canActivate: [AccountFeatureToggleGuardService],\r\n data: { flag: [FeatureToggleName.member.unitPriceListing.view] },\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: UnitPricesComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: 'member-statements',\r\n component: GetTenantMainLayout.mainLayout(),\r\n canActivate: [AccountFeatureToggleGuardService],\r\n data: { flag: [FeatureToggleName.member.account.viewStatements.view] },\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: MemberStatementsViewComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: 'other-documents',\r\n component: GetTenantMainLayout.mainLayout(),\r\n canActivate: [AccountFeatureToggleGuardService],\r\n data: { flag: [FeatureToggleName.member.account.otherDocuments.view] },\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: OtherDocumentsViewComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: 'pension-details',\r\n component: GetTenantMainLayout.mainLayout(),\r\n canActivate: [AccountFeatureToggleGuardService],\r\n data: { flag: [FeatureToggleName.member.account.pensionDetails.view] },\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: PensionViewComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: 'pension-details/change-schedule',\r\n component: GetTenantMainLayout.mainLayout(),\r\n canActivate: [AccountFeatureToggleGuardService],\r\n data: { flag: [FeatureToggleName.member.account.changePensionSchedule.view] },\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: PensionChangeScheduleViewComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: 'pension-details/change-schedule/requests',\r\n component: GetTenantMainLayout.mainLayout(),\r\n canActivate: [AccountFeatureToggleGuardService],\r\n data: { flag: [FeatureToggleName.member.account.changePensionSchedule.view] },\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: PensionChangeScheduleRequestsViewComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: 'calculator',\r\n component: GetTenantMainLayout.mainLayout(),\r\n canActivate: [AccountFeatureToggleGuardService],\r\n data: { flag: [FeatureToggleName.member.superCalculator.view] },\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: CalculatorViewComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: 'investment',\r\n component: GetTenantMainLayout.mainLayout(),\r\n canActivate: [AccountFeatureToggleGuardService],\r\n data: { flag: [FeatureToggleName.member.account.manageInvestments.view] },\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: InvestmentEditViewComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: 'investment/switch-history',\r\n component: GetTenantMainLayout.mainLayout(),\r\n canActivate: [AccountFeatureToggleGuardService],\r\n data: { flag: [FeatureToggleName.member.account.manageInvestments.view] },\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: InvestmentHistoryViewComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: environment.underlyingInvestment,\r\n component: GetTenantMainLayout.mainLayout(),\r\n canActivate: [AccountFeatureToggleGuardService],\r\n data: { flag: [FeatureToggleName.member.account.underlyingInvestmentSummary.view] },\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: UnderlyingInvestmentViewComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: 'access-your-super',\r\n component: GetTenantMainLayout.mainLayout(),\r\n canActivate: [AccountFeatureToggleGuardService],\r\n data: { flag: [FeatureToggleName.member.account.accessYourSuper.view] },\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: AccessYourSuperViewComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: 'access-your-super/create-application',\r\n component: GetTenantMainLayout.mainLayout(),\r\n canActivate: [AccountFeatureToggleGuardService],\r\n data: { flag: [FeatureToggleName.member.account.accessYourSuper.view] },\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: AccessYourSuperCreateComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: 'access-your-super/review',\r\n component: GetTenantMainLayout.mainLayout(),\r\n canActivate: [AccountFeatureToggleGuardService],\r\n data: { flag: [FeatureToggleName.member.account.accessYourSuper.view] },\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: AccessYourSuperReviewSubmittedComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: 'claim-a-tax-deduction',\r\n component: GetTenantMainLayout.mainLayout(),\r\n canActivate: [AccountFeatureToggleGuardService],\r\n data: { flag: [FeatureToggleName.member.account.intentToClaimTaxDeduction.view] },\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: NoticeOfIntentToClaimTaxDeductionViewComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: 'start-a-pension',\r\n component: GetTenantMainLayout.mainLayout(),\r\n canActivate: [AccountFeatureToggleGuardService],\r\n data: { flag: [FeatureToggleName.member.account.startAPension.view] },\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: StartAPensionViewComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: 'start-a-pension/create-application',\r\n component: GetTenantMainLayout.mainLayout(),\r\n canActivate: [AccountFeatureToggleGuardService],\r\n data: { flag: [FeatureToggleName.member.account.startAPension.view] },\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: StartAPensionCreateComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: 'start-a-pension/review',\r\n component: GetTenantMainLayout.mainLayout(),\r\n canActivate: [AccountFeatureToggleGuardService],\r\n data: { flag: [FeatureToggleName.member.account.startAPension.view] },\r\n children: [\r\n {\r\n outlet: 'master',\r\n path: '',\r\n component: StartAPensionUpdateSubmittedViewComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: '**',\r\n redirectTo: '/dashboard'\r\n }\r\n\r\n ]\r\n }\r\n ],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, {\r\n //initialNavigation:'enabled',\r\n anchorScrolling: 'enabled'\r\n })],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { MsalService } from '@azure/msal-angular';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { ComponentBase } from 'src/app/views/component-base';\r\nimport { commomState_SystemConfig_Config } from 'src/app/store/common/common.selectors';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { AppButtonComponent } from '@ifaa-components/ui-components';\r\n\r\n@Component({\r\n selector: 'are-you-still-there',\r\n templateUrl: './are-you-still-there.component.html',\r\n styleUrls: ['./are-you-still-there.component.scss'],\r\n host: {\r\n class: 'w-100',\r\n },\r\n imports: [AppButtonComponent],\r\n})\r\nexport class AreYouStillThereDialog\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n tenantConfig$ = this.store.pipe(select(commomState_SystemConfig_Config));\r\n tenantCode: string = null;\r\n\r\n constructor(\r\n public store: Store,\r\n private authService: MsalService,\r\n public dialogRef: MatDialogRef\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.sub = this.tenantConfig$.subscribe((x) => {\r\n this.tenantCode = x.fundCode.toLowerCase();\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n stillThere() {\r\n this.dialogRef.close();\r\n }\r\n\r\n logout() {\r\n this.authService.logout();\r\n }\r\n}\r\n","
\r\n

Hey! Are you still there?

\r\n

Your security is important to us. If you do not respond within 10 minutes you will be automatically logged\r\n out.

\r\n
\r\n \r\n \r\n
\r\n
","import { featureKey } from './../../store/shared.reducers';\r\nimport { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { IChatViewState } from './state';\r\n\r\nexport const memberPortalState = createFeatureSelector(featureKey);\r\n\r\nexport const getChatView = createSelector(memberPortalState, (state) => state.chatViewState);\r\n\r\nexport const getChat_Model = createSelector(\r\n getChatView,\r\n (state: IChatViewState) => state.model\r\n);\r\n\r\n\r\nexport const getChat_IsChatOpened = createSelector(\r\n getChatView,\r\n (state: IChatViewState) => state.isChatOpened\r\n);\r\n\r\nexport const getChat_Form = createSelector(\r\n getChatView,\r\n (state: IChatViewState) => state.form\r\n);\r\n\r\nexport const getChat_LastUpdated = createSelector(\r\n getChatView,\r\n (state: IChatViewState) => state.lastUpdated\r\n);\r\n\r\nexport const getChat_ChatLoaded = createSelector(\r\n getChatView,\r\n (state: IChatViewState) => state.loaded\r\n);\r\n","import { environment } from './../../../../../environments/environment';\r\nimport {\r\n AppButtonComponent,\r\n EntryTextAreaFieldComponent,\r\n Helper,\r\n} from '@ifaa-components/ui-components';\r\nimport { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport {\r\n AddMessageAction,\r\n ChatLoadedAction,\r\n ClearChatFormAction,\r\n RequestAction,\r\n RequestDeleteChatAction,\r\n RequestNewChatAction,\r\n ToggleChatAction,\r\n} from './actions';\r\nimport { ComponentBase } from '../../../../views/component-base';\r\nimport { MemberPortalSharedState } from '../../store/shared.states';\r\nimport { memberAccountDropdown_SelectedAccount } from '../member-account-dropdown/selectors';\r\nimport {\r\n getChat_ChatLoaded,\r\n getChat_Form,\r\n getChat_IsChatOpened,\r\n getChat_LastUpdated,\r\n getChat_Model,\r\n} from './selectors';\r\nimport {\r\n createFormControlState,\r\n FormControlState,\r\n NgrxFormsModule,\r\n} from 'ngrx-forms';\r\nimport { ConversationHistoryModel, TwilioChatModel } from './state';\r\nimport { commomState_LoggedinInfo } from 'src/app/store/common/common.selectors';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { NgIf, AsyncPipe, DatePipe, NgFor } from '@angular/common';\r\nimport { MatBadge } from '@angular/material/badge';\r\nimport { MatMiniFabButton } from '@angular/material/button';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { InputScrollDirective } from '../../directives/input-scroll.directive';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\ndeclare var Twilio;\r\n\r\n@Component({\r\n selector: 'app-chat-view',\r\n templateUrl: './chat-view.component.html',\r\n styleUrls: ['./chat-view.component.scss'],\r\n imports: [\r\n NgIf,\r\n AsyncPipe,\r\n MatIcon,\r\n DatePipe,\r\n NgFor,\r\n NgrxFormsModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n EntryTextAreaFieldComponent,\r\n InputScrollDirective,\r\n AppButtonComponent,\r\n MatMiniFabButton,\r\n MatBadge,\r\n ],\r\n})\r\nexport class ChatViewComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n model$ = this.store.pipe(select(getChat_Model));\r\n isChatOpened$ = this.store.pipe(select(getChat_IsChatOpened));\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n loggedinInfo$ = this.appStore.pipe(select(commomState_LoggedinInfo));\r\n lastUpdated$ = this.appStore.pipe(select(getChat_LastUpdated));\r\n chatLoaded$ = this.appStore.pipe(select(getChat_ChatLoaded));\r\n form$ = this.store.pipe(select(getChat_Form));\r\n control: FormControlState = createFormControlState(\r\n 'customChatid',\r\n ''\r\n );\r\n helper = new Helper();\r\n conversation: any = null;\r\n client: any = null;\r\n memberNumber = '';\r\n channelSid: string = '';\r\n init = false;\r\n newDate = new Date();\r\n conversationStatus = '';\r\n isTyping = false;\r\n isWaitingAgent = false;\r\n unreadMessages = 0;\r\n outOfHours = false;\r\n @ViewChild('chat') chat: ElementRef;\r\n @ViewChild('messages') messages: ElementRef;\r\n users = new Map();\r\n constructor(\r\n public store: Store,\r\n public appStore: Store\r\n ) {\r\n super();\r\n }\r\n\r\n async ngOnInit() {\r\n super.ngOnInitBase();\r\n\r\n this.dispatch(this.store, ChatLoadedAction());\r\n this.dispatch(this.store, RequestAction());\r\n this.sub = this.isChatOpened$.subscribe(async (x) => {\r\n if (x) {\r\n this.unreadMessages = 0;\r\n\r\n if (this.conversation) {\r\n if (this.conversation.state.current == 'closed') return;\r\n\r\n await this.conversation.setAllMessagesRead();\r\n }\r\n setTimeout(() => {\r\n this.messages.nativeElement.scrollTo({\r\n left: 0,\r\n top: this.messages.nativeElement.scrollHeight,\r\n behavior: 'smooth',\r\n });\r\n }, 100);\r\n }\r\n });\r\n this.sub = this.loggedinInfo$.subscribe((x) => {\r\n if (x) {\r\n this.memberNumber = environment.code + '-' + x.memberNumber;\r\n }\r\n });\r\n this.sub = this.lastUpdated$.subscribe(async (x) => {\r\n if (x) {\r\n await this.setupConversation();\r\n }\r\n });\r\n this.sub = this.model$.subscribe(async (x) => {\r\n if (x && x.twilioToken && !this.init) {\r\n this.init = true;\r\n this.channelSid = x.twilioChannel;\r\n await this.setupConversation();\r\n }\r\n });\r\n }\r\n\r\n async setupConversation() {\r\n var model = await this.helper.getValue(this.model$);\r\n\r\n this.client = new Twilio.Conversations.Client(model.twilioToken);\r\n this.client.on('initialized', async (z) => {\r\n this.conversation = await this.client.peekConversationBySid(\r\n this.channelSid\r\n );\r\n\r\n if (this.conversation.state.current == 'closed') return;\r\n\r\n var unread = (await this.conversation.getUnreadMessagesCount()) ?? 0;\r\n\r\n var isChatOpened = await this.helper.getValue(this.isChatOpened$);\r\n\r\n if (unread > 0 && !isChatOpened) {\r\n this.unreadMessages = unread;\r\n }\r\n\r\n this.conversationStatus = this.conversation.state.current;\r\n if (this.conversation.state.current == 'active') {\r\n var countP = await this.conversation.getParticipants();\r\n this.isWaitingAgent = countP.length == 1;\r\n }\r\n this.conversation.on('updated', ({ conversation, updateReasons }) => {\r\n this.conversationStatus = this.conversation.state.current;\r\n });\r\n\r\n this.conversation.on('typingStarted', this.typingStarted);\r\n\r\n this.conversation.on('participantJoined', (data) => {\r\n this.isWaitingAgent = false;\r\n });\r\n\r\n this.conversation.on('typingEnded', () => {\r\n this.isTyping = false;\r\n });\r\n\r\n this.conversation.on('messageAdded', async (message) =>\r\n this.messageAdded(message)\r\n );\r\n\r\n setTimeout(() => {\r\n this.messages.nativeElement.scrollTo({\r\n left: 0,\r\n top: this.messages.nativeElement.scrollHeight,\r\n behavior: 'smooth',\r\n });\r\n }, 500);\r\n });\r\n\r\n this.client.on('initFailed', ({ error }) => {\r\n var dd = '';\r\n });\r\n }\r\n async messageAdded(message: any) {\r\n var isChatOpened = await this.helper.getValue(this.isChatOpened$);\r\n if (isChatOpened) {\r\n await this.conversation.setAllMessagesRead();\r\n } else {\r\n this.unreadMessages++;\r\n }\r\n\r\n var participants = this.conversation._participants.size;\r\n this.isWaitingAgent = participants == 1;\r\n var author = '';\r\n var checkUser = this.users.get(message.author);\r\n this.outOfHours = false;\r\n if (!checkUser) {\r\n if (message.attributes?.autoreply == 'true') {\r\n author = 'Bot';\r\n this.outOfHours = true;\r\n this.appStore.dispatch(RequestDeleteChatAction());\r\n this.conversationStatus = 'inactive';\r\n } else {\r\n var u = await this.client.getUser(message.author);\r\n this.users.set(message.author, u.friendlyName);\r\n author = u.friendlyName ?? '';\r\n }\r\n } else {\r\n author = checkUser;\r\n }\r\n var m = {\r\n author:\r\n message.author.toLowerCase() == this.memberNumber.toLowerCase()\r\n ? 'You'\r\n : author,\r\n isMemberMessage:\r\n message.author.toLowerCase() == this.memberNumber.toLowerCase(),\r\n body: message.body,\r\n date: message.dateCreated.toString(),\r\n } as ConversationHistoryModel;\r\n this.store.dispatch(AddMessageAction({ payload: m }));\r\n setTimeout(() => {\r\n this.messages.nativeElement.scrollTo({\r\n left: 0,\r\n top: this.messages.nativeElement.scrollHeight,\r\n behavior: 'smooth',\r\n });\r\n }, 100);\r\n }\r\n typingStarted() {\r\n this.isTyping = true;\r\n }\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n if (this.conversation) {\r\n this.conversation = null;\r\n }\r\n }\r\n\r\n async onEntryButtonClick() {\r\n var isOpened = await this.helper.getValue(this.isChatOpened$);\r\n if (isOpened) {\r\n this.chat.nativeElement.classList.remove('animate__backInRight');\r\n this.chat.nativeElement.classList.add('animate__backOutRight');\r\n setTimeout(() => {\r\n this.store.dispatch(ToggleChatAction());\r\n }, 500);\r\n } else {\r\n this.chat.nativeElement.classList.add('animate__backInRight');\r\n this.chat.nativeElement.classList.remove('animate__backOutRight');\r\n this.store.dispatch(ToggleChatAction());\r\n }\r\n }\r\n\r\n onSubmitClick(text: TwilioChatModel) {\r\n if (text) {\r\n try {\r\n this.conversation.sendMessage(text.message);\r\n this.dispatch(this.store, ClearChatFormAction());\r\n } catch (e) {\r\n var df = e;\r\n }\r\n }\r\n }\r\n\r\n onStartNewChatClick() {\r\n this.init = false;\r\n this.store.dispatch(RequestNewChatAction());\r\n }\r\n}\r\n","
\r\n\r\n
\r\n
\r\n
\r\n question_answer\r\n\r\n Live chat\r\n
\r\n
\r\n \r\n
    \r\n\r\n
  • \r\n
    \r\n support_agent\r\n
    \r\n
    \r\n
    \r\n

    Agent

    \r\n \r\n
    \r\n
    \r\n

    How can I help you today?

    \r\n
    \r\n\r\n
    \r\n
  • \r\n
\r\n
    0\">\r\n\r\n
  • \r\n
    \r\n support_agent\r\n person\r\n
    \r\n
    \r\n
    \r\n

    {{item.author}}\r\n verified\r\n

    \r\n \r\n
    \r\n
    \r\n

    \r\n
    \r\n\r\n
    \r\n
  • \r\n\r\n
  • \r\n
    \r\n question_answer\r\n
    \r\n
    \r\n
    \r\n

    Chat closed

    \r\n \r\n
    \r\n
    \r\n
  • \r\n\r\n
  • \r\n
    \r\n hourglass_top\r\n
    \r\n
    \r\n
    \r\n

    Waiting for an Agent to join...

    \r\n \r\n
    \r\n
    \r\n
  • \r\n\r\n
\r\n
\r\n
\r\n more_horiz\r\n Agent is typing\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { OnDestroy } from '@angular/core';\r\nimport { ComponentBase } from '../../../../views/component-base';\r\nimport { AppState } from 'src/app/store/app.states';\r\nimport { Router } from '@angular/router';\r\nimport { NgIf } from '@angular/common';\r\nimport { MatIcon } from '@angular/material/icon';\r\n\r\n@Component({\r\n selector: 'app-elevated-access-banner',\r\n templateUrl: './elevated-access-banner.component.html',\r\n styleUrls: ['./elevated-access-banner.component.scss'],\r\n imports: [NgIf, MatIcon],\r\n})\r\nexport class ElevatedAccessBannerComponent\r\n extends ComponentBase\r\n implements OnInit, OnDestroy\r\n{\r\n displayClose = false;\r\n constructor(public store: Store, private router: Router) {\r\n super();\r\n }\r\n\r\n inIframe() {\r\n try {\r\n return window.self !== window.top;\r\n } catch (e) {\r\n return true;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.displayClose = !this.inIframe();\r\n super.ngOnInitBase();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroyBase();\r\n }\r\n\r\n onCloseClick() {\r\n window.close();\r\n }\r\n}\r\n","
\r\n
\r\n
Elevated access
\r\n
\r\n close\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Inject, OnDestroy, inject } from '@angular/core';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { Subject } from 'rxjs';\r\nimport { AppState } from './store/app.states';\r\nimport { NavigationEnd, Router, RouterOutlet } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport {\r\n SetSiteError,\r\n RequestMemberDataAction,\r\n SetIsAdviserElevatedAccessAction,\r\n SetIsFundElevatedAccessAction,\r\n SystemConfigurationRequestAction,\r\n} from './store/common/common.actions';\r\nimport { OverlayContainer } from '@angular/cdk/overlay';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { memberAccountDropdown_SelectedAccount } from './modules/shared/components/member-account-dropdown/selectors';\r\nimport { ShowQuestionnaireRequestAction } from './modules/shared/components/insurance-questionnaire/actions';\r\nimport {\r\n commomState_ElevatedAccess,\r\n commomState_LoggedinInfo,\r\n commomState_SystemConfig_Config,\r\n commomState_SystemConfig_FeatureToggle,\r\n commonState_SystemConfig_AccountFeatureToggles,\r\n commonState_SystemConfig_SiteError,\r\n} from './store/common/common.selectors';\r\nimport { distinctUntilChanged, filter, takeUntil } from 'rxjs/operators';\r\nimport { environment } from '../environments/environment';\r\nimport { IdTokenClaims } from '@azure/msal-common';\r\nimport { EventMessage, EventType } from '@azure/msal-browser';\r\nimport {\r\n MsalService,\r\n MsalBroadcastService,\r\n MSAL_GUARD_CONFIG,\r\n MsalGuardConfiguration,\r\n} from '@azure/msal-angular';\r\nimport { FeatureToggleName } from './model/feature-toggle-name.model';\r\nimport {\r\n FeatureToggleCheckService,\r\n FeatureToggleHelper,\r\n} from './helper/featureToggleHelper';\r\nimport {\r\n AppInjector,\r\n Helper,\r\n TenantService,\r\n UserServiceConfig,\r\n} from '@ifaa-components/ui-components';\r\nimport { AsyncPipe, DOCUMENT, NgIf } from '@angular/common';\r\nimport { combineLatest } from 'rxjs';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { Idle, DEFAULT_INTERRUPTSOURCES } from '@ng-idle/core';\r\nimport { AreYouStillThereDialog } from './modules/shared/components/are-you-still-there-dialog/are-you-still-there.component';\r\nimport { ChatViewComponent } from './modules/shared/components/chat/chat-view.component';\r\nimport { ElevatedAccessBannerComponent } from './modules/shared/components/elevated-access-banner/elevated-access-banner.component';\r\nimport { ResetSelectedAccountDataAction } from './modules/shared/components/member-account-dropdown/actions';\r\n\r\ndeclare const window: any;\r\n\r\ntype IdTokenClaimsWithPolicyId = IdTokenClaims & {\r\n acr?: string;\r\n tfp?: string;\r\n};\r\n\r\ntype MsalPayload = {\r\n idTokenClaims: {\r\n extension_Role: string;\r\n };\r\n};\r\n\r\ndeclare var gtag;\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss'],\r\n imports: [\r\n NgIf,\r\n ElevatedAccessBannerComponent,\r\n RouterOutlet,\r\n ChatViewComponent,\r\n AsyncPipe,\r\n ],\r\n})\r\nexport class AppComponent implements OnInit, OnDestroy {\r\n title = 'member-portal';\r\n featuretoggle$ = this.store.pipe(\r\n select(commomState_SystemConfig_FeatureToggle)\r\n );\r\n updateTraditionalPlaceName =\r\n FeatureToggleName.member.personalDetails.addressTraditionalPlaceName.update;\r\n\r\n selectedAccount$ = this.store.pipe(\r\n select(memberAccountDropdown_SelectedAccount)\r\n );\r\n favIcon: HTMLLinkElement = document.querySelector('#appIcon');\r\n tenantConfig$ = this.store.pipe(select(commomState_SystemConfig_Config));\r\n loggedinInfo$ = this.store.pipe(select(commomState_LoggedinInfo));\r\n resetChat = null;\r\n showChat = false;\r\n code = environment.code;\r\n accountFeatureToggles$ = this.store.pipe(\r\n select(commonState_SystemConfig_AccountFeatureToggles)\r\n );\r\n siteError$ = this.store.pipe(select(commonState_SystemConfig_SiteError));\r\n isElevatedAccess$ = this.store.pipe(select(commomState_ElevatedAccess));\r\n hasError = false;\r\n dynamicCSSUrl: string;\r\n private readonly _destroying$ = new Subject();\r\n featureToggleHelper = new FeatureToggleHelper();\r\n helper = new Helper();\r\n redirectToDashboard = false;\r\n showQuestionnaireFeatureToggle =\r\n FeatureToggleName.member.account.insuranceQuestionnaire.view;\r\n twilioChatFeatureToggle = FeatureToggleName.member.twilioChat.view;\r\n areYouStillThereRef: MatDialogRef = null;\r\n toggleCheck: FeatureToggleCheckService;\r\n twilioConversationsLoaded = false;\r\n constructor(\r\n @Inject(MSAL_GUARD_CONFIG) private msalGuardConfig: MsalGuardConfiguration,\r\n private authService: MsalService,\r\n private msalBroadcastService: MsalBroadcastService,\r\n public store: Store,\r\n @Inject(DOCUMENT) private doc: any,\r\n public translate: TranslateService,\r\n public sanitizer: DomSanitizer,\r\n public tenantService: TenantService,\r\n private router: Router,\r\n private overlayContainer: OverlayContainer,\r\n public dialog: MatDialog,\r\n private idle: Idle\r\n ) {\r\n this.toggleCheck = inject(FeatureToggleCheckService);\r\n\r\n translate.addLangs(['en', 'en.' + environment.code]);\r\n translate.setDefaultLang('en');\r\n translate.use('en.' + environment.code);\r\n this.overlayContainer.getContainerElement().classList.add('dark-theme');\r\n this.dynamicCSSUrl = '/modules/dynamic.css';\r\n }\r\n\r\n onActivate(event) {\r\n setTimeout(() => {\r\n window.scroll({\r\n top: 0,\r\n left: 0,\r\n behavior: 'smooth',\r\n });\r\n }, 800);\r\n }\r\n\r\n displayMessage(evt) {\r\n if (evt.data.action == 'elevatedAccessClearData') {\r\n sessionStorage.clear();\r\n localStorage.clear();\r\n }\r\n }\r\n\r\n openAreYouStillThere() {\r\n this.areYouStillThereRef = this.dialog.open(AreYouStillThereDialog, {\r\n width: '700px',\r\n });\r\n\r\n this.areYouStillThereRef.afterClosed().subscribe(() => {\r\n this.areYouStillThereRef = null;\r\n });\r\n }\r\n\r\n async ngOnInit(): Promise {\r\n if (window.addEventListener) {\r\n window.addEventListener('message', this.displayMessage, false);\r\n }\r\n\r\n this.selectedAccount$.pipe(takeUntil(this._destroying$)).subscribe((x) => {\r\n if (x) {\r\n this.store.dispatch(RequestMemberDataAction());\r\n }\r\n });\r\n\r\n combineLatest([this.selectedAccount$, this.loggedinInfo$])\r\n .pipe(\r\n takeUntil(this._destroying$),\r\n distinctUntilChanged(\r\n (prev, curr) => prev?.[0]?.accountId === curr?.[0]?.accountId\r\n )\r\n )\r\n .subscribe(async (x) => {\r\n if (x) {\r\n if (x[0]) localStorage.removeItem('login-error');\r\n\r\n var featureToggles = await this.helper.getValue(\r\n this.accountFeatureToggles$\r\n );\r\n\r\n if (\r\n this.featureToggleHelper.checkToggle(\r\n this.showQuestionnaireFeatureToggle,\r\n featureToggles,\r\n x[0]\r\n )\r\n ) {\r\n this.store.dispatch(\r\n ShowQuestionnaireRequestAction({ accountId: x[0].accountId })\r\n );\r\n }\r\n\r\n var show = false;\r\n\r\n var toggle = this.featureToggleHelper.checkToggle(\r\n this.twilioChatFeatureToggle,\r\n featureToggles,\r\n x[0],\r\n false\r\n );\r\n\r\n if (x[1] && x[1].username && toggle === true) {\r\n show = true;\r\n }\r\n\r\n if (show && !this.twilioConversationsLoaded) {\r\n this.twilioConversationsLoaded = true;\r\n this.helper.loadScript(\r\n 'https://media.twiliocdn.com/sdk/js/conversations/v2.2/twilio-conversations.min.js',\r\n () => {\r\n this.showChat = true;\r\n }\r\n );\r\n }\r\n\r\n // set the idle (60 mins) and timeout (10 mins) and start watching\r\n this.idle.setIdle(3600);\r\n this.idle.setTimeout(600);\r\n this.idle.watch();\r\n }\r\n });\r\n\r\n this.tenantConfig$.pipe(takeUntil(this._destroying$)).subscribe((x) => {\r\n if (!x) {\r\n this.store.dispatch(SystemConfigurationRequestAction());\r\n } else {\r\n this.favIcon.href = x.favIcon;\r\n this.tenantService.tenantEmail = x.email;\r\n this.tenantService.tenantPhone = x.phoneNumber;\r\n }\r\n });\r\n\r\n combineLatest([this.selectedAccount$, this.featuretoggle$])\r\n .pipe(\r\n takeUntil(this._destroying$),\r\n distinctUntilChanged(\r\n (prev, curr) => prev?.[0]?.accountId === curr?.[0]?.accountId\r\n )\r\n )\r\n .subscribe(async (x) => {\r\n if (x[0] && x[1]) {\r\n var uiComponentConfig = AppInjector.get(UserServiceConfig);\r\n this.toggleCheck.checkToggle(\r\n this._destroying$,\r\n this.updateTraditionalPlaceName,\r\n (enabled) => {\r\n uiComponentConfig.showAddressTraditionalPlaceName = enabled;\r\n },\r\n false\r\n );\r\n }\r\n });\r\n\r\n this.siteError$.pipe(takeUntil(this._destroying$)).subscribe(async (x) => {\r\n if (x) {\r\n await this.router.navigate(['/error']);\r\n }\r\n });\r\n\r\n this.setupGoogleTagManager();\r\n\r\n this.msalBroadcastService.msalSubject$\r\n .pipe(\r\n filter(\r\n (msg: EventMessage) =>\r\n msg.eventType === EventType.LOGIN_FAILURE ||\r\n msg.eventType === EventType.ACQUIRE_TOKEN_FAILURE\r\n ),\r\n takeUntil(this._destroying$)\r\n )\r\n .subscribe((result: EventMessage) => {\r\n if ((result.error as any)?.errorCode == 'popup_window_error') {\r\n localStorage.setItem('login-error-popup-block', 'true');\r\n alert('Please enable popups to continue with authentication');\r\n this.hasError = true;\r\n return;\r\n }\r\n\r\n if (result.eventType === EventType.ACQUIRE_TOKEN_FAILURE) {\r\n this.authService.logout();\r\n }\r\n\r\n if (result.eventType === EventType.LOGIN_FAILURE) {\r\n if ((result.error as any)?.errorCode == 'no_cached_authority_error') {\r\n location.reload();\r\n return;\r\n }\r\n\r\n // server error from msal\r\n if (result.error.message.indexOf('server_error: AADB2C:') == -1) {\r\n this.store.dispatch(SetSiteError({ error: true }));\r\n this.router.navigate(['/error']);\r\n return;\r\n }\r\n\r\n this.hasError = true;\r\n }\r\n });\r\n\r\n this.msalBroadcastService.msalSubject$\r\n .pipe(\r\n filter(\r\n (msg: EventMessage) => msg.eventType === EventType.HANDLE_REDIRECT_END\r\n ),\r\n takeUntil(this._destroying$)\r\n )\r\n .subscribe((result: EventMessage) => {\r\n if (this.hasError) {\r\n localStorage.setItem('login-error', 'Unauthorized');\r\n this.router.navigate(['/account-error']);\r\n }\r\n this.hasError = false;\r\n });\r\n\r\n this.msalBroadcastService.msalSubject$\r\n .pipe(\r\n filter(\r\n (msg: EventMessage) =>\r\n msg.eventType === EventType.LOGIN_SUCCESS ||\r\n msg.eventType === EventType.ACQUIRE_TOKEN_SUCCESS\r\n ),\r\n takeUntil(this._destroying$)\r\n )\r\n .subscribe(async (result: EventMessage) => {\r\n var msalResult = result.payload as MsalPayload;\r\n\r\n localStorage.removeItem('login-error-popup-block');\r\n\r\n var role = msalResult?.idTokenClaims?.extension_Role;\r\n if (role) {\r\n if (role === 'Elevated') {\r\n this.store.dispatch(\r\n SetIsFundElevatedAccessAction({ isElevated: true })\r\n );\r\n } else if (role === 'AdviserElevated') {\r\n this.store.dispatch(\r\n SetIsAdviserElevatedAccessAction({ isElevated: true })\r\n );\r\n }\r\n }\r\n\r\n if (\r\n sessionStorage.getItem('login-type') === 'Elevated' &&\r\n !this.redirectToDashboard\r\n ) {\r\n this.redirectToDashboard = true;\r\n this.router.navigate(['/dashboard']);\r\n }\r\n });\r\n\r\n this.msalBroadcastService.msalSubject$\r\n .pipe(\r\n filter(\r\n (msg: EventMessage) => msg.eventType === EventType.LOGOUT_SUCCESS\r\n ),\r\n takeUntil(this._destroying$)\r\n )\r\n .subscribe(async (result: EventMessage) => {\r\n this.store.dispatch(ResetSelectedAccountDataAction());\r\n });\r\n\r\n this.idle.setInterrupts(DEFAULT_INTERRUPTSOURCES);\r\n\r\n // On interruption reset the timers\r\n this.idle.onInterrupt.pipe(takeUntil(this._destroying$)).subscribe(() => {\r\n this.idle.setIdle(3600);\r\n this.idle.setTimeout(600);\r\n });\r\n\r\n // Open pop up once member is idle\r\n this.idle.onIdleStart.pipe(takeUntil(this._destroying$)).subscribe(() => {\r\n if (!this.areYouStillThereRef) {\r\n this.openAreYouStillThere();\r\n }\r\n });\r\n\r\n // Logout the member if timeout has been reached\r\n this.idle.onTimeout.pipe(takeUntil(this._destroying$)).subscribe(() => {\r\n let activeAccount = this.authService.instance.getActiveAccount();\r\n if (activeAccount) {\r\n this.authService.logout();\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._destroying$.next(undefined);\r\n this._destroying$.complete();\r\n }\r\n\r\n setupGoogleTagManager() {\r\n if (!environment.ga) return;\r\n\r\n const navEndEvent$ = this.router.events.pipe(\r\n filter((e) => e instanceof NavigationEnd)\r\n );\r\n navEndEvent$\r\n .pipe(takeUntil(this._destroying$))\r\n .subscribe((e: NavigationEnd) => {\r\n gtag('config', environment.ga, { page_path: e.urlAfterRedirects });\r\n });\r\n\r\n const script = document.createElement('script');\r\n script.async = true;\r\n script.src =\r\n 'https://www.googletagmanager.com/gtag/js?id=' + environment.ga;\r\n document.head.prepend(script);\r\n\r\n const s = this.doc.createElement('script');\r\n s.type = 'text/javascript';\r\n s.innerHTML = ` window.dataLayer = window.dataLayer || [];\r\n function gtag(){dataLayer.push(arguments);}\r\n gtag('js', new Date());\r\n gtag('config', '${environment.ga}');`;\r\n\r\n const head = this.doc.getElementsByTagName('head')[0];\r\n head.appendChild(s);\r\n }\r\n}\r\n","\r\n\r\n\r\n","// import { commomState_LoggedinInfo } from './../store/common/common.selectors';\r\nimport { AppState } from './../store/app.states';\r\nimport { Injectable } from '@angular/core';\r\nimport { CanActivate, Router, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { of, Observable } from 'rxjs';\r\nimport { memberAccountDropdown_SelectedAccount } from '../modules/shared/components/member-account-dropdown/selectors';\r\n\r\n@Injectable()\r\nexport class AccumGuardService implements CanActivate {\r\n\r\n selectedAccount$ = this.store.pipe(select(memberAccountDropdown_SelectedAccount));\r\n\r\n constructor(public store: Store,\r\n private router: Router) {\r\n }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean {\r\n return new Observable(obs => {\r\n this.selectedAccount$.subscribe(account => {\r\n if (account && !account.isPensionType) {\r\n obs.next(true);\r\n }\r\n\r\n obs.next(false);\r\n })\r\n });\r\n }\r\n}\r\n","// import { commomState_LoggedinInfo } from './../store/common/common.selectors';\r\nimport { AppState } from './../store/app.states';\r\nimport { Injectable } from '@angular/core';\r\nimport { CanActivate, Router, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { of, Observable } from 'rxjs';\r\nimport { commomState_SystemConfig_FeatureToggle } from '../store/common/common.selectors';\r\nimport { SystemConfigurationRequestAction } from '../store/common/common.actions';\r\n\r\n@Injectable()\r\nexport class FeatureFlagGuardService implements CanActivate {\r\n\r\n featuretoggle$ = this.store.pipe(select(commomState_SystemConfig_FeatureToggle));\r\n\r\n constructor(public store: Store,\r\n private router: Router) {\r\n }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean {\r\n \r\n return new Observable(obs => {\r\n let featureflag = route.data.flag as string;\r\n this.featuretoggle$.subscribe(flag => {\r\n if (!flag){\r\n this.store.dispatch(SystemConfigurationRequestAction());\r\n }\r\n else if (flag?.hasOwnProperty(featureflag) == true && flag[featureflag]) {\r\n obs.next(true);\r\n }\r\n else{\r\n obs.next(false);\r\n }\r\n })\r\n });\r\n }\r\n}\r\n","// import { commomState_LoggedinInfo } from './../store/common/common.selectors';\r\nimport { AppState } from '../store/app.states';\r\nimport { Injectable } from '@angular/core';\r\nimport { CanActivate, Router, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { Observable, combineLatest } from 'rxjs';\r\nimport { commonState_SystemConfig_AccountFeatureToggles } from '../store/common/common.selectors';\r\nimport { memberAccountDropdown_SelectedAccount } from '../modules/shared/components/member-account-dropdown/selectors';\r\nimport { debounceTime, distinctUntilChanged, map, skipWhile } from 'rxjs/operators';\r\nimport { FeatureToggleValue } from '../model/feature-toggle-value.model';\r\nimport { FeatureToggleLevel } from '../model/feature-toggle-level.model';\r\n\r\n@Injectable()\r\nexport class MemberFeatureToggleGuardService implements CanActivate {\r\n\r\n featuretoggle$ = this.store.pipe(select(commonState_SystemConfig_AccountFeatureToggles));\r\n selectedAccount$ = this.store.pipe(select(memberAccountDropdown_SelectedAccount));\r\n\r\n constructor(public store: Store,\r\n private router: Router) {\r\n }\r\n\r\n // This guard is used to protect features which are accessed at a member level and are not specific to account type (update details for e.g)..\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean {\r\n let featureFlag = route.data.flag as string;\r\n return combineLatest([this.featuretoggle$, this.selectedAccount$])\r\n .pipe(\r\n debounceTime(200),\r\n distinctUntilChanged((x, y) => {\r\n if (JSON.stringify(x[1]) !== JSON.stringify(y[1]) ||\r\n JSON.stringify(x[0]) !== JSON.stringify(y[0]))\r\n return false;\r\n\r\n return true;\r\n }),\r\n skipWhile(x => !x[0] || !x[1]),\r\n map(x => {\r\n var globalFlag = x[0].find(flag => flag.level === FeatureToggleLevel.global &&\r\n flag.name === featureFlag &&\r\n flag.value === FeatureToggleValue.available);\r\n\r\n if (!globalFlag) {\r\n this.router.navigate([\"/\"])\r\n return false;\r\n }\r\n else {\r\n return true;\r\n }\r\n })\r\n );\r\n }\r\n}\r\n","// import { commomState_LoggedinInfo } from './../store/common/common.selectors';\r\nimport { AppState } from './../store/app.states';\r\nimport { Injectable } from '@angular/core';\r\nimport { CanActivate, Router, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { of, Observable } from 'rxjs';\r\nimport { memberAccountDropdown_SelectedAccount } from '../modules/shared/components/member-account-dropdown/selectors';\r\n\r\n@Injectable()\r\nexport class PensionGuardService implements CanActivate {\r\n\r\n selectedAccount$ = this.store.pipe(select(memberAccountDropdown_SelectedAccount));\r\n\r\n constructor(public store: Store,\r\n private router: Router) {\r\n }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean {\r\n return new Observable(obs => {\r\n this.selectedAccount$.subscribe(account => {\r\n if (account && account.accountTypeId == 2) {\r\n obs.next(true);\r\n }\r\n\r\n obs.next(false);\r\n })\r\n });\r\n }\r\n}\r\n","// import { commomState_LoggedinInfo } from './../store/common/common.selectors';\r\nimport { AppState } from './../store/app.states';\r\nimport { Injectable } from '@angular/core';\r\nimport { CanActivate, Router, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { of, Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class PermissionGuardService implements CanActivate {\r\n\r\n // loggeinInInfo$ = this.store.pipe(select(commomState_LoggedinInfo));\r\n\r\n constructor(public store: Store,\r\n private router: Router) {\r\n }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean {\r\n let role = route.data.permission as string;\r\n return new Observable(obs => {\r\n // this.loggeinInInfo$.subscribe(x => {\r\n // if (!x.permission) return;\r\n // var found = x.permission.filter(x => {\r\n // if (role.toLowerCase() == x.toLowerCase() || x.toLowerCase() == 'super user')\r\n // return x;\r\n // });\r\n\r\n // if (found.length == 0) {\r\n // this.router.navigate(['/dashboard']);\r\n // obs.next(false);\r\n // }\r\n\r\n // obs.next(true);\r\n // })\r\n });\r\n }\r\n}\r\n","// import { CostOfCoverModel } from './../model/cost-of-cover.model';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { BaseService } from './base.services';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable()\r\nexport class CostOfCoverService extends BaseService {\r\n\r\n constructor(private http: HttpClient,\r\n public toastr: ToastrService,\r\n private store: Store) {\r\n super(toastr);\r\n }\r\n\r\n getCostOfCovers(): Observable {\r\n return this.http.get(environment.apiUrl + `/fund/costofcovers`, { headers: this.headers() });\r\n }\r\n\r\n // update(obj: CostOfCoverModel): Observable {\r\n // return this.http.put(environment.apiUrl + `/fund/${obj.costOfCoverId}/updatecostofcover`, obj, { headers: this.headers() });\r\n // }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { BaseService } from './base.services';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable()\r\nexport class FeatureToggleService extends BaseService {\r\n\r\n constructor(private http: HttpClient,\r\n public toastr: ToastrService,\r\n private store: Store) {\r\n super(toastr);\r\n }\r\n\r\n getAccountFeatureToggles(accountId:number): Observable {\r\n return this.http.get(environment.apiUrl + `/member-portal/featureToggle/account/${accountId}/get-feature-toggles`, { headers: this.headers() });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { BaseService } from './base.services';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable()\r\nexport class HelperService extends BaseService {\r\n\r\n constructor(private http: HttpClient,\r\n public toastr: ToastrService,\r\n private store: Store) {\r\n super(toastr);\r\n }\r\n\r\n\r\n systemConfiguration(): Observable {\r\n return this.http.get(environment.apiUrl + '/helper/systemconfig', { headers: this.headers() });\r\n }\r\n}\r\n","export class CoreApiHelper{\r\n urls: string[] = ['systemconfig', 'isloggedin', 'accounts', 'get-feature-toggles']\r\n constructor(){\r\n\r\n }\r\n \r\n checkUrl = (url:string) => {\r\n var urlFragments = url.split('/');\r\n var endOfUrl = urlFragments.slice(-1).pop();\r\n\r\n if (this.urls.includes(endOfUrl))\r\n return true;\r\n\r\n return false;\r\n }\r\n}","import { environment } from 'src/environments/environment';\r\nimport { IsFetchingAction, IsLoadingAction, IsSendingAction, SetSiteError } from './../store/common/common.actions';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent } from '@angular/common/http';\r\n\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { catchError } from '../../../node_modules/rxjs/operators';\r\nimport { tap } from 'rxjs/operators';\r\nimport { finalize } from \"rxjs/operators\";\r\nimport { MsalService } from '@azure/msal-angular';\r\nimport { CoreApiHelper } from '../helper/coreApiHelper';\r\n\r\n@Injectable()\r\nexport class HttpCustomInterceptor implements HttpInterceptor {\r\n private requests: HttpRequest[] = [];\r\n private coreApiHelper = new CoreApiHelper;\r\n\r\n isLoading = false;\r\n isFetching = false;\r\n isSending = false;\r\n\r\n constructor(private store: Store,\r\n public toastr: ToastrService,\r\n private authService: MsalService,\r\n private route: ActivatedRoute,\r\n private router: Router) {\r\n }\r\n\r\n showError(errors) {\r\n const toastr = this.toastr;\r\n errors.forEach(function (element) {\r\n toastr.error(element);\r\n });\r\n }\r\n\r\n removeRequest(req: HttpRequest) {\r\n this.requests = this.requests.filter(x => x.method === req.method).filter(x => x.url !== req.url);\r\n var hasValue = this.requests.length > 0;\r\n\r\n // we want the page to get a loading indicator when fetching resources\r\n if (req.method === \"GET\" && this.isFetching != hasValue) {\r\n this.isFetching = hasValue;\r\n setTimeout(() => {\r\n this.store.dispatch(IsFetchingAction({ payload: this.isFetching }));\r\n }, 500);\r\n }\r\n\r\n // we want buttons to show loading indicators is sending data to API\r\n if (req.method !== \"GET\" && this.isSending != hasValue) {\r\n this.isSending = hasValue;\r\n setTimeout(() => {\r\n this.store.dispatch(IsSendingAction({ payload: this.isSending }));\r\n }, 0);\r\n }\r\n\r\n if (this.isLoading != hasValue) {\r\n this.isLoading = hasValue;\r\n setTimeout(() => {\r\n this.store.dispatch(IsLoadingAction({ payload: this.isLoading }));\r\n }, 0);\r\n }\r\n }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n if (!request.url.endsWith('.json') && request.url.startsWith(environment.apiUrl)) {\r\n var exist = this.requests.filter(x => {\r\n return x.url == request.url\r\n });\r\n if (exist.length == 0) {\r\n this.requests.push(request);\r\n\r\n // we want the page to get a loading indicator when fetching resources\r\n if (request.method === \"GET\" && !this.isFetching) {\r\n this.isFetching = true;\r\n setTimeout(() => {\r\n this.store.dispatch(IsFetchingAction({ payload: true }));\r\n }, 0);\r\n }\r\n\r\n // we want buttons to show loading indicators is sending data to API\r\n if (request.method !== \"GET\" && !this.isSending) {\r\n this.isSending = true;\r\n setTimeout(() => {\r\n this.store.dispatch(IsSendingAction({ payload: true }));\r\n }, 0);\r\n }\r\n\r\n if (!this.isLoading) {\r\n this.isLoading = true;\r\n setTimeout(() => {\r\n this.store.dispatch(IsLoadingAction({ payload: true }));\r\n }, 0);\r\n\r\n }\r\n }\r\n }\r\n\r\n return next.handle(request).pipe(\r\n tap((event: HttpEvent) => {\r\n }),\r\n\r\n finalize(() => {\r\n this.removeRequest(request);\r\n }),\r\n catchError((error, caught) => {\r\n this.removeRequest(request);\r\n\r\n if (error.error && error.error.message) {\r\n this.showError([error.error.message]);\r\n }\r\n\r\n var result = this.coreApiHelper.checkUrl(error.url);\r\n\r\n if (result)\r\n this.store.dispatch(SetSiteError({ error: true }))\r\n\r\n return throwError(error);\r\n }) as any);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { BaseService } from './base.services';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from '../../environments/environment';\r\n\r\n@Injectable()\r\nexport class MemberCorrespondenceService extends BaseService {\r\n\r\n constructor(private http: HttpClient,\r\n public toastr: ToastrService,\r\n private store: Store) {\r\n super(toastr);\r\n }\r\n\r\n\r\n\r\n getMemberCorrespondece(memberId: number, page: number): Observable {\r\n const params = new HttpParams()\r\n .set('memberId', memberId.toString())\r\n .set('page', page.toString());\r\n return this.http.get(environment.apiUrl + `/members/${memberId}/correspondence`, { headers: this.headers(), params: params });\r\n }\r\n\r\n getMemberCorrespondeceFile(memberId: number, correspondenceSource: number, correspondenceId: number): Observable {\r\n const params = new HttpParams()\r\n .set('memberId', memberId.toString())\r\n .set('correspondenceSource', correspondenceSource.toString())\r\n .set('correspondenceId', correspondenceId.toString());\r\n return this.http.get(environment.apiUrl + `/members/${memberId}/correspondence/${correspondenceSource}/${correspondenceId}`, { headers: this.headers(), params: params });\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { BaseService } from './base.services';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable()\r\nexport class MemberNoteTypeService extends BaseService {\r\n\r\n constructor(private http: HttpClient,\r\n public toastr: ToastrService,\r\n private store: Store) {\r\n super(toastr);\r\n }\r\n\r\n getMemberNoteTypes(): Observable {\r\n return this.http.get(environment.apiUrl + `/members/membernotetypes`, { headers: this.headers() });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { BaseService } from './base.services';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from '../../environments/environment';\r\n// import { RoleModel } from '../model/role.model';\r\n\r\n@Injectable()\r\nexport class RolesService extends BaseService {\r\n\r\n constructor(private http: HttpClient,\r\n public toastr: ToastrService,\r\n private store: Store) {\r\n super(toastr);\r\n }\r\n\r\n\r\n get(search: string): Observable {\r\n const params = new HttpParams()\r\n .set('search', search);\r\n return this.http.get(environment.apiUrl + '/roles/search', { headers: this.headers(), params: params });\r\n }\r\n\r\n getById(roleId: string): Observable {\r\n return this.http.get(environment.apiUrl + `/roles/${roleId}`, { headers: this.headers() });\r\n }\r\n\r\n // update(obj: RoleModel): Observable {\r\n // return this.http.put(environment.apiUrl + `/roles/${obj.id}`, obj, { headers: this.headers() });\r\n // }\r\n\r\n // create(obj: RoleModel): Observable {\r\n // return this.http.post(environment.apiUrl + `/roles/`, obj, { headers: this.headers() });\r\n // }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { BaseService } from './base.services';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable()\r\nexport class TakeMeWithYouService extends BaseService {\r\n\r\n constructor(private http: HttpClient,\r\n public toastr: ToastrService,\r\n private store: Store) {\r\n super(toastr);\r\n }\r\n\r\n getChoiceOfFund(accountId: number): Observable {\r\n const params = new HttpParams()\r\n .set('accountId', accountId.toString())\r\n return this.http.get(environment.apiUrl + `/member-portal/TakeMeWithYou/${accountId}/choice-of-fund`, { headers: this.headers(), params: params });\r\n }\r\n\r\n\r\n}\r\n","import * as Actions from './common.actions';\r\nimport { ICommonState } from './common.state';\r\nimport { Action, createReducer, on } from '@ngrx/store';\r\nimport { SystemConfigModel } from 'src/app/model/system-config.model';\r\nimport { LoggedInModel } from 'src/app/model/logged-in.model';\r\nimport { AccountDataRetrievedAction } from './common.actions';\r\n\r\nexport const commonState: ICommonState = {\r\n isLoading: false,\r\n isFetching: false,\r\n isSending: false,\r\n screenWidth: window.innerWidth,\r\n menuList: [],\r\n systemConfig: {} as SystemConfigModel,\r\n loggedInModel: {} as LoggedInModel,\r\n siteError: false,\r\n loginViewVideoUrl: '',\r\n member: null,\r\n accountDataRetrieved: false\r\n};\r\n\r\nconst reducerList = createReducer(commonState,\r\n on(Actions.ResponseMemberDataAction, (state, { payload }) => {\r\n return {\r\n ...state,\r\n member: payload\r\n };\r\n }),\r\n on(Actions.IsLoadingAction, (state, { payload }) => {\r\n if (state.isLoading == payload)\r\n return state;\r\n return {\r\n ...state,\r\n isLoading: payload,\r\n };\r\n }),\r\n\r\n on(Actions.ChangeScreenWidthAction, (state, { payload }) => {\r\n return {\r\n ...state,\r\n screenWidth: payload,\r\n };\r\n }),\r\n on(Actions.SetLoginVideoUrlAction, (state, { url }) => {\r\n return {\r\n ...state,\r\n loginViewVideoUrl: url,\r\n };\r\n }),\r\n on(Actions.SetMenuAction, (state, { data }) => {\r\n return {\r\n ...state,\r\n menuList: data,\r\n };\r\n }),\r\n on(Actions.SystemConfigurationResponseAction, (state, { payload }) => {\r\n return {\r\n ...state,\r\n systemConfig: {\r\n ...payload,\r\n ...state.systemConfig\r\n },\r\n };\r\n }),\r\n on(Actions.IsLoggedInResponseAction, (state, { data }) => {\r\n return {\r\n ...state,\r\n loggedInModel:\r\n {\r\n ...data,\r\n isAdviserElevated: state.loggedInModel.isAdviserElevated,\r\n isFundElevated: state.loggedInModel.isFundElevated\r\n }\r\n };\r\n }),\r\n on(Actions.SetIsFundElevatedAccessAction, (state, { isElevated }) => {\r\n return {\r\n ...state,\r\n loggedInModel: { ...state.loggedInModel, isFundElevated: isElevated }\r\n }\r\n }),\r\n on(Actions.SetIsAdviserElevatedAccessAction, (state, { isElevated }) => {\r\n return {\r\n ...state,\r\n loggedInModel: { ...state.loggedInModel, isAdviserElevated: isElevated }\r\n }\r\n }),\r\n on(Actions.AccountFeatureTogglesResponseAction, (state, { payload }) => {\r\n var limitedServiceToggles = payload?.data?.filter(o => o.message && o.startDate && o.endDate) ?? [];\r\n\r\n return {\r\n ...state,\r\n systemConfig: {\r\n ...state.systemConfig,\r\n accountIdFeatureToggles: payload.accountId,\r\n accountFeatureToggles: payload.data,\r\n limitedServiceToggles: limitedServiceToggles\r\n }\r\n };\r\n }),\r\n on(Actions.SetSiteError, (state, { error }) => {\r\n return {\r\n ...state,\r\n siteError: error\r\n }\r\n }),\r\n on(Actions.IsFetchingAction, (state, { payload }) => {\r\n return {\r\n ...state,\r\n isFetching: payload\r\n }\r\n }),\r\n on(Actions.IsSendingAction, (state, { payload }) => {\r\n return {\r\n ...state,\r\n isSending: payload\r\n }\r\n }),\r\n on(AccountDataRetrievedAction, (state) => {\r\n return {\r\n ...state,\r\n accountDataRetrieved: true\r\n }\r\n })\r\n);\r\n\r\nexport function commonReducer(state: any | undefined, action: Action) {\r\n return reducerList(state, action);\r\n}\r\n","export class ChangePasswordModel {\r\n newPassword: string = '';\r\n confirmPassword: string = '';\r\n}\r\n","\r\nimport { ChangePasswordModel } from '../../model/change-password.model';\r\nimport { createReducer, on, Action } from '@ngrx/store';\r\nimport {\r\n createFormGroupState, onNgrxForms, updateGroup, validate, wrapReducerWithFormStateUpdate,\r\n onNgrxFormsAction, SetValueAction, setErrors\r\n} from 'ngrx-forms';\r\nimport { required, email } from 'ngrx-forms/validation';\r\nimport { SubmitCompletedAction, SubmitAction } from './actions';\r\nimport { IChangePasswordState } from './state';\r\n\r\nexport const changePasswordFormName = 'changePasswordForm';\r\n\r\nexport const changePasswordState: IChangePasswordState = {\r\n form: createFormGroupState(changePasswordFormName, new ChangePasswordModel())\r\n};\r\n\r\nexport const validateChangePasswordForm = updateGroup({\r\n newPassword: validate(required),\r\n confirmPassword: (value, myForm) => {\r\n if (myForm.value.confirmPassword != myForm.value.newPassword) {\r\n return setErrors(value, {\r\n passwordDoesNotMatch: {\r\n actual: value,\r\n }\r\n });\r\n }\r\n else {\r\n return setErrors(value, {});\r\n }\r\n },\r\n});\r\n\r\nconst reducer = createReducer(changePasswordState,\r\n onNgrxForms(),\r\n onNgrxFormsAction(SetValueAction, (state, action) => {\r\n return state;\r\n }),\r\n\r\n on(SubmitCompletedAction, (state) => {\r\n return {\r\n ...state,\r\n };\r\n }),\r\n);\r\n\r\nconst changePasswordReducerFormState = wrapReducerWithFormStateUpdate(\r\n reducer,\r\n s => s.form,\r\n validateChangePasswordForm,\r\n);\r\n\r\nexport function changePasswordReducer(state: any | undefined, action: Action) {\r\n return changePasswordReducerFormState(state, action);\r\n}\r\n","//import { IInterimStatementState } from './state';\r\nimport { createReducer, on, Action } from '@ngrx/store';\r\nimport {\r\n onNgrxForms, onNgrxFormsAction, SetValueAction, createFormControlState, createFormGroupState, setValue\r\n} from 'ngrx-forms';\r\nimport { ResponseAction } from './actions';\r\nimport { ITakeMeWithYouState } from './state';\r\n\r\nexport const takeMeWithYouState: ITakeMeWithYouState = {\r\n\r\n};\r\n\r\nconst reducer = createReducer(takeMeWithYouState,\r\n onNgrxForms(),\r\n onNgrxFormsAction(SetValueAction, (state, action) => {\r\n return state;\r\n }),\r\n\r\n);\r\n\r\nexport function takeMeWithYouReducer(state: any | undefined, action: Action) {\r\n return reducer(state, action);\r\n}\r\n","import { ActionReducerMap } from '@ngrx/store';\r\nimport { AppState } from './app.states';\r\nimport { commonReducer } from './common/common.reducer'\r\nimport { changePasswordReducer } from '../views/change-password/reducer'\r\nimport { takeMeWithYouReducer } from '../views/take-me-with-you-view/reducer';\r\n\r\nexport const reducers: ActionReducerMap = {\r\n commonState: commonReducer,\r\n changePasswordState: changePasswordReducer,\r\n takeMeWithYouState: takeMeWithYouReducer,\r\n};\r\n","import { HelperService } from './../../services/helper.service';\r\nimport { Injectable } from '@angular/core';\r\nimport { Actions, ofType } from '@ngrx/effects';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { createEffect } from '@ngrx/effects';\r\nimport { AccountFeatureTogglesRequestAction, AccountFeatureTogglesResponseAction, IsLoggedInRequestAction, IsLoggedInResponseAction, RequestMemberDataAction, ResponseMemberDataAction, SystemConfigurationRequestAction, SystemConfigurationResponseAction } from './common.actions';\r\nimport { WebUserService } from 'src/app/services/webuser.service';\r\nimport { EMPTY } from 'rxjs';\r\nimport { FeatureToggleService } from 'src/app/services/feature-toggle.service';\r\nimport { MembersService } from 'src/app/services/members.service';\r\n\r\n@Injectable()\r\nexport class CommonEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private userService: WebUserService,\r\n private service: HelperService,\r\n private memberService: MembersService,\r\n private featureToggleService: FeatureToggleService) {\r\n }\r\n\r\n getData$ = createEffect(() => this.actions$.pipe(\r\n ofType(RequestMemberDataAction),\r\n switchMap((action: any) => this.memberService.getView().pipe(\r\n map((data: any) => {\r\n return ResponseMemberDataAction({ payload: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n getSystemConfig$ = createEffect(() => this.actions$.pipe(\r\n ofType(SystemConfigurationRequestAction),\r\n switchMap((action: any) => this.service.systemConfiguration().pipe(\r\n map((data: any) => {\r\n return SystemConfigurationResponseAction({ payload: data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n isLoggedIn$ = createEffect(() => this.actions$.pipe(\r\n ofType(IsLoggedInRequestAction),\r\n switchMap((action: any) => this.userService.isLoggedIn().pipe(\r\n map((data: any) => {\r\n return IsLoggedInResponseAction({ data: data.data });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n\r\n getAccountFeatureToggles$ = createEffect(() => this.actions$.pipe(\r\n ofType(AccountFeatureTogglesRequestAction),\r\n switchMap((action:any) => this.featureToggleService.getAccountFeatureToggles(action.accountId).pipe(\r\n map((data:any) => {\r\n return AccountFeatureTogglesResponseAction({payload:data.data});\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n ))\r\n ))\r\n\r\n}\r\n","import { Action, ActionReducer, createReducer } from '@ngrx/store';\r\nimport { LogoutRequestAction } from './common/common.actions';\r\n\r\nexport function clearState(reducer: ActionReducer): ActionReducer {\r\n return function (state, action) {\r\n if (action.type === LogoutRequestAction.type) {\r\n state = undefined;\r\n }\r\n return reducer(state, action);\r\n };\r\n}\r\n","import {\r\n HttpBackend,\r\n HttpRequest,\r\n HttpEvent,\r\n HttpResponse,\r\n} from '@angular/common/http';\r\nimport {\r\n TranslateLoader,\r\n TranslateModuleConfig,\r\n TranslationObject,\r\n} from '@ngx-translate/core';\r\nimport { Observable, filter, map } from 'rxjs';\r\n\r\nexport class TranslateHttpLoader implements TranslateLoader {\r\n constructor(\r\n private httpHandler: HttpBackend,\r\n public prefix: string,\r\n public suffix: string\r\n ) {}\r\n\r\n getTranslation(lang: string): Observable {\r\n const httpRequest = new HttpRequest(\r\n 'GET',\r\n `${this.prefix}${lang}${this.suffix}`\r\n );\r\n\r\n return this.httpHandler.handle(httpRequest).pipe(\r\n filter((httpEvent: HttpEvent) => httpEvent instanceof HttpResponse),\r\n map((httpResponse: HttpResponse) => httpResponse.body)\r\n );\r\n }\r\n}\r\n\r\nexport function translateLoaderFactory(\r\n httpHandler: HttpBackend\r\n): TranslateLoader {\r\n return new TranslateHttpLoader(httpHandler, './assets/i18n/', '.json');\r\n}\r\n\r\nexport const TRANSLATE_MODULE_CONFIG: TranslateModuleConfig = {\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: translateLoaderFactory,\r\n deps: [HttpBackend],\r\n },\r\n};\r\n","import { AccountsService } from 'src/app/services/accounts.service';\r\nimport { Injectable } from '@angular/core';\r\nimport { Actions, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { Router } from '@angular/router';\r\nimport { createEffect } from '@ngrx/effects';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { WebUserService } from 'src/app/services/webuser.service';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class ChangePasswordEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n public toastr: ToastrService,\r\n private router: Router,\r\n private service: WebUserService) {\r\n }\r\n\r\n submit$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.SubmitAction),\r\n switchMap((action: any) => this.service.changepassword(action.payload).pipe(\r\n map((data: any) => {\r\n this.router.navigate(['dashboard']);\r\n this.service.showOk(data.message);\r\n return ActionsList.SubmitCompletedAction();\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n ));\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Actions, ofType } from '@ngrx/effects';\r\nimport * as ActionsList from './actions';\r\nimport { map, switchMap, catchError } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport { createEffect } from '@ngrx/effects';\r\nimport { TakeMeWithYouService } from 'src/app/services/take-me-with-you.service';\r\nimport { EMPTY } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class TakeMeWithYouEffects {\r\n constructor(private store: Store,\r\n private actions$: Actions,\r\n private takeMeWithYouService: TakeMeWithYouService) {\r\n }\r\n\r\n getChoiceOfFund$ = createEffect(() => this.actions$.pipe(\r\n ofType(ActionsList.RequestAction),\r\n switchMap((action: any) => this.takeMeWithYouService.getChoiceOfFund(action.accountId).pipe(\r\n map((response: any) => {\r\n const source = `data:${response.data.contentType};base64,${response.data.fileContents}`;\r\n const link = document.createElement(\"a\");\r\n link.href = source;\r\n link.download = response.data.fileDownloadName;\r\n link.click();\r\n\r\n return ActionsList.ResponseAction({ payload: '' });\r\n }),\r\n catchError(err => {\r\n return EMPTY;\r\n })\r\n )),\r\n\r\n ));\r\n}\r\n"],"mappings":"25OAAA,IAAAA,GAAAC,GAAA,CAAAC,GAAAC,KAAA,EAAC,SAAUC,EAAG,CACZ,GAAI,OAAOF,IAAY,UAAY,OAAOC,GAAW,IACnDA,GAAO,QAAUC,EAAE,UACV,OAAO,QAAW,YAAc,OAAO,IAChD,OAAO,CAAC,EAAGA,CAAC,MACP,CACL,IAAIC,EACA,OAAO,OAAW,IACpBA,EAAI,OACK,OAAO,OAAW,IAC3BA,EAAI,OACK,OAAO,KAAS,IACzBA,EAAI,KAEJA,EAAI,KAENA,EAAE,QAAUD,EAAE,CAChB,CACF,GAAG,UAAY,CACb,IAAIE,EAAQH,EAAQD,EAChBK,EAAuB,CAAC,aAAc,UAAW,UAAW,MAAO,OAAQ,QAAS,QAAS,QAAQ,EAGrGC,EAAc,SAAUC,EAAKC,EAAIC,EAAO,CAE1C,QADIC,EAAMD,EACDE,EAAI,EAAGC,GAAML,EAAI,OAAQI,EAAIC,GAAKD,IAAKD,EAAMF,EAAGE,EAAKH,EAAII,CAAC,EAAGA,EAAGJ,CAAG,EAC5E,OAAOG,CACT,EAMIG,EAAc,SAAUN,EAAKC,EAAI,CACnC,OAAOF,EAAYC,EAAK,SAAUE,EAAOK,EAAMH,EAAGJ,GAAK,CACrD,OAAQC,EAAGM,EAAMH,EAAGJ,EAAG,EAAYE,EAAM,OAAOK,CAAI,EAAzBL,CAC7B,EAAG,CAAC,CAAC,CACP,EAKIM,EAAgB,SAAUR,EAAKS,EAAG,CACpC,OAAOV,EAAYC,EAAK,SAAUE,EAAOK,EAAMH,EAAGJ,GAAK,CACrD,OAAOE,IAAU,IAAQK,IAASE,CACpC,EAAG,EAAK,CACV,EAGIC,EAAe,SAAUC,EAAK,CAChC,OAAO,OAAO,UAAU,SAAS,KAAKA,CAAG,IAAM,gBACjD,EAGIC,EAAkB,CAAC,CACrB,SAAU,IACZ,EAAE,qBAAqB,UAAU,EAC7BC,EAAa,CAAC,WAAY,iBAAkB,UAAW,iBAAkB,gBAAiB,uBAAwB,aAAa,EAG/HC,GAAY,SAAUH,EAAK,CAG7B,IAAII,EAAS,CAAC,EACVC,EACJ,IAAKA,KAAQL,EACP,OAAO,UAAU,eAAe,KAAKA,EAAKK,CAAI,GAAGD,EAAO,KAAKC,CAAI,EAEvE,GAAI,CAACJ,EAAiB,OAAOG,EAC7B,QAASX,EAAI,EAAGC,EAAMQ,EAAW,OAAQT,EAAIC,EAAKD,IAC5C,OAAO,UAAU,eAAe,KAAKO,EAAKE,EAAWT,CAAC,CAAC,GAAGW,EAAO,KAAKF,EAAWT,CAAC,CAAC,EAEzF,OAAOW,CACT,EACIE,GAAgB,SAAUC,EAAKC,EAAK,CACtC,OAAID,IAAQ,SACVA,EAAM,GAEJC,IAAQ,SACVA,EAAM,KAED,SAAUC,EAAO,CACtB,OAAO,OAAOA,GAAU,UAAY,SAAS,GAAKA,EAAO,EAAE,IAAMA,GAASA,GAASF,GAAOE,GAASD,CACrG,CACF,EAMIE,GAAuB,SAAUD,EAAO,CAC1C,OAAO,OAAOA,GAAU,YAAcV,EAAaU,CAAK,GAAKd,EAAYc,EAAO,SAAUzB,EAAG,CAC3F,OAAO,OAAOA,GAAM,UACtB,CAAC,EAAE,SAAWyB,EAAM,MACtB,EACIE,GAAwB,SAAUF,EAAO,CAC3C,OAAO,OAAOA,GAAU,UAAY,CAAC,CAACA,EAAM,MAC9C,EACIG,GAAc,CAAC,EAmBfC,GAAoB,UAAY,CAClC,MAAO,CACL,oBAAqB,GACrB,oBAAqB,EACvB,CACF,EACAD,GAAY,OAAS,CACnB,OAAQ,CACN,aAAc,UAAY,CACxB,OAAO,IACT,EACA,QAAS,cACT,SAAUD,EACZ,EACA,WAAY,CACV,aAAc,UAAY,CAE1B,EACA,QAAS,qBACT,SAAU,SAAUF,EAAO,CACzB,OAAOA,IAAU,QAAaE,GAAsBF,CAAK,CAC3D,CACF,EACA,QAAS,CACP,aAAc,UAAY,CAE1B,EACA,QAAS,qBACT,SAAU,SAAUA,EAAO,CACzB,OAAOA,IAAU,QAAaE,GAAsBF,CAAK,CAC3D,CACF,EACA,iBAAkB,CAChB,aAAc,UAAY,CACxB,MAAO,EACT,EACA,QAAS,uBACT,SAAU,SAAUA,EAAO,CACzB,OAAOA,IAAU,IAAQA,IAAU,EACrC,CACF,EACA,kBAAmB,CACjB,aAAc,UAAY,CACxB,OAAOI,GAAkB,CAC3B,EACA,QAAS,8GACT,mBAAoB,GACpB,SAAU,SAAUJ,EAAO,CAEzB,GAAI,OAAOA,GAAU,UAAY,CAACA,EAAO,MAAO,GAChD,IAAIK,EAAeX,GAAUM,CAAK,EAC9BM,EAAcZ,GAAUU,GAAkB,CAAC,EAM/C,MAJI,EAAAlB,EAAYmB,EAAc,SAAUE,EAAG,CACzC,OAAOnB,EAAckB,EAAaC,CAAC,CACrC,CAAC,EAAE,OAASF,EAAa,QAErBnB,EAAYQ,GAAUM,CAAK,EAAG,SAAUO,EAAG,CAC7C,OAAO,OAAOP,EAAMO,CAAC,GAAM,SAC7B,CAAC,EAAE,OAAS,EAEd,CACF,EACA,QAAS,CACP,aAAc,UAAY,CACxB,MAAO,CAAC,CACV,EACA,QAAS,6CACT,SAAUN,EACZ,EACA,UAAW,CACT,aAAc,UAAY,CACxB,MAAO,CAAC,CACV,EACA,QAAS,6CACT,SAAUA,EACZ,EACA,aAAc,CACZ,aAAc,UAAY,CACxB,MAAO,CAAC,CACV,EACA,QAAS,6CACT,SAAUA,EACZ,EACA,UAAW,CACT,aAAc,SAAUO,EAAW,CAEjC,OAAI,OAAOA,EAAc,IAChB,CACL,OAAQ,6BACR,SAAU,8BACZ,EAEO,CACL,OAAQ,KACR,SAAU,IACZ,CAEJ,EACA,QAAS,oEACT,SAAU,SAAUzB,EAAK,CACvB,OAEEA,GAAO,OAAOA,GAAQ,UAEtBmB,GAAsBnB,EAAI,MAAM,GAAKmB,GAAsBnB,EAAI,QAAQ,GAEvEG,EAAYQ,GAAUX,CAAG,EAAG,SAAUwB,EAAG,CACvC,MAAO,CAACnB,EAAc,CAAC,SAAU,UAAU,EAAGmB,CAAC,CACjD,CAAC,EAAE,SAAW,CAElB,CACF,EACA,kBAAmB,CACjB,aAAc,SAAUxB,EAAK,CAC3B,MAAO,EACT,EACA,QAAS,uBACT,SAAU,SAAUA,EAAK,CACvB,OAAOA,IAAQ,IAAQA,IAAQ,EACjC,CACF,EACA,qBAAsB,CACpB,aAAc,UAAY,CACxB,OAAO,IACT,EACA,QAAS,gCACT,SAAU,SAAUiB,EAAO,CACzB,OAAOA,IAAU,MAAQV,EAAaU,CAAK,GAAKd,EAAYc,EAAO,SAAUzB,EAAG,CAC9E,OAAO,OAAOA,GAAM,QACtB,CAAC,EAAE,SAAWyB,EAAM,MACtB,CACF,EACA,aAAc,CACZ,aAAc,UAAY,CACxB,MAAO,YACT,EACA,QAAS,qBACT,SAAU,SAAUA,EAAO,CACzB,OAAO,OAAOA,GAAU,UAAYA,EAAM,MAC5C,CACF,EACA,eAAgB,CACd,aAAc,UAAY,CACxB,MAAO,GACT,EACA,QAAS,+BACT,SAAU,SAAUA,EAAO,CACzB,OAAOH,GAAc,EAAG,GAAG,EAAEG,CAAK,CACpC,CACF,EACA,uBAAwB,CACtB,aAAc,UAAY,CACxB,OAAOtB,CACT,EACA,QAAS,2DAA6DA,EAAqB,KAAK,GAAG,EAAI,IACvG,SAAU,SAAUsB,EAAO,CACzB,OAAOA,IAAU,MAAQV,EAAaU,CAAK,GAAKrB,EAAYqB,EAAO,SAAUlB,EAAO2B,EAAW,CAC7F,OAAI3B,IAAU,GAAcA,EACrBM,EAAcV,EAAsB+B,CAAS,CACtD,EAAG,EAAI,CACT,CACF,EACA,QAAS,CACP,aAAc,UAAY,CAE1B,EACA,QAAS,qBACT,SAAU,SAAUT,EAAO,CACzB,OAAOA,IAAU,QAAa,OAAOA,GAAU,QACjD,CACF,EACA,KAAM,CACJ,aAAc,UAAY,CACxB,MAAO,CAAC,CACV,EACA,QAAS,0DACT,SAAU,SAAUA,EAAO,CACzB,OAAOA,IAAU,MAAQA,GAASrB,EAAYe,GAAUM,CAAK,EAAG,SAAUlB,EAAO4B,EAAK,CACpF,OAAO5B,GAASM,EAAc,CAAC,KAAM,QAAS,MAAM,EAAGsB,CAAG,CAC5D,EAAG,EAAI,CACT,CACF,EACA,SAAU,CACR,aAAc,UAAY,CACxB,MAAO,CAAC,CACV,EACA,QAAS,sBACT,SAAU,SAAUV,EAAO,CACzB,OAAO,OAAOA,GAAU,UAAYA,IAAU,IAChD,CACF,EACA,OAAQ,CACN,aAAc,UAAY,CAE1B,EACA,QAAS,wEACT,SAAU,SAAUA,EAAO,CACzB,MAAO,CAACA,GAASA,GAASrB,EAAY,CAAC,QAAS,OAAQ,OAAQ,OAAO,EAAG,SAAUG,EAAO6B,EAAQ,CACjG,OAAO7B,GAAS,OAAOkB,EAAMW,CAAM,GAAM,UAC3C,EAAG,EAAI,CACT,CACF,EACA,aAAc,CACZ,aAAc,UAAY,CACxB,MAAO,CAAC,UAAU,CACpB,EACA,QAAS,wCACT,SAAU,SAAUX,EAAO,CACzB,OAAOV,EAAaU,CAAK,GAAKA,EAAM,SAAWd,EAAYc,EAAO,SAAUY,EAAG,CAC7E,OAAO,OAAOA,GAAM,UAAYA,GAAK,OAAOA,EAAE,MAAS,UACzD,CAAC,EAAE,MACL,CACF,EACA,QAAS,CACP,aAAc,UAAY,CACxB,MAAO,CAAC,CACV,EACA,QAAS,uCACT,SAAU,SAAUZ,EAAO,CACzB,OAAOV,EAAaU,CAAK,GAAKA,EAAM,SAAWd,EAAYc,EAAO,SAAUa,EAAG,CAC7E,OAAOA,GAAK,OAAOA,GAAM,UAAY,OAAOA,EAAE,MAAS,UACzD,CAAC,EAAE,MACL,CACF,EACA,aAAc,CACZ,aAAc,UAAY,CACxB,MAAO,CAAC,CACV,EACA,QAAS,4DACT,SAAU,SAAUb,EAAO,CACzB,OAAOV,EAAaU,CAAK,GAAKA,EAAM,SAAWd,EAAYc,EAAO,SAAUc,EAAS,CACnF,OAAOA,GAAW,OAAOA,GAAY,UAAY,OAAOA,EAAQ,MAAS,QAC3E,CAAC,EAAE,MACL,CACF,EACA,0CAA2C,CACzC,aAAc,UAAY,CACxB,MAAO,EACT,EACA,QAAS,uBACT,SAAU,SAAUd,EAAO,CACzB,OAAOA,IAAU,IAAQA,IAAU,EACrC,CACF,EACA,qBAAsB,CACpB,aAAc,UAAY,CACxB,MAAO,EACT,EACA,QAAS,uBACT,SAAU,SAAUA,EAAO,CACzB,OAAOA,IAAU,IAAQA,IAAU,EACrC,CACF,CACF,EAIA,IAAIe,GAAc,SAAUC,EAAQ,CAClC,QAAShC,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAK,CACzC,IAAIiC,EAAS,UAAUjC,CAAC,EACxB,QAAS0B,KAAOO,EACV,OAAO,UAAU,eAAe,KAAKA,EAAQP,CAAG,IAClDM,EAAON,CAAG,EAAIO,EAAOP,CAAG,EAG9B,CACA,OAAOM,CACT,EAMIE,GAAW,SAAUtC,EAAKC,EAAI,CAChC,OAAOF,EAAYC,EAAK,SAAUE,EAAOK,EAAMH,EAAGJ,GAAK,CACrD,OAAOE,EAAM,OAAOD,EAAGM,EAAMH,EAAGJ,EAAG,CAAC,CACtC,EAAG,CAAC,CAAC,CACP,EACA,SAASuC,IAAW,CAClB,OAAAA,GAAW,OAAO,OAAS,OAAO,OAAO,KAAK,EAAI,SAAUH,EAAQ,CAClE,QAAShC,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAK,CACzC,IAAIiC,EAAS,UAAUjC,CAAC,EACxB,QAAS0B,KAAOO,EACV,OAAO,UAAU,eAAe,KAAKA,EAAQP,CAAG,IAClDM,EAAON,CAAG,EAAIO,EAAOP,CAAG,EAG9B,CACA,OAAOM,CACT,EACOG,GAAS,MAAM,KAAM,SAAS,CACvC,CACA,IAAIC,GAASjB,GAAY,OAKrBkB,GAAc,CAChB,aAAcN,GAAY,CAAC,EAAGK,GAAO,aAAc,CACjD,aAAc,UAAY,CACxB,MAAI,qBAAqB,KAAK,OAAO,SAAS,IAAI,EAAU,cACrD,YACT,CACF,CAAC,EACD,QAASD,GAAS,CAAC,EAAGC,GAAO,QAAS,CACpC,aAAc,UAAY,CACxB,MAAO,SACT,CACF,CAAC,EACD,OAAQL,GAAY,CAAC,EAAGK,GAAO,OAAQ,CACrC,aAAc,UAAY,CACxB,OAEE,OAAO,QAAY,KAAe,OAAO,QAAQ,OAAU,WAAaE,GAAmB,EAAI,MAEnG,CACF,CAAC,CACH,EACIA,GAAqB,UAAY,CACnC,IAAIC,EAAS,CAAC,EACVC,EAAa,QAAQ,IACzB,OAAAN,GAAS,CAAC,QAAS,OAAQ,OAAQ,OAAO,EAAG,SAAUP,EAAQ,CAC7D,IAAIc,EAAgB,QAAQd,CAAM,EAClCY,EAAOZ,CAAM,EAAI,OAAOc,GAAkB,WAAaA,EAAc,KAAK,QAAS,WAAW,EAAID,EAAW,KAAK,QAAS,WAAW,CACxI,CAAC,EACMD,CACT,EACIG,GAA0B,UAAY,CACxC,SAASA,EAAWC,EAASC,EAAUC,EAAMC,GAAW,CAClDA,KAAc,SAChBA,GAAY,IAAI,MAElB,KAAK,KAAOD,EACZ,KAAK,QAAUF,EACf,KAAK,SAAWC,EAChB,KAAK,UAAYE,EACnB,CACA,IAAIC,EAASL,EAAW,UACxB,OAAAK,EAAO,OAAS,UAAkB,CAChC,MAAO,CACL,KAAM,KAAK,KACX,KAAM,KAAK,QACX,UAAW,KAAK,UAChB,SAAU,KAAK,QACjB,CACF,EACOL,CACT,EAAE,EACEM,GAAkBN,GAClBO,GAAiB,CAAC,GACrB,SAAUC,EAAMC,EAAS,CACxB,aAKI,OAAO1D,GAAW,YAAcA,EAAO,IACzCA,EAAO,aAAc,CAAC,EAAG0D,CAAO,EACvB,OAAOF,IAAmB,SACnCA,GAAiBE,EAAQ,EAEzBD,EAAK,WAAaC,EAAQ,CAE9B,GAAG,KAAM,UAAY,CACnB,aAEA,SAASC,EAAUC,GAAG,CACpB,MAAO,CAAC,MAAM,WAAWA,EAAC,CAAC,GAAK,SAASA,EAAC,CAC5C,CACA,SAASC,EAAYC,GAAK,CACxB,OAAOA,GAAI,OAAO,CAAC,EAAE,YAAY,EAAIA,GAAI,UAAU,CAAC,CACtD,CACA,SAASC,EAAQ3B,GAAG,CAClB,OAAO,UAAY,CACjB,OAAO,KAAKA,EAAC,CACf,CACF,CACA,IAAI4B,EAAe,CAAC,gBAAiB,SAAU,WAAY,YAAY,EACnEC,EAAe,CAAC,eAAgB,YAAY,EAC5CC,GAAc,CAAC,WAAY,eAAgB,QAAQ,EACnDC,GAAa,CAAC,MAAM,EACpBC,GAAc,CAAC,YAAY,EAC3BC,GAAQL,EAAa,OAAOC,EAAcC,GAAaC,GAAYC,EAAW,EAClF,SAASE,GAAWxD,GAAK,CACvB,GAAKA,GACL,QAASP,GAAI,EAAGA,GAAI8D,GAAM,OAAQ9D,KAC5BO,GAAIuD,GAAM9D,EAAC,CAAC,IAAM,QACpB,KAAK,MAAQsD,EAAYQ,GAAM9D,EAAC,CAAC,CAAC,EAAEO,GAAIuD,GAAM9D,EAAC,CAAC,CAAC,CAGvD,CACA+D,GAAW,UAAY,CACrB,QAAS,UAAY,CACnB,OAAO,KAAK,IACd,EACA,QAAS,SAAUC,GAAG,CACpB,GAAI,OAAO,UAAU,SAAS,KAAKA,EAAC,IAAM,iBACxC,MAAM,IAAI,UAAU,uBAAuB,EAE7C,KAAK,KAAOA,EACd,EACA,cAAe,UAAY,CACzB,OAAO,KAAK,UACd,EACA,cAAe,SAAUA,GAAG,CAC1B,GAAIA,cAAaD,GACf,KAAK,WAAaC,WACTA,cAAa,OACtB,KAAK,WAAa,IAAID,GAAWC,EAAC,MAElC,OAAM,IAAI,UAAU,6CAA6C,CAErE,EACA,SAAU,UAAY,CACpB,IAAIC,GAAW,KAAK,YAAY,GAAK,GACjCC,GAAa,KAAK,cAAc,GAAK,GACrCC,GAAe,KAAK,gBAAgB,GAAK,GACzCC,GAAe,KAAK,gBAAgB,GAAK,GAC7C,OAAI,KAAK,UAAU,EACbH,GACK,WAAaA,GAAW,IAAMC,GAAa,IAAMC,GAAe,IAElE,UAAYD,GAAa,IAAMC,GAEpCC,GACKA,GAAe,KAAOH,GAAW,IAAMC,GAAa,IAAMC,GAAe,IAE3EF,GAAW,IAAMC,GAAa,IAAMC,EAC7C,CACF,EACAJ,GAAW,WAAa,SAAgCR,GAAK,CAC3D,IAAIc,GAAiBd,GAAI,QAAQ,GAAG,EAChCe,GAAef,GAAI,YAAY,GAAG,EAClCa,GAAeb,GAAI,UAAU,EAAGc,EAAc,EAC9CE,GAAOhB,GAAI,UAAUc,GAAiB,EAAGC,EAAY,EAAE,MAAM,GAAG,EAChEE,GAAiBjB,GAAI,UAAUe,GAAe,CAAC,EACnD,GAAIE,GAAe,QAAQ,GAAG,IAAM,EAClC,IAAIC,GAAQ,gCAAgC,KAAKD,GAAgB,EAAE,EAC/DP,GAAWQ,GAAM,CAAC,EAClBP,GAAaO,GAAM,CAAC,EACpBN,GAAeM,GAAM,CAAC,EAE5B,OAAO,IAAIV,GAAW,CACpB,aAAcK,GACd,KAAMG,IAAQ,OACd,SAAUN,GACV,WAAYC,IAAc,OAC1B,aAAcC,IAAgB,MAChC,CAAC,CACH,EACA,QAASnE,GAAI,EAAGA,GAAIyD,EAAa,OAAQzD,KACvC+D,GAAW,UAAU,MAAQT,EAAYG,EAAazD,EAAC,CAAC,CAAC,EAAIwD,EAAQC,EAAazD,EAAC,CAAC,EACpF+D,GAAW,UAAU,MAAQT,EAAYG,EAAazD,EAAC,CAAC,CAAC,EAAI,SAAU6B,GAAG,CACxE,OAAO,SAAUmC,GAAG,CAClB,KAAKnC,EAAC,EAAI,EAAQmC,EACpB,CACF,EAAEP,EAAazD,EAAC,CAAC,EAEnB,QAAS0E,GAAI,EAAGA,GAAIhB,EAAa,OAAQgB,KACvCX,GAAW,UAAU,MAAQT,EAAYI,EAAagB,EAAC,CAAC,CAAC,EAAIlB,EAAQE,EAAagB,EAAC,CAAC,EACpFX,GAAW,UAAU,MAAQT,EAAYI,EAAagB,EAAC,CAAC,CAAC,EAAI,SAAU7C,GAAG,CACxE,OAAO,SAAUmC,GAAG,CAClB,GAAI,CAACZ,EAAUY,EAAC,EACd,MAAM,IAAI,UAAUnC,GAAI,mBAAmB,EAE7C,KAAKA,EAAC,EAAI,OAAOmC,EAAC,CACpB,CACF,EAAEN,EAAagB,EAAC,CAAC,EAEnB,QAASnD,GAAI,EAAGA,GAAIoC,GAAY,OAAQpC,KACtCwC,GAAW,UAAU,MAAQT,EAAYK,GAAYpC,EAAC,CAAC,CAAC,EAAIiC,EAAQG,GAAYpC,EAAC,CAAC,EAClFwC,GAAW,UAAU,MAAQT,EAAYK,GAAYpC,EAAC,CAAC,CAAC,EAAI,SAAUM,GAAG,CACvE,OAAO,SAAUmC,GAAG,CAClB,KAAKnC,EAAC,EAAI,OAAOmC,EAAC,CACpB,CACF,EAAEL,GAAYpC,EAAC,CAAC,EAElB,OAAOwC,EACT,CAAC,EACD,IAAIY,GAAqB,CAAC,GACzB,SAAUzB,EAAMC,EAAS,CACxB,aAKI,OAAO1D,GAAW,YAAcA,EAAO,IACzCA,EAAO,kBAAmB,CAAC,YAAY,EAAG0D,CAAO,EACxC,OAAOwB,IAAuB,SACvCA,GAAqBxB,EAAQF,EAAc,EAE3CC,EAAK,eAAiBC,EAAQD,EAAK,UAAU,CAEjD,GAAG,KAAM,SAAUa,EAAY,CAC7B,MAAO,CACL,UAAW,SAAmCa,EAAM,CAClD,IAAIC,EAAQ,CAAC,EACTC,EAAe,GACf,OAAOF,GAAS,UAAY,OAAOA,EAAK,cAAiB,WAC3DE,EAAeF,EAAK,cAGtB,QADIG,GAAO,UAAU,OACdA,IAAQF,EAAM,OAASC,GAAgBC,GAAK,WAAc,CAG/D,QADIR,GAAO,IAAI,MAAMQ,GAAK,UAAa,MAAM,EACpC/E,GAAI,EAAGA,GAAIuE,GAAK,OAAQ,EAAEvE,GACjCuE,GAAKvE,EAAC,EAAI+E,GAAK,UAAa/E,EAAC,EAE3B,gCAAgC,KAAK+E,GAAK,SAAS,CAAC,EACtDF,EAAM,KAAK,IAAId,EAAW,CACxB,aAAc,OAAO,IAAM,OAC3B,KAAMQ,EACR,CAAC,CAAC,EAEFM,EAAM,KAAK,IAAId,EAAW,CACxB,KAAMQ,EACR,CAAC,CAAC,EAEJ,GAAI,CACFQ,GAAOA,GAAK,MACd,MAAY,CACV,KACF,CACF,CACA,OAAOF,CACT,CACF,CACF,CAAC,EACD,IAAIG,GAAuB,CAAC,GAC3B,SAAU9B,EAAMC,EAAS,CACxB,aAKI,OAAO1D,GAAW,YAAcA,EAAO,IACzCA,EAAO,qBAAsB,CAAC,YAAY,EAAG0D,CAAO,EAC3C,OAAO6B,IAAyB,SACzCA,GAAuB7B,EAAQF,EAAc,EAE7CC,EAAK,iBAAmBC,EAAQD,EAAK,UAAU,CAEnD,GAAG,KAAM,SAA0Ba,EAAY,CAC7C,aAEA,IAAIkB,EAA8B,eAC9BC,EAAyB,iCACzBC,EAA4B,8BAChC,MAAO,CAOL,MAAO,SAAiCC,GAAO,CAC7C,GAAI,OAAOA,GAAM,WAAe,KAAe,OAAOA,GAAM,iBAAiB,EAAM,IACjF,OAAO,KAAK,WAAWA,EAAK,EACvB,GAAIA,GAAM,OAASA,GAAM,MAAM,MAAMF,CAAsB,EAChE,OAAO,KAAK,YAAYE,EAAK,EACxB,GAAIA,GAAM,MACf,OAAO,KAAK,gBAAgBA,EAAK,EAEjC,MAAM,IAAI,MAAM,iCAAiC,CAErD,EAEA,gBAAiB,SAA2CC,GAAS,CAEnE,GAAIA,GAAQ,QAAQ,GAAG,IAAM,GAC3B,MAAO,CAACA,EAAO,EAEjB,IAAIC,GAAS,+BACTb,GAAQa,GAAO,KAAKD,GAAQ,QAAQ,QAAS,EAAE,CAAC,EACpD,MAAO,CAACZ,GAAM,CAAC,EAAGA,GAAM,CAAC,GAAK,OAAWA,GAAM,CAAC,GAAK,MAAS,CAChE,EACA,YAAa,SAAuCW,GAAO,CACzD,IAAIG,GAAWH,GAAM,MAAM,MAAM;AAAA,CAAI,EAAE,OAAO,SAAUI,GAAM,CAC5D,MAAO,CAAC,CAACA,GAAK,MAAMN,CAAsB,CAC5C,EAAG,IAAI,EACP,OAAOK,GAAS,IAAI,SAAUC,GAAM,CAC9BA,GAAK,QAAQ,QAAQ,EAAI,KAE3BA,GAAOA,GAAK,QAAQ,aAAc,MAAM,EAAE,QAAQ,+BAAgC,EAAE,GAEtF,IAAIC,GAAgBD,GAAK,QAAQ,OAAQ,EAAE,EAAE,QAAQ,eAAgB,GAAG,EAIpEE,GAAWD,GAAc,MAAM,0BAA0B,EAG7DA,GAAgBC,GAAWD,GAAc,QAAQC,GAAS,CAAC,EAAG,EAAE,EAAID,GACpE,IAAIE,GAASF,GAAc,MAAM,KAAK,EAAE,MAAM,CAAC,EAE3CG,GAAgB,KAAK,gBAAgBF,GAAWA,GAAS,CAAC,EAAIC,GAAO,IAAI,CAAC,EAC1EvB,GAAeuB,GAAO,KAAK,GAAG,GAAK,OACnC1B,GAAW,CAAC,OAAQ,aAAa,EAAE,QAAQ2B,GAAc,CAAC,CAAC,EAAI,GAAK,OAAYA,GAAc,CAAC,EACnG,OAAO,IAAI7B,EAAW,CACpB,aAAcK,GACd,SAAUH,GACV,WAAY2B,GAAc,CAAC,EAC3B,aAAcA,GAAc,CAAC,EAC7B,OAAQJ,EACV,CAAC,CACH,EAAG,IAAI,CACT,EACA,gBAAiB,SAA2CJ,GAAO,CACjE,IAAIG,GAAWH,GAAM,MAAM,MAAM;AAAA,CAAI,EAAE,OAAO,SAAUI,GAAM,CAC5D,MAAO,CAACA,GAAK,MAAML,CAAyB,CAC9C,EAAG,IAAI,EACP,OAAOI,GAAS,IAAI,SAAUC,GAAM,CAKlC,GAHIA,GAAK,QAAQ,SAAS,EAAI,KAC5BA,GAAOA,GAAK,QAAQ,mDAAoD,KAAK,GAE3EA,GAAK,QAAQ,GAAG,IAAM,IAAMA,GAAK,QAAQ,GAAG,IAAM,GAEpD,OAAO,IAAIzB,EAAW,CACpB,aAAcyB,EAChB,CAAC,EAED,IAAIK,GAAoB,6BACpBC,GAAUN,GAAK,MAAMK,EAAiB,EACtCzB,GAAe0B,IAAWA,GAAQ,CAAC,EAAIA,GAAQ,CAAC,EAAI,OACpDF,GAAgB,KAAK,gBAAgBJ,GAAK,QAAQK,GAAmB,EAAE,CAAC,EAC5E,OAAO,IAAI9B,EAAW,CACpB,aAAcK,GACd,SAAUwB,GAAc,CAAC,EACzB,WAAYA,GAAc,CAAC,EAC3B,aAAcA,GAAc,CAAC,EAC7B,OAAQJ,EACV,CAAC,CAEL,EAAG,IAAI,CACT,EACA,WAAY,SAAsCO,GAAG,CACnD,MAAI,CAACA,GAAE,YAAcA,GAAE,QAAQ,QAAQ;AAAA,CAAI,EAAI,IAAMA,GAAE,QAAQ,MAAM;AAAA,CAAI,EAAE,OAASA,GAAE,WAAW,MAAM;AAAA,CAAI,EAAE,OACpG,KAAK,YAAYA,EAAC,EACfA,GAAE,MAGL,KAAK,aAAaA,EAAC,EAFnB,KAAK,aAAaA,EAAC,CAI9B,EACA,YAAa,SAAuCA,GAAG,CAIrD,QAHIC,GAAS,oCACTC,GAAQF,GAAE,QAAQ,MAAM;AAAA,CAAI,EAC5BpF,GAAS,CAAC,EACLX,GAAI,EAAGC,GAAMgG,GAAM,OAAQjG,GAAIC,GAAKD,IAAK,EAAG,CACnD,IAAIkG,GAAQF,GAAO,KAAKC,GAAMjG,EAAC,CAAC,EAC5BkG,IACFvF,GAAO,KAAK,IAAIoD,EAAW,CACzB,SAAUmC,GAAM,CAAC,EACjB,WAAYA,GAAM,CAAC,EACnB,OAAQD,GAAMjG,EAAC,CACjB,CAAC,CAAC,CAEN,CACA,OAAOW,EACT,EACA,aAAc,SAAwCoF,GAAG,CAIvD,QAHIC,GAAS,6DACTC,GAAQF,GAAE,WAAW,MAAM;AAAA,CAAI,EAC/BpF,GAAS,CAAC,EACLX,GAAI,EAAGC,GAAMgG,GAAM,OAAQjG,GAAIC,GAAKD,IAAK,EAAG,CACnD,IAAIkG,GAAQF,GAAO,KAAKC,GAAMjG,EAAC,CAAC,EAC5BkG,IACFvF,GAAO,KAAK,IAAIoD,EAAW,CACzB,aAAcmC,GAAM,CAAC,GAAK,OAC1B,SAAUA,GAAM,CAAC,EACjB,WAAYA,GAAM,CAAC,EACnB,OAAQD,GAAMjG,EAAC,CACjB,CAAC,CAAC,CAEN,CACA,OAAOW,EACT,EAEA,aAAc,SAAwCyE,GAAO,CAC3D,IAAIG,GAAWH,GAAM,MAAM,MAAM;AAAA,CAAI,EAAE,OAAO,SAAUI,GAAM,CAC5D,MAAO,CAAC,CAACA,GAAK,MAAMP,CAA2B,GAAK,CAACO,GAAK,MAAM,mBAAmB,CACrF,EAAG,IAAI,EACP,OAAOD,GAAS,IAAI,SAAUC,GAAM,CAClC,IAAIG,GAASH,GAAK,MAAM,GAAG,EACvBI,GAAgB,KAAK,gBAAgBD,GAAO,IAAI,CAAC,EACjDQ,GAAeR,GAAO,MAAM,GAAK,GACjCvB,GAAe+B,GAAa,QAAQ,iCAAkC,IAAI,EAAE,QAAQ,aAAc,EAAE,GAAK,OACzGC,GACAD,GAAa,MAAM,aAAa,IAClCC,GAAUD,GAAa,QAAQ,qBAAsB,IAAI,GAE3D,IAAI5B,GAAO6B,KAAY,QAAaA,KAAY,4BAA8B,OAAYA,GAAQ,MAAM,GAAG,EAC3G,OAAO,IAAIrC,EAAW,CACpB,aAAcK,GACd,KAAMG,GACN,SAAUqB,GAAc,CAAC,EACzB,WAAYA,GAAc,CAAC,EAC3B,aAAcA,GAAc,CAAC,EAC7B,OAAQJ,EACV,CAAC,CACH,EAAG,IAAI,CACT,CACF,CACF,CAAC,EACD,IAAIa,GAAwBrB,GACxBsB,GAAwB,SAAUC,EAAMC,EAAUC,EAAO7B,EAAM,CACjE,IAAI8B,EAAe9B,GAAQA,EAAK,aAAeA,EAAK,aAAe,CAAC,EAChE+B,GAAgB/B,GAAQA,EAAK,cAAgBA,EAAK,cAAgB,CAAC,EACvE,OAAO,KAAK,UAAUgC,GAA2BL,EAAMG,EAAcC,EAAa,EAAGH,EAAUC,CAAK,CACtG,EACII,GAAY,GACZC,GAAY,KACZC,GAAsB,EACtBC,GAAmB,MACvB,SAASC,GAAQC,EAAG,CAClB,OAAOA,aAAa,OAAS,uCAAuC,KAAK,OAAO,UAAU,SAAS,KAAKA,CAAC,CAAC,CAC5G,CACA,SAASC,GAAcC,EAAK,CAC1B,MAAO,aAAeA,EAAMA,EAAI,QAAU,KAAO,GACnD,CACA,SAASC,GAAKC,EAAUC,EAAQ,CAC9B,QAASvH,EAAI,EAAGC,EAAMqH,EAAS,OAAQtH,EAAIC,EAAKD,IAC9C,GAAIsH,EAAStH,CAAC,IAAMuH,EAAQ,MAAO,GAErC,MAAO,EACT,CAGA,SAASC,GAAaC,EAAOC,EAAM,CACjC,QAAS1H,EAAI,EAAGC,EAAMwH,EAAM,OAAQzH,EAAIC,EAAKD,IAC3C,GAAI0H,EAAK,QAAQD,EAAMzH,CAAC,CAAC,IAAM,EAAG,MAAO,GAE3C,MAAO,EACT,CACA,SAAS2H,GAAaC,EAAUlG,EAAK,CACnC,QAAS1B,EAAI,EAAGC,EAAM2H,EAAS,OAAQ5H,EAAIC,EAAKD,IAE9C,GADI,OAAO4H,EAAS5H,CAAC,GAAM,UAAY4H,EAAS5H,CAAC,EAAE,YAAY,IAAM0B,EAAI,YAAY,GACjFkG,EAAS5H,CAAC,GAAK,OAAO4H,EAAS5H,CAAC,EAAE,MAAS,YAAc4H,EAAS5H,CAAC,EAAE,KAAK0B,CAAG,EAAG,MAAO,GAE7F,MAAO,EACT,CACA,SAASmG,GAAYtH,EAAK,CACxB,OAAO,OAAO,UAAU,SAAS,KAAKA,CAAG,IAAM,gBACjD,CACA,SAASuH,GAAcvH,EAAKK,EAAM,CAChC,GAAI,CACF,OAAOL,EAAIK,CAAI,CACjB,OAASwG,EAAK,CACZ,OAAOD,GAAcC,CAAG,CAC1B,CACF,CACA,SAASR,GAA2BrG,EAAKmG,EAAcC,EAAe,CACpE,IAAIoB,EAAO,CAAC,EACRC,EAAQ,EACZ,SAASC,GAAM1H,GAAKmH,GAAM,CACxB,SAASQ,IAAgB,CACvB,OAAOR,GAAK,OAASX,IAAuBiB,EAAQlB,EACtD,CAGA,GAFAkB,IACIN,GAAK,OAASb,IACdqB,GAAc,EAAG,OAAOlB,GAC5B,GAAIzG,KAAQ,MAAQ,OAAOA,IAAQ,SAAU,OAAOA,GACpD,GAAI8G,GAAKU,EAAMxH,EAAG,EAAG,MAAO,aAE5B,GADAwH,EAAK,KAAKxH,EAAG,EACT,OAAOA,GAAI,QAAW,WACxB,GAAI,CAGFyH,IACA,IAAIG,GAAUF,GAAM1H,GAAI,OAAO,EAAGmH,EAAI,EACtC,OAAAK,EAAK,IAAI,EACFI,EACT,OAASf,GAAK,CACZ,OAAOD,GAAcC,EAAG,CAC1B,CAEF,IAAIgB,GAAKnB,GAAQ1G,EAAG,EACpB,GAAI6H,GAAI,CACNJ,IACA,IAAIK,GAAUJ,GAAM,CAClB,KAAM1H,GAAI,KACV,QAASA,GAAI,OACf,EAAGmH,EAAI,EACP,OAAAK,EAAK,IAAI,EACFM,EACT,CACA,GAAIR,GAAYtH,EAAG,EAAG,CAEpB,QADI+H,GAAU,CAAC,EACNtI,GAAI,EAAGC,GAAMM,GAAI,OAAQP,GAAIC,GAAKD,KAAK,CAC9C,GAAIkI,GAAc,EAAG,CACnBI,GAAQ,KAAKtB,EAAgB,EAC7B,KACF,CACAsB,GAAQ,KAAKL,GAAM1H,GAAIP,EAAC,EAAG0H,GAAK,OAAO,IAAI,CAAC,CAAC,CAC/C,CACA,OAAAK,EAAK,IAAI,EACFO,EACT,CACA,IAAI3H,GAAS,CAAC,EACd,GAAI,CACF,QAASC,MAAQL,GACf,GAAK,OAAO,UAAU,eAAe,KAAKA,GAAKK,EAAI,EACnD,IAAI4G,GAAab,EAAee,GAAK,KAAK,GAAG,CAAC,GAAKC,GAAajB,EAAc9F,EAAI,EAAG,CACnFD,GAAOC,EAAI,EAAI,aACf,QACF,CACA,GAAIsH,GAAc,EAAG,CACnBvH,GAAOC,EAAI,EAAIoG,GACf,KACF,CACArG,GAAOC,EAAI,EAAIqH,GAAMH,GAAcvH,GAAKK,EAAI,EAAG8G,GAAK,OAAO9G,EAAI,CAAC,EAEpE,MAAY,CAAC,CACb,OAAAmH,EAAK,IAAI,EACFpH,EACT,CACA,OAAOsH,GAAM1H,EAAK,CAAC,CAAC,CACtB,CAUA,SAASgI,GAAIC,EAAkBC,EAAqBC,EAAMC,EAAS,CACjE,GAAI,OAAOD,GAAS,SAGpB,CAAIC,IAAY,OACdA,EAAU,KACDA,IAAY,MAAQ,OAAOA,GAAY,WAChDA,EAAUrC,GAAsBqC,CAAO,GAEzC,IAAIC,EAAgBH,EAAoBC,CAAI,EAC5C,GAAI,OAAOE,GAAkB,SAAU,CACrCJ,EAAiBI,CAAa,EAAI,CAChC,KAAMF,EACN,QAASC,CACX,EACA,MACF,CACAH,EAAiB,KAAK,CACpB,KAAME,EACN,QAASC,CACX,CAAC,EACDF,EAAoBC,CAAI,EAAIF,EAAiB,OAAS,EACxD,CACA,SAASK,GAAML,EAAkBM,EAAaL,EAAqB,CACjE,GAAKnI,EAAawI,CAAW,EAG7B,SAAS9I,EAAI,EAAGA,EAAI8I,EAAY,OAAQ,EAAE9I,EAAG,CAC3C,IAAI8B,EAAUgH,EAAY9I,CAAC,EACvB8B,IAAY,MAAQ,OAAOA,GAAY,UAK3CyG,GAAIC,EAAkBC,EAAqB3G,EAAQ,KAAMA,EAAQ,OAAO,CAC1E,CACA,OAAO0G,EACT,CAKA,SAASO,GAAWC,EAAc,CAChC,OAAO9G,GAAShC,EAAY8I,EAAc,OAAO,EAAG,SAAUC,EAAM,CAClE,IAAIP,EAAOO,EAAK,KACdN,EAAUM,EAAK,QACbC,EAAO,CACT,YAAaR,CACf,EAGA,OAAI,OAAOC,GAAY,WACrBO,EAAK,QAAUP,GAEVO,CACT,CAAC,CACH,CACA,SAASC,GAAMC,EAAUC,EAAeX,EAAM,CAC5C,IAAIE,EAAgBS,EAAcX,CAAI,EAClC,OAAOE,GAAkB,WAC3BQ,EAASR,CAAa,EAAI,KAC1B,OAAOS,EAAcX,CAAI,EAE7B,CACA,IAAIY,GAA2B,CAC7B,IAAKf,GACL,MAAOY,GACP,MAAON,GACP,WAAYE,EACd,EAGIQ,GAAgB,SAAUnC,EAAK,CACjC,MAAO,CAAC,CAACA,IAAQ,CAAC,CAACA,EAAI,OAAS,CAAC,CAACA,EAAI,YAAc,CAAC,CAACA,EAAI,iBAAiB,IAAM,OAAQA,EAAI,OAASA,EAAI,YAAcA,EAAI,iBAAiB,IAAO,UAAYA,EAAI,QAAUA,EAAI,KAAO,KAAOA,EAAI,OACtM,EAMIoC,GAAcC,GASlB,SAASA,GAAYzI,EAAO,CAC1B,OAAQ,OAAO,UAAU,SAAS,KAAKA,CAAK,EAAG,CAC7C,IAAK,iBACH,MAAO,GACT,IAAK,qBACH,MAAO,GACT,IAAK,wBACH,MAAO,GACT,QACE,OAAOA,aAAiB,KAC5B,CACF,CACA,IAAI0I,GAAeF,GAIfG,GAAW,SAAUC,EAAOC,EAASC,EAAUC,EAAU,CAC3D,IAAIC,EACJ,GAAKH,EACL,KAAII,GAGJ,GAAIH,IAAa,KAAM,OAAOI,GAAWN,EAAOC,CAAO,EAGnD,OAAOC,GAAa,WAAUG,GAAUH,GACxC,OAAOA,GAAa,WAAUG,IAAWD,EAAW,CAAC,EAAGA,EAASF,CAAQ,EAAIC,EAAUC,IAGtFC,KAGDJ,IAAY,aAAeA,IAAY,eAAiBA,IAAY,cAKnED,EAAMC,CAAO,IAAGD,EAAMC,CAAO,EAAI,CAAC,GAGvCD,EAAMC,CAAO,EAAI9H,GAAY,CAAC,EAAG6H,EAAMC,CAAO,EAAGI,EAAO,IAC1D,EACIE,GAAM,SAAUP,EAAOC,EAASnI,EAAK,CACvC,GAAI,OAAOmI,GAAY,SACvB,IAAI,CAACnI,EACH,OAAOkI,EAAMC,CAAO,EAEtB,GAAID,EAAMC,CAAO,EACf,OAAOD,EAAMC,CAAO,EAAEnI,CAAG,EAG7B,EACIwI,GAAa,SAAUN,EAAOC,EAASnI,EAAK,CAC9C,GAAI,OAAOmI,GAAY,SAGvB,IAAI,CAACnI,EAAK,CACR,OAAOkI,EAAMC,CAAO,EACpB,MACF,CAGIA,IAAY,aAAeA,IAAY,eAAiBA,IAAY,aAKpED,EAAMC,CAAO,GACf,OAAOD,EAAMC,CAAO,EAAEnI,CAAG,EAE7B,EACI0I,GAAwB,CAC1B,IAAKT,GACL,IAAKQ,GACL,MAAOD,EACT,EACA,SAASG,IAAgB,CACvB,OAAAA,GAAgB,OAAO,OAAS,OAAO,OAAO,KAAK,EAAI,SAAUrI,EAAQ,CACvE,QAAShC,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAK,CACzC,IAAIiC,EAAS,UAAUjC,CAAC,EACxB,QAAS0B,KAAOO,EACV,OAAO,UAAU,eAAe,KAAKA,EAAQP,CAAG,IAClDM,EAAON,CAAG,EAAIO,EAAOP,CAAG,EAG9B,CACA,OAAOM,CACT,EACOqI,GAAc,MAAM,KAAM,SAAS,CAC5C,CAqBA,IAAIC,GAAqB,UAAY,CACnC,SAASA,EAAMC,EAAYC,EAAcC,EAAYC,GAAcC,GAAe,CAC5EF,IAAe,SACjBA,EAAa,CAAC,GAEZC,KAAiB,SACnBA,GAAeE,GAAoB,GAErC,KAAK,OAAS,OACd,KAAK,QAAU,OACf,KAAK,aAAe,OACpB,KAAK,cAAgBD,GACrB,KAAK,cAAgBD,GACrB,KAAK,SAAW,KAAK,cAAc,SACnC,KAAK,UAAY,KAAK,cAAc,UACpC,KAAK,IAAM,CAAC,EACZ,KAAK,OAAS,CAAC,EACf,KAAK,QAAU,CAAC,EAChB,KAAK,YAAc,CAAC,EACpB,KAAK,QAAU,CAAC,EAChB,KAAK,UAAY,CAAC,EAClB,KAAK,UAAY,CAAC,EAClB,KAAK,eAAiB,CAAC,EACvB,KAAK,MAAQ,CAAC,EACd,KAAK,SAAW,OAChB,KAAK,aAAe,OACpB,KAAK,OAAS,CAACG,GAAmBN,EAAYC,EAAcF,EAAM,OAAQG,CAAU,CAAC,CAOvF,CACA,IAAI1H,EAASuH,EAAM,UACnB,OAAAvH,EAAO,YAAc,SAAqB8G,EAASC,EAAUC,GAAU,CACrE,OAAOK,GAAsB,IAAI,KAAK,UAAWP,EAASC,EAAUC,EAAQ,CAC9E,EASAhH,EAAO,oBAAsB,SAA6B+H,EAASC,EAAQ,CACrE,OAAOD,GAAY,WACrB,KAAK,aAAeT,GAAc,CAChC,QAASS,CACX,EAAG,OAAOC,GAAW,SAAW,CAC9B,OAAQA,CACV,EAAI,CAAC,CAAC,EAEV,EACAhI,EAAO,YAAc,SAAqB8G,EAASnI,EAAK,CACtD,OAAO0I,GAAsB,IAAI,KAAK,UAAWP,EAASnI,CAAG,CAC/D,EACAqB,EAAO,cAAgB,SAAuB8G,EAASnI,EAAK,CAC1D,OAAO0I,GAAsB,MAAM,KAAK,UAAWP,EAASnI,CAAG,CACjE,EACAqB,EAAO,eAAiB,SAAwB2F,EAAMC,EAAS,CACzDA,IAAY,SACdA,EAAU,MAEZW,GAAyB,IAAI,KAAK,UAAW,KAAK,eAAgBZ,EAAMC,CAAO,CACjF,EACA5F,EAAO,gBAAkB,SAAyBiG,EAAc,CAC9DM,GAAyB,MAAM,KAAK,UAAWN,EAAc,KAAK,cAAc,CAClF,EACAjG,EAAO,gBAAkB,UAA2B,CAClD,OAAOuG,GAAyB,WAAW,KAAK,SAAS,CAC3D,EACAvG,EAAO,iBAAmB,SAA0B2F,EAAM,CACxDY,GAAyB,MAAM,KAAK,UAAW,KAAK,eAAgBZ,CAAI,CAC1E,EACA3F,EAAO,kBAAoB,UAA6B,CACtD,KAAK,UAAY,CAAC,EAClB,KAAK,eAAiB,CAAC,CACzB,EACAA,EAAO,QAAU,UAAmB,CAClC,OAAO,KAAK,KACd,EACAA,EAAO,QAAU,SAAiBiI,EAAIC,EAAOvC,GAAM,CACjD,KAAK,MAAQ,CACX,GAAIsC,EACJ,MAAOC,EACP,KAAMvC,EACR,CACF,EACA3F,EAAO,OAAS,UAAkB,CAChC,MAAO,CACL,eAAgB,IAChB,WAAYb,GAAS,KAAK,OAAQ,SAAUkG,EAAI,CAC9C,OAAOrG,GAAY,CAAC,EAAGqG,EAAI,CACzB,QAASA,EAAG,YACd,CAAC,CACH,CAAC,EACD,SAAU,KAAK,SACf,UAAW,KAAK,cAAc,UAC9B,eAAgB,KAAK,cAAc,eACnC,IAAK,KAAK,IACV,OAAQ,KAAK,OACb,QAAS,KAAK,QACd,YAAa,KAAK,YAClB,QAAS,KAAK,QACd,aAAc,KAAK,aACnB,SAAU,KAAK,UACf,KAAM,KAAK,MACX,QAAS,KAAK,SACd,aAAc,KAAK,gBAAgB,EACnC,YAAa,KAAK,YACpB,CACF,EACOkC,CACT,EAAE,EAEEY,GAAmB,SAAUC,EAAO,CACtC,IAAI5L,EAAI,CACN,KAAM4L,EAAM,SACZ,OAAQC,GAAsBD,EAAM,YAAY,EAChD,WAAYA,EAAM,WAClB,aAAcA,EAAM,aACpB,KAAM,OACN,UAAW,MACb,EAKA,OAAI5L,EAAE,WAAa,IAAM,CAACA,EAAE,MAAQ,CAACA,EAAE,SACrCA,EAAE,KAAO,eAEJA,CACT,EACI6L,GAAwB,SAAU1C,EAAM,CAC1C,MAAO,iBAAiB,KAAKA,CAAI,EAAI,cAAgBA,CACvD,EACIkC,GAAsB,UAAY,CACpC,MAAO,CACL,UAAW,GACX,SAAU,UACV,eAAgB,CACd,KAAM,kBACR,CACF,CACF,EACIS,GAAe,SAAU9H,EAAK,CAChC,OAAO,OAAOA,GAAQ,SAAWA,EAAM,EACzC,EACA,SAASsH,GAAmBN,EAAYC,EAAc3H,EAAM4H,EAAY,CACtE,MAAO,CACL,WAAYY,GAAad,CAAU,EACnC,aAAcc,GAAab,CAAY,EACvC,KAAM3H,EACN,WAAYlD,EAAY8K,EAAY,SAAU3K,EAAOqL,GAAO,CAC1D,IAAI5L,GAAI2L,GAAiBC,EAAK,EAE9B,GAAI,CACF,OAAI,KAAK,UAAU5L,EAAC,IAAM,KAAaO,EAChCA,EAAM,OAAOP,EAAC,CACvB,MAAY,CACV,OAAOO,CACT,CACF,EAAG,CAAC,CAAC,CACP,CACF,CACA,SAASwL,GAAclG,EAAO,CAC5B,OAAIA,EAAM,MACD,CAACA,CAAK,EAAE,OAAOkG,GAAclG,EAAM,KAAK,CAAC,EAEzC,CAACA,CAAK,CAEjB,CAIAkF,GAAM,cAAgB,SAAUlF,EAAOmG,EAAmBC,EAAuB,CAC/E,GAAIjC,GAAcnE,CAAK,EAAG,OAAOiB,GAAsB,MAAMjB,CAAK,EAAE,MAAMmG,CAAiB,EAE3F,GAAI,CACF,OAAOrL,EAAYyE,GAAmB,UAAU,EAAG,SAAUwG,EAAO,CAClE,OAAQA,EAAM,cAAgB,IAAI,QAAQ,kBAAkB,IAAM,EACpE,CAAC,EAAE,MAAM,EAAIK,CAAqB,CACpC,MAAY,CACV,MAAO,CAAC,CACV,CACF,EACAlB,GAAM,OAAS,SAAUmB,EAAYC,EAAmBhB,EAAciB,EAAWJ,EAAmBhJ,GAAQ,CACtGgJ,IAAsB,SACxBA,EAAoB,GAEtB,IAAIK,GAAkBC,GAAeJ,EAAYC,EAAmBC,EAAWpJ,EAAM,EACnF6C,GAAQwG,GAAgB,CAAC,EACzBE,GAAiBF,GAAgB,CAAC,EAChCG,GACJ,GAAI,CACF,IAAItB,GAAaH,GAAM,cAAclF,GAKrC0G,GAAiB,EAAI,EAAIA,GAAiBP,EAAoB,EAG9D,EAAIA,CAAiB,EACrBQ,GAAQ,IAAIzB,GAAMlF,GAAM,KAAMA,GAAM,QAASqF,GAAYC,EAAce,CAAU,CACnF,MAAY,CACVM,GAAQ,IAAIzB,GAAMlF,GAAM,KAAMA,GAAM,QAAS,CAAC,EAAGsF,EAAce,CAAU,CAC3E,CAIA,GAHIrG,GAAM,OAAS,gBACjB2G,GAAM,YAAY,GAAKJ,EAAW,sBAAuBK,GAAiBP,CAAU,CAAC,EAEnFrG,GAAM,MAAO,CACf,IAAI6G,GACAC,GAASZ,GAAclG,EAAK,EAAE,MAAM,CAAC,EACrC+G,GAAmBjK,GAASgK,GAAQ,SAAUE,GAAO,CAEvD,IAAI3B,GAAaf,GAAa0C,EAAK,GAAK7C,GAAc6C,EAAK,EAAI/F,GAAsB,MAAM+F,EAAK,EAAI,CAAC,EACjGC,GAAmBR,GAAeO,GAAO,GAAM,aAAa,EAC9DhH,GAAQiH,GAAiB,CAAC,EAC5B,OAAIjH,GAAM,OAAS,gBAAgB2G,GAAM,YAAY,cAAeC,GAAiBI,EAAK,CAAC,EACpFvB,GAAmBzF,GAAM,KAAMA,GAAM,QAASkF,GAAM,OAAQG,EAAU,CAC/E,CAAC,GACAwB,GAAgBF,GAAM,QAAQ,KAAK,MAAME,GAAeE,EAAgB,CAC3E,CACA,OAAOJ,EACT,EACA,IAAIC,GAAmB,SAAU5E,EAAK,CACpC,OAAIA,IAAQ,KAAa,OACrBA,IAAQ,OAAkB,YACvBA,CACT,EACIyE,GAAiB,SAAUJ,EAAYC,EAAmBC,EAAWpJ,EAAQ,CAC/E,IAAI6C,EACA0G,GAAiB,EACjBQ,GAAyB,SAAUC,GAAQ,CAC7C,IAAIC,GAAOb,IAAc,cAAgB,MAAQ,WAC7CpJ,GAAQA,EAAO,KAAKoJ,EAAY,IAAMa,GAAO,kBAAqBD,GAAS,GAAI,EACnF,IAAInF,GAAM,IAAI,MAAMuE,EAAY,IAAMa,GAAO,sBAAyBb,EAAY,wBAAyB,EAC3G,OAAAvE,GAAI,KAAO,eACJA,EACT,EAUA,GAAI,CAACsE,EACChC,GAAa+B,CAAU,EACzBrG,EAAQqG,GAERrG,EAAQkH,GAAuB,OAAOb,CAAU,EAChDK,IAAkB,OAGpB,QAAQ,OAAOL,EAAY,CACzB,IAAK,SACL,IAAK,SACL,IAAK,UACHrG,EAAQ,IAAI,MAAM,OAAOqG,CAAU,CAAC,EACpCK,IAAkB,EAClB,MACF,IAAK,WACH1G,EAAQkH,GAAuB,UAAU,EACzCR,IAAkB,EAClB,MACF,IAAK,SACCL,IAAe,MAAQ/B,GAAa+B,CAAU,EAChDrG,EAAQqG,EACCA,IAAe,MAAQgB,GAAmBhB,CAAU,GAC7DrG,EAAQ,IAAI,MAAMqG,EAAW,SAAWA,EAAW,YAAY,EAC/DrG,EAAM,KAAOqG,EAAW,MAAQA,EAAW,WAC3CK,IAAkB,IAElB1G,EAAQkH,GAAuBb,IAAe,KAAO,OAAS,oBAAoB,EAClFK,IAAkB,GAEpB,MACF,QACE1G,EAAQkH,GAAuB,SAAS,EACxCR,IAAkB,CACtB,CAEF,GAAI,CAACvC,GAAcnE,CAAK,EAEtB,GAAI,CACF,MAAMA,CACR,OAASW,GAAG,CACNwD,GAAcxD,EAAC,IACjBX,EAAQW,GAIR+F,GAAiB,EAErB,CAEF,MAAO,CAAC1G,EAAO0G,EAAc,CAC/B,EAGAxB,GAAM,OAAS,YACf,IAAImC,GAAqB,SAAUrH,EAAO,CACxC,OAAQ,OAAOA,EAAM,MAAS,UAAY,OAAOA,EAAM,YAAe,YAAc,OAAOA,EAAM,SAAY,UAAY,OAAOA,EAAM,cAAiB,SACzJ,EACIsH,GAAapC,GAabqC,GAAkB,SAAU/M,EAAKC,EAAI+M,EAAI,CAC3C,IAAIC,EAAQ,EACRC,EAAO,UAAY,CACrB,GAAID,GAASjN,EAAI,OAAQ,OAAOgN,EAAG,KAAM,EAAI,EAC7C/M,EAAGD,EAAIiN,CAAK,EAAG,SAAUzF,GAAKzG,GAAQ,CACpC,GAAIyG,GAAK,OAAOwF,EAAGxF,EAAG,EACtB,GAAIzG,KAAW,GAAO,OAAOiM,EAAG,KAAM,EAAK,EAC3CC,IACAC,EAAK,CACP,CAAC,CACH,EACAA,EAAK,CACP,EAIIC,GAAsB,SAAUC,EAAWjB,EAAOkB,EAAiBL,EAAI,CAMzE,IAAIM,EAAwB,SAAUrN,GAAI+M,GAAI,CAC5C,GAAI,OAAO/M,IAAO,WAAY,OAAO+M,GAAG,IAAI,EAC5C,GAAI,CAEF,GAAI/M,GAAG,SAAW,EAAG,CACnB,IAAIsN,GAAMtN,GAAGkM,CAAK,EAElB,OAAIoB,IAAO,OAAOA,GAAI,MAAS,WACtBA,GAAI,KAEX,SAAUpN,GAAK,CACb,OAAO,WAAW,UAAY,CAC5B,OAAO6M,GAAG,KAAM7M,EAAG,CACrB,CAAC,CACH,EAEA,SAAUqH,GAAK,CACb,WAAW,UAAY,CACrB,OAAA6F,EAAgB7F,EAAG,EACZwF,GAAG,KAAM,EAAI,CACtB,CAAC,CACH,CAAC,EAEIA,GAAG,KAAMO,EAAG,CACrB,CAEAtN,GAAGkM,EAAO,SAAU3E,GAAKzG,GAAQ,CAC/B,GAAIyG,GACF,OAAA6F,EAAgB7F,EAAG,EACZwF,GAAG,IAAI,EAEhBA,GAAG,KAAMjM,EAAM,CACjB,CAAC,CACH,OAASoF,GAAG,CACVkH,EAAgBlH,EAAC,EACjB6G,GAAG,IAAI,CACT,CACF,EACAD,GAAgBK,EAAWE,EAAuBN,CAAE,CACtD,EACIQ,GAA0B,SAAUJ,EAAWK,EAAaC,EAAc/K,EAAQ,CAGpF,QAFIgL,EAAS,GACTC,GAAMR,EAAU,MAAM,EACnB,CAACO,GACDC,GAAI,QACT,GAAI,CACFD,EAASC,GAAI,IAAI,EAAEH,CAAW,IAAM,EACtC,OAAStH,GAAG,CACVxD,EAAO,MAAM,qBAAuB+K,EAAe,oCAAoC,EACvF/K,EAAO,MAAMwD,EAAC,CAChB,CAEF,OAAOwH,CACT,EACIE,GAAU,SAAaC,EAAKC,EAAM,CACpC,IAAI/L,EAAI,YAAc8L,EACtB,OAAO9L,EAAE,OAAOA,EAAE,OAAS+L,CAAI,CACjC,EAIIC,GAAM,OAAO,QAAW,SAAW,OAAS,KAC5CC,GAAc,EAClB,QAASjN,MAAQgN,GACX,OAAO,eAAe,KAAKA,GAAKhN,EAAI,GAAGiN,KAE7C,IAAIC,GAAkB,UAAU,UAAY,UAAU,UAAU,OAAS,EACrEC,GAAWN,IAASK,GAAkB,UAAU,UAAU,QAAQ,SAAS,EAAE,EAAID,GAAY,SAAS,EAAE,EAAG,CAAC,EAC5GG,GAAkB,UAAuB,CAC3C,OAAOD,EACT,EAOIE,GAAa,SAAgBjN,EAAO,CACtC,OAAO,OAAOA,GAAU,UAAY,qBAAqB,KAAKA,CAAK,CACrE,EAoBIkN,GAAI,EACNC,GAAY,EACZC,GAAO,GACPC,GAAiB,KAAK,IAAID,GAAMD,EAAS,EAC3C,SAASG,IAAc,CACrB,OAAOb,IAAS,KAAK,OAAO,EAAIY,IAAkB,GAAG,SAASD,EAAI,EAAGD,EAAS,CAChF,CACA,SAASI,IAAc,CACrB,OAAAL,GAAIA,GAAIG,GAAiBH,GAAI,EAC7BA,KACOA,GAAI,CACb,CACA,SAASM,IAAO,CAGd,IAAIC,EAAS,IAMX3L,EAAY,IAAI,KAAK,EAAE,QAAQ,EAAE,SAASsL,EAAI,EAE9CM,EAAUjB,GAAQc,GAAY,EAAE,SAASH,EAAI,EAAGD,EAAS,EAIzDQ,EAAQX,GAAgB,EAExBY,EAASN,GAAY,EAAIA,GAAY,EACvC,OAAOG,EAAS3L,EAAY4L,EAAUC,EAAQC,CAChD,CACAJ,GAAK,YAAcR,GACnBQ,GAAK,OAASP,GACd,IAAIY,GAAWL,GAIXM,GAAuB,UAAY,CACrC,SAASA,GAAU,CACjB,KAAK,GAAKD,GAAS,EACnB,KAAK,UAAY,IAAI,KACrB,KAAK,SAAW,EAChB,KAAK,WAAa,EAClB,KAAK,MAAQ,CAAC,EACd,KAAK,IAAM,CAAC,EACZ,KAAK,OAAS,CAAC,CACjB,CACA,IAAI9L,EAAS+L,EAAQ,UACrB,OAAA/L,EAAO,QAAU,UAAmB,CAClC,OAAO,KAAK,KACd,EACAA,EAAO,QAAU,SAAiBiI,EAAIC,EAAOvC,GAAM,CACjD,KAAK,MAAQ,CACX,GAAIsC,EACJ,MAAOC,EACP,KAAMvC,EACR,CACF,EACA3F,EAAO,OAAS,UAAkB,CAChC,MAAO,CACL,GAAI,KAAK,GACT,UAAW,KAAK,UAChB,OAAQ,CACN,QAAS,KAAK,SACd,UAAW,KAAK,UAClB,CACF,CACF,EACAA,EAAO,OAAS,SAAgBgJ,EAAO,CACrC,KAAKA,EAAM,cAAc,UAAY,aAAe,UAAU,GAAK,CACrE,EACO+C,CACT,EAAE,EACEC,GAAeD,GA8BfE,GAAW1F,GAAyB,IACtC2F,GAAa3F,GAAyB,MACtC4F,GAAa5F,GAAyB,MACpC6F,GAAO,UAAY,CAAC,EACpBC,GAAsB,UAAY,CACpC,SAASA,EAAOC,EAAejN,EAAQkN,EAAiBC,GAAU,CAChE,IAAIC,GAAQ,KACRpN,IAAW,SACbA,EAASjB,GAAY,QAEnBmO,IAAoB,SACtBA,EAAkB,CAAC,GAGrB,KAAK,UAAYC,GAGjB,KAAK,QAAU,CAAC,EAChB,KAAK,QAAUnN,EAGf,KAAK,UAAY,CACf,YAAa+M,GACb,UAAWA,EACb,EACA,KAAK,QAAU,CACb,MAAOA,GACP,KAAMA,GACN,KAAMA,GACN,MAAOA,EACT,EAGA,KAAK,SAAW,CAAC,EAGjB,KAAK,aAAe,CAAC,EACrB,KAAK,SAAW,KAChB,KAAK,UAAY,CAAC,EAClB,KAAK,eAAiB,CAAC,EACvB,KAAK,UAAY,CAAC,EAClB,KAAK,SAAW,OAChB,KAAK,MAAQ,CAAC,EASd,KAAK,KAAO,CACV,EAAG,CAAC,EACJ,EAAG,CAAC,EACJ,GAAI,CAAC,EACL,EAAG,CAAC,CACN,EAGA,KAAK,OAASC,EACd,KAAK,MAAQ1C,GACb,KAAK,WAAa1J,GAClB,KAAK,QAAU+L,GACf,KAAK,QAAU,KAAK,WAAWM,EAAeC,CAAe,EAC7DpN,GAASoN,EAAgB,OAAO,KAAK,QAAQ,OAAO,EAAG,SAAUG,GAAI,CAC/DA,IAAID,GAAM,YAAYC,EAAE,CAC9B,CAAC,EAKD,KAAK,OAAS,EACd,IAAIC,GAAO,KACPC,GAAS,KAAK,OAClB,KAAK,OAAS,UAAY,CACxB,OAAOA,GAAO,MAAMD,GAAM,SAAS,CACrC,CACF,CACA,IAAI3M,EAASqM,EAAO,UACpB,OAAArM,EAAO,YAAc,SAAqB8G,EAASC,EAAUC,GAAU,CACrE,OAAOK,GAAsB,IAAI,KAAK,UAAWP,EAASC,EAAUC,EAAQ,CAC9E,EACAhH,EAAO,YAAc,SAAqB8G,EAASnI,EAAK,CACtD,OAAO0I,GAAsB,IAAI,KAAK,UAAWP,EAASnI,CAAG,CAC/D,EACAqB,EAAO,cAAgB,SAAuB8G,EAASnI,EAAK,CAC1D,OAAO0I,GAAsB,MAAM,KAAK,UAAWP,EAASnI,CAAG,CACjE,EACAqB,EAAO,eAAiB,SAAwB2F,EAAMC,EAAS,CACzDA,IAAY,SACdA,EAAU,MAEZqG,GAAS,KAAK,UAAW,KAAK,eAAgBtG,EAAMC,CAAO,CAC7D,EACA5F,EAAO,gBAAkB,SAAyBiG,EAAc,CAC9DkG,GAAW,KAAK,UAAWlG,EAAc,KAAK,cAAc,CAC9D,EACAjG,EAAO,iBAAmB,SAA0B2F,EAAM,CACxDuG,GAAW,KAAK,UAAW,KAAK,eAAgBvG,CAAI,CACtD,EACA3F,EAAO,kBAAoB,UAA6B,CACtD,KAAK,UAAY,CAAC,EAClB,KAAK,eAAiB,CAAC,CACzB,EACAA,EAAO,WAAa,UAAsB,CACxC,OAAO,KAAK,QACd,EACAA,EAAO,WAAa,SAAoBmL,EAAG,CACzC,KAAK,SAAWA,CAClB,EACAnL,EAAO,WAAa,SAAoB6B,EAAM0K,EAAiB,CAC7D,IAAIlN,GAASzC,EAAY2P,EAAiB,SAAUlN,GAAQwN,GAAQ,CAClE,OAAIA,IAAUA,GAAO,aAAqB7N,GAAY,CAAC,EAAGK,GAAQwN,GAAO,YAAY,EAC9ExN,EACT,EAAG,KAAK,OAAO,EAGVwC,EAAK,YACRA,EAAK,qBAAuB,yBAA0BA,EAAOA,EAAK,qBAAuB,IAI3F,IAAIiL,GAAUlQ,EAAYe,GAAU0B,EAAM,EAAG,SAAUtC,GAAO4B,GAAK,CAC/D,IAAIoO,GAAe1N,GAAOV,EAAG,EAAE,aAAakD,EAAKlD,EAAG,CAAC,EACrD,GAAIkD,EAAKlD,EAAG,IAAM,OAAW,CAC3B,IAAIqO,GAAQ3N,GAAOV,EAAG,EAAE,SAASkD,EAAKlD,EAAG,CAAC,EACrCqO,GAIC3N,GAAOV,EAAG,EAAE,mBACd5B,GAAM,OAAO4B,EAAG,EAAIK,GAAY+N,GAAclL,EAAKlD,EAAG,CAAC,EAEvD5B,GAAM,OAAO4B,EAAG,EAAIkD,EAAKlD,EAAG,GAN9B5B,GAAM,OAAO4B,EAAG,EAAIU,GAAOV,EAAG,EAAE,QAChC5B,GAAM,OAAO4B,EAAG,EAAIoO,GAQxB,MACEhQ,GAAM,OAAO4B,EAAG,EAAIoO,GAEtB,OAAOhQ,EACT,EAAG,CACD,OAAQ,CAAC,EACT,OAAQ,CAAC,CACX,CAAC,EACDkQ,GAASH,GAAQ,OACjBI,GAASJ,GAAQ,OACnB,GAAIzN,GAAO,OAAQ,CAEjB,GAAI,CAAC6N,GAAO,OAAQ,MAAM,IAAI,MAAM,wBAAwB,EAEvD,kBAAkB,KAAKA,GAAO,MAAM,IAAGD,GAAO,OAAS,kDAC9D,CAGA,YAAK,UAAYjO,GAAY,CAAC,EAAGkO,GAAO,QAAQ,EAChDf,GAAW,KAAK,UAAWe,GAAO,aAAc,KAAK,cAAc,EACnE,KAAK,MAAQlO,GAAY,CAAC,EAAGkO,GAAO,IAAI,EACxC,KAAK,SAAWA,GAAO,QACnBA,GAAO,SAAQ,KAAK,QAAUA,GAAO,QAGrCA,GAAO,UAAS,KAAK,KAAK,EAAI,KAAK,KAAK,EAAE,OAAOA,GAAO,OAAO,GAC/DA,GAAO,eAAc,KAAK,KAAK,EAAI,KAAK,KAAK,EAAE,OAAOA,GAAO,YAAY,GACzEA,GAAO,YAAW,KAAK,KAAK,EAAI,KAAK,KAAK,EAAE,OAAOA,GAAO,SAAS,GAGnEvP,GAAUsP,EAAM,EAAE,QACpB,KAAK,QAAQ,KAAKE,GAA2BF,GAAQpL,CAAI,CAAC,EAErDqL,EACT,EACAlN,EAAO,QAAU,UAAmB,CAClC,OAAO,KAAK,KACd,EACAA,EAAO,QAAU,SAAiBiI,EAAIC,EAAOvC,GAAM,CACjD,KAAK,MAAQ,CACX,GAAIsC,EACJ,MAAOC,EACP,KAAMvC,EACR,CACF,EACA3F,EAAO,YAAc,SAAqB6M,EAAQ,CAChD,IAAIjP,EAASiP,EAAO,KAAK,IAAI,EAKzBA,EAAO,OAAM,KAAK,SAAS,IAAMA,EAAO,KAAO,GAAG,EAAIjP,EAC5D,EACAoC,EAAO,UAAY,SAAmB2F,EAAM,CAC1C,OAAO,KAAK,SAAS,IAAMA,EAAO,GAAG,CACvC,EACA3F,EAAO,aAAe,SAAsBoN,EAAG,CAC7C,KAAK,UAAYA,EAAE,IAAI,CACzB,EACApN,EAAO,aAAe,UAAwB,CAC5C,IAAIqN,EAAU,IAAIrB,GAClBqB,EAAQ,IAAI,aAAe,KAAK,QAAQ,aACxCA,EAAQ,IAAI,QAAU,KAAK,QAAQ,WACnCA,EAAQ,IAAI,KAAO,KAAK,QAAQ,QAChCA,EAAQ,MAAQrO,GAAY,CAAC,EAAG,KAAK,KAAK,EAG1C,IAAIwL,EAASH,GAAwB,KAAK,KAAK,EAAGgD,EAAS,YAAa,KAAK,OAAO,EACpF,OAAI7C,GACF,KAAK,QAAQ,MAAM,+CAA+C,EAC3D,MAEF,KAAK,iBAAiB,aAAa,KAAM6C,CAAO,CACzD,EACArN,EAAO,WAAa,SAAoBlD,EAAIwQ,EAAO,CAC7CA,IAAU,SACZA,EAAQ,IAEV,KAAK,KAAK,EAAEA,EAAQ,UAAY,MAAM,EAAExQ,CAAE,CAC5C,EACAkD,EAAO,cAAgB,SAAuBlD,EAAI,CAChD,KAAK,KAAK,EAAIK,EAAY,KAAK,KAAK,EAAG,SAAUX,EAAG,CAClD,OAAOA,IAAMM,CACf,CAAC,CACH,EACAkD,EAAO,qBAAuB,SAA8BlD,EAAI,CAC9D,KAAK,KAAK,GAAG,KAAKA,CAAE,CACtB,EACAkD,EAAO,aAAe,SAAsBlD,EAAI,CAC9C,KAAK,KAAK,EAAE,KAAKA,CAAE,CACrB,EACAkD,EAAO,gBAAkB,SAAyBlD,EAAI,CACpD,KAAK,KAAK,EAAIK,EAAY,KAAK,KAAK,EAAG,SAAUX,EAAG,CAClD,OAAOA,IAAMM,CACf,CAAC,CACH,EACAkD,EAAO,gBAAkB,SAAyBlD,EAAIwQ,EAAO,CACvDA,IAAU,SACZA,EAAQ,IAEV,KAAK,KAAK,EAAEA,EAAQ,UAAY,MAAM,EAAExQ,CAAE,CAC5C,EACAkD,EAAO,mBAAqB,SAA4BlD,EAAI,CAC1D,KAAK,KAAK,EAAIK,EAAY,KAAK,KAAK,EAAG,SAAUX,EAAG,CAClD,OAAOA,IAAMM,CACf,CAAC,CACH,EACAkD,EAAO,aAAe,UAAwB,CAC5C,OAAO,KAAK,iBAAiB,aAAa,IAAI,CAChD,EACAA,EAAO,cAAgB,UAAyB,CAC9C,OAAO,KAAK,iBAAiB,cAAc,IAAI,CACjD,EACAA,EAAO,gBAAkB,SAAyBJ,EAASC,EAAUC,GAAM,CAOzE,GALAF,EAAU,OAAOA,GAAY,SAAWA,EAAU,GAClDE,GAAO,OAAOA,IAAS,UAAYzC,EAAcV,EAAsBmD,EAAI,EAAIA,GAAO,SACtFD,EAAW,OAAOA,GAAa,UAAYA,IAAa,KAAOA,EAAW,CAAC,EAGvE,EAACD,EACL,KAAI2N,GAAQ,IAAItN,GAAgBL,EAASC,EAAUC,EAAI,EAGnD0K,GAASH,GAAwB,KAAK,KAAK,EAAGkD,GAAO,eAAgB,KAAK,OAAO,EACrF,GAAI/C,GAAQ,CACV,KAAK,QAAQ,MAAM,sDAAsD,EACzE,MACF,CAGA,KAAK,aAAa,KAAK+C,EAAK,EACxB,KAAK,aAAa,OAAS,KAAK,QAAQ,iBAC1C,KAAK,aAAe,KAAK,aAAa,MAAM,KAAK,aAAa,OAAS,KAAK,QAAQ,cAAc,GAEtG,EACAvN,EAAO,yBAA2B,SAAkCF,EAAM,CACxE,IAAI0N,EAAQ,KAAK,QAAQ,uBACzB,OAAOA,IAAU,MAAQnQ,EAAcmQ,EAAO1N,CAAI,CACpD,EACAE,EAAO,OAAS,SAAgB0I,EAAY+E,EAASC,GAAoB,CACnEA,KAAuB,SACzBA,GAAqBtB,IAEvB,IAAIpD,GAAQW,GAAW,OAAOjB,EAAY,GAAM,OAAW,WAAY,KAAK,OAAS,EAAG,KAAK,OAAO,EACpG,KAAK,QAAQM,GAAOyE,EAASC,EAAkB,CACjD,EACA1N,EAAO,QAAU,SAAiBgJ,EAAOyE,EAASC,GAAoB,CACpE,IAAIC,GAAS,KAgBb,GAfID,KAAuB,SACzBA,GAAqBtB,IAEvBpD,EAAM,IAAMhK,GAAY,CAAC,EAAGgK,EAAM,IAAK,CACrC,aAAc,KAAK,QAAQ,aAC3B,QAAS,KAAK,QAAQ,WACtB,KAAM,KAAK,QAAQ,OACrB,CAAC,EACDA,EAAM,QAAUA,EAAM,SAAW,KAAK,SACtCA,EAAM,UAAYhK,GAAY,CAAC,EAAGgK,EAAM,UAAW,KAAK,SAAS,EACjEA,EAAM,MAAQhK,GAAY,CAAC,EAAGgK,EAAM,MAAO,KAAK,KAAK,EACrDA,EAAM,YAAc,KAAK,aAAa,MAAM,EAC5CmD,GAAWnD,EAAM,UAAW,KAAK,UAAWA,EAAM,cAAc,EAG5D,KAAK,QAAQ,uBAAyB,MAAQ,CAAC3L,EAAc,KAAK,QAAQ,qBAAsB,KAAK,QAAQ,YAAY,EAC3H,YAAK,QAAQ,KAAK,uEAAuE,EAClFqQ,GAAmB,KAAM1E,CAAK,EAEvC,IAAI4E,GAAmB5E,EAAM,SACzBkB,GAAkB,SAAU7F,GAAK,CAEnCsJ,GAAO,QAAQ,MAAM,6DAAwD,EAC7EA,GAAO,QAAQ,MAAMtJ,EAAG,CAC1B,EACI4F,GAAY,CAAC,EAAE,OAAO,KAAK,KAAK,CAAC,EAAE,OAAOwD,CAAO,EACrDzD,GAAoBC,GAAWjB,EAAOkB,GAAiB,SAAU7F,GAAKwJ,GAAY,CAEhF,GADIxJ,IAAK6F,GAAgB7F,EAAG,EACxB,CAACwJ,GACH,OAAAF,GAAO,QAAQ,MAAM,wCAAwC,EACtDD,GAAmB,KAAM1E,CAAK,EAEnC2E,GAAO,yBAAyB,OAAO,GAEzCtB,EAAO,UAAU,gBAAgB,KAAKsB,GAAQ3E,EAAM,OAAO,CAAC,EAAE,WAAY,CACxE,WAAYA,EAAM,OAAO,CAAC,EAAE,WAC5B,aAAcA,EAAM,OAAO,CAAC,EAAE,aAC9B,SAAUA,EAAM,QAClB,EAAG,OAAO,EAER4E,KAAqB5E,EAAM,WAC7BA,EAAM,cAAc,eAAiB,CACnC,KAAM,yBACR,GAEEA,EAAM,YAAcA,EAAM,cAAc,YAC1CA,EAAM,cAAc,eAAe,oBAAsB,GACzDA,EAAM,cAAc,UAAYA,EAAM,WAEpC2E,GAAO,WACTA,GAAO,SAAS,OAAO3E,CAAK,EAC5BA,EAAM,SAAW2E,GAAO,UAE1BA,GAAO,UAAU,UAAU,CACzB,OAAQ3E,EAAM,QAAU2E,GAAO,QAAQ,OACvC,SAAUA,GAAO,UACjB,OAAQ,CAAC3E,CAAK,CAChB,EAAG,SAAU3E,GAAK,CAChB,OAAOqJ,GAAmBrJ,GAAK2E,CAAK,CACtC,CAAC,CACH,CAAC,CACH,EACOqD,CACT,EAAE,EACEc,GAA6B,SAAUF,EAAQa,EAAU,CAC3D,IAAIzI,EAAK,IAAI,MAAM;AAAA,EAA4BlG,GAASxB,GAAUsP,CAAM,EAAG,SAAUtO,EAAK,CACxF,MAAO,OAASA,EAAM,IAAMsO,EAAOtO,CAAG,EAAI,SAAWoP,GAAUD,EAASnP,CAAG,CAAC,CAC9E,CAAC,EAAE,KAAK;AAAA;AAAA,CAAM,CAAC,EACf,OAAO0G,CACT,EACI0I,GAAY,SAAU/Q,EAAK,CAC7B,OAAQ,OAAOA,EAAK,CAClB,IAAK,SACL,IAAK,SACL,IAAK,SACH,OAAO,KAAK,UAAUA,CAAG,EAC3B,QACE,OAAO,OAAOA,CAAG,CACrB,CACF,EACIgR,GAAc3B,GACd4B,GAAmB,CAAC,EAGpBC,GAAwB,CAAC,qBAAsB,oCAAqC,mBAAmB,EAC3GD,GAAiB,MAAQ,SAAUjF,EAAOrF,EAAc,CACtD,IAAIwK,EAAU5K,GAAsByF,EAAO,KAAM,KAAM,CACrD,cAAekF,GACf,aAAcvK,CAChB,CAAC,EACD,OAAIwK,EAAQ,OAAS,MACnBnF,EAAM,OAAO,CAAC,EAAE,UAAY,CAC1B,SAAU;AAAA,yBAAsCmF,EAAQ,OAAS,IAAO;AAAA,qBAC1E,EACAA,EAAU5K,GAAsByF,EAAO,KAAM,KAAM,CACjD,cAAekF,GACf,aAAcvK,CAChB,CAAC,GAEIwK,CACT,EACAF,GAAiB,QAAU,SAAUZ,EAAS1J,EAAc,CAC1D,IAAIwK,EAAU5K,GAAsB8J,EAAS,KAAM,IAAI,EACvD,OAAOc,CACT,EACA,IAAIC,GAAgB,CAAC,EAGrBA,GAAgB,SAAUC,EAAQC,EAAK,CACrC,OAAIA,IAAQ,SACVA,EAAM,QAED,CACL,UAAW,SAAUtF,EAAOa,EAAI,CAI9B,GAHIA,IAAO,SACTA,EAAK,UAAY,CAAC,GAEhBwE,EAAO,QAAQ,UAAU,SAAW,KAAM,CAC5C,IAAIhK,EAAM,IAAI,MAAM,yDAAyD,EAC7E,OAAOwF,EAAGxF,CAAG,CACf,CACA,IAAIkK,GAAMC,GAAUH,EAAO,QAAS,SAAU,IAAKC,CAAG,EAClDG,GAAOR,GAAiB,MAAMjF,EAAOqF,EAAO,QAAQ,YAAY,EAChEK,GAAM,IAAIJ,EAAI,eAClBI,GAAI,OAAS,UAAY,CACvB7E,EAAG,IAAI,CACT,EACA6E,GAAI,QAAU,UAAY,CACxB,IAAIrK,GAAM,IAAI,MAAM,sBAAsB,EAC1CgK,EAAO,QAAQ,MAAM,6BAAyBhK,EAAG,EAC7CoK,GAAK,OAAS,KAChBJ,EAAO,QAAQ,KAAK,qBAAuBI,GAAK,OAAS,KAAM,QAAQ,CAAC,EAAI,MAAM,EAEpF5E,EAAGxF,EAAG,CACR,EACAqK,GAAI,KAAK,OAAQH,EAAG,EACpB,WAAW,UAAY,CACrB,GAAI,CACFG,GAAI,KAAKD,EAAI,CACf,OAASzL,GAAG,CACVqL,EAAO,QAAQ,MAAMrL,EAAC,EACtB6G,EAAG7G,EAAC,CACN,CACF,EAAG,CAAC,CACN,EACA,YAAa,SAAUqK,EAASxD,EAAI,CAIlC,GAHIA,IAAO,SACTA,EAAK,UAAY,CAAC,GAEhBwE,EAAO,QAAQ,UAAU,WAAa,KAAM,CAC9C,IAAIhK,EAAM,IAAI,MAAM,2DAA2D,EAC/E,OAAOwF,EAAGxF,CAAG,CACf,CACA,IAAIkK,GAAMC,GAAUH,EAAO,QAAS,WAAY,IAAKC,CAAG,EACpDI,GAAM,IAAIJ,EAAI,eAClBI,GAAI,OAAS,UAAY,CACvB7E,EAAG,IAAI,CACT,EACA6E,GAAI,KAAK,OAAQH,EAAG,EACpB,WAAW,UAAY,CACrB,GAAI,CACFG,GAAI,KAAKT,GAAiB,QAAQZ,EAASgB,EAAO,QAAQ,YAAY,CAAC,CACzE,OAASrL,GAAG,CACVqL,EAAO,QAAQ,MAAMrL,EAAC,EACtB6G,EAAG7G,EAAC,CACN,CACF,EAAG,CAAC,CACN,CACF,CACF,EACA,IAAIwL,GAAY,SAAUtB,EAAQyB,EAAUC,EAASN,EAAK,CAIxD,IAAIO,EAAU,KAAK,MAAM,KAAK,UAAU,IAAI,IAAM,CAAC,EAC/CN,GAAMO,GAAkB5B,EAAO,UAAUyB,CAAQ,EAAGL,EAAI,SAAS,QAAQ,EAC7E,OAAOC,GAAM,WAAa,mBAAmBrB,EAAO,MAAM,EAAI,mBAAqB0B,EAAU,WAAa,mBAAmBC,CAAO,CACtI,EACIC,GAAoBV,GAAc,mBAAqB,SAAUO,EAAUI,EAAc,CAC3F,OAAOA,IAAiB,QAAUJ,EAAS,QAAQ,UAAW,OAAO,EAAIA,CAC3E,EAIA,SAASK,GAAwBC,EAA2BC,EAAa,CACvE,GAAID,EAA0B,iBAAmBA,EAA0B,QAAUA,EAA0B,OAAO,QAAUA,EAA0B,OAAO,OAAO,QAAU,OAAO,aAAgB,WAAY,CACnN,IAAIE,EAAW,IAAI,YAAY,EAAE,OAAOD,CAAW,EACnD,OAAOD,EAA0B,OAAO,OAAO,OAAO,QAASE,CAAQ,EAAE,KAAK,SAAUC,EAAY,CAClG,IAAIC,EAAY,MAAM,KAAK,IAAI,WAAWD,CAAU,CAAC,EACjDE,GAAUD,EAAU,IAAI,SAAUE,GAAG,CACvC,OAAOA,GAAE,SAAS,EAAE,EAAE,SAAS,EAAG,GAAG,CACvC,CAAC,EAAE,KAAK,EAAE,EACV,MAAO,QAAUD,EACnB,CAAC,CACH,CACA,OAAO,QAAQ,QAAQ,CACzB,CACA,IAAIE,GAAgB,SAAUnB,EAAQC,EAAK,CACzC,OAAIA,IAAQ,SACVA,EAAM,QAED,CACL,UAAW,SAAUtF,EAAOa,EAAI,CAC1BA,IAAO,SACTA,EAAK,UAAY,CAAC,GAEpB,GAAI,CACF,IAAI0E,EAAMF,EAAO,QAAQ,UAAU,OACnC,GAAIE,IAAQ,KAAM,CAChB,IAAIlK,GAAM,IAAI,MAAM,yDAAyD,EAC7E,OAAOwF,EAAGxF,EAAG,CACf,CACA,IAAIqK,GAAM,IAAIJ,EAAI,eACdG,GAAOR,GAAiB,MAAMjF,EAAOqF,EAAO,QAAQ,YAAY,EACpEK,GAAI,mBAAqB,UAAY,CACnC,GAAIA,GAAI,aAAeJ,EAAI,eAAe,KAAM,CAC9C,IAAImB,GAASf,GAAI,OACjB,GAAIe,KAAW,GAAKA,IAAU,IAAK,CACjC,IAAIC,GAAO,IAAI,MAAM,8BAAgCD,EAAM,EAC3DpB,EAAO,QAAQ,MAAM,6BAAyBqB,EAAI,EAC9CjB,GAAK,OAAS,KAChBJ,EAAO,QAAQ,KAAK,qBAAuBI,GAAK,OAAS,KAAM,QAAQ,CAAC,EAAI,MAAM,EAEpF5E,EAAG6F,EAAI,CACT,MACE7F,EAAG,IAAI,CAEX,CACF,EACA6E,GAAI,KAAK,OAAQH,CAAG,EACpBG,GAAI,iBAAiB,eAAgB,kBAAkB,EACvDA,GAAI,iBAAiB,kBAAmB1F,EAAM,QAAUqF,EAAO,QAAQ,MAAM,EAC7EK,GAAI,iBAAiB,0BAA2B,GAAG,EACnDA,GAAI,iBAAiB,kBAAmB,IAAI,KAAK,EAAE,YAAY,CAAC,EAC5DL,EAAO,QAAQ,sBAAwB,OAAO,QAAY,KAAe,QAAQ,SAAS,EAAE,QAAQ,eAAe,IAAM,GAC3HW,GAAwBV,EAAKG,EAAI,EAAE,KAAK,SAAUkB,GAAW,CACvDA,IACFjB,GAAI,iBAAiB,oBAAqBiB,EAAS,EAErDjB,GAAI,KAAKD,EAAI,CACf,CAAC,EAAE,MAAS,SAAUpK,GAAK,CACzBgK,EAAO,QAAQ,MAAMhK,EAAG,EACxBqK,GAAI,KAAKD,EAAI,CACf,CAAC,EAEDC,GAAI,KAAKD,EAAI,CAEjB,OAASzL,GAAG,CACVqL,EAAO,QAAQ,MAAMrL,EAAC,CACxB,CACF,EACA,YAAa,SAAUqK,EAASxD,EAAI,CAC9BA,IAAO,SACTA,EAAK,UAAY,CAAC,GAEpB,GAAI,CACF,IAAI0E,EAAMF,EAAO,QAAQ,UAAU,SACnC,GAAIE,IAAQ,KAAM,CAChB,IAAIlK,GAAM,IAAI,MAAM,2DAA2D,EAC/E,OAAOwF,EAAGxF,EAAG,CACf,CACA,IAAIqK,GAAM,IAAIJ,EAAI,eACdG,GAAOR,GAAiB,QAAQZ,EAASgB,EAAO,QAAQ,YAAY,EACxEK,GAAI,mBAAqB,UAAY,CACnC,GAAIA,GAAI,aAAeJ,EAAI,eAAe,KAAM,CAC9C,IAAImB,GAASf,GAAI,OACjB,GAAIe,KAAW,GAAKA,IAAU,IAAK,CACjC,IAAIG,GAAQ,IAAI,MAAM,8BAAgCH,EAAM,EAC5DpB,EAAO,QAAQ,MAAM,+BAA2BuB,EAAK,EACrD/F,EAAG+F,EAAK,CACV,MACE/F,EAAG,IAAI,CAEX,CACF,EACA6E,GAAI,KAAK,OAAQH,CAAG,EACpBG,GAAI,iBAAiB,eAAgB,kBAAkB,EACvDA,GAAI,iBAAiB,kBAAmBL,EAAO,QAAQ,MAAM,EAC7DK,GAAI,iBAAiB,0BAA2B,GAAG,EACnDA,GAAI,iBAAiB,kBAAmB,IAAI,KAAK,EAAE,YAAY,CAAC,EAC5DL,EAAO,QAAQ,sBAAwB,OAAO,QAAY,KAAe,QAAQ,SAAS,EAAE,QAAQ,eAAe,IAAM,GAC3HW,GAAwBV,EAAKG,EAAI,EAAE,KAAK,SAAUkB,GAAW,CACvDA,IACFjB,GAAI,iBAAiB,oBAAqBiB,EAAS,EAErDjB,GAAI,KAAKD,EAAI,CACf,CAAC,EAAE,MAAS,SAAUpK,GAAK,CACzBgK,EAAO,QAAQ,MAAMhK,EAAG,EACxBqK,GAAI,KAAKD,EAAI,CACf,CAAC,EAEDC,GAAI,KAAKD,EAAI,CAEjB,OAASzL,GAAG,CACVqL,EAAO,QAAQ,MAAMrL,EAAC,CACxB,CACF,CACF,CACF,EACI6M,GAAW,IAAI,KACfC,GAAQ,UAAY,CACtBD,GAAW,IAAI,IACjB,EACIE,GAAW,CACb,KAAM,cACN,KAAM,SAAU1B,EAAQ,CACtB,OAAAA,EAAO,WAAW,SAAUrF,EAAO,CACjC,IAAIgH,EAAM,IAAI,KACdhH,EAAM,IAAI,SAAWgH,EAAMH,EAC7B,EAAG,EAAI,EACA,CACL,MAAOC,EACT,CACF,CACF,EAKIG,GAAe,SAAU3B,EAAK,CAChC,OAAIA,IAAQ,SACVA,EAAM,QAED,CACL,KAAM,SAAUD,EAAQ,CACtBA,EAAO,WAAW,SAAUrF,EAAO,CAC7BA,EAAM,UAAY,SACtBA,EAAM,QAAUsF,EAAI,SAAS,SAC/B,EAAG,EAAI,CACT,CACF,CACF,EAII4B,GAA2B,uBAC3BC,GAAc,SAAU7B,EAAK,CAC/B,GAAI,CACF,IAAI8B,EAAU9B,EAAI,aACdrG,EAAKmI,EAAQ,QAAQF,EAAwB,EAIjD,OAAIjI,GAAM,qBAAqB,KAAKA,CAAE,IAKtCA,EAAK6D,GAAS,EACdsE,EAAQ,QAAQF,GAA0BjI,CAAE,GACrCA,CACT,MAAc,CAEd,CACF,EAKIoI,GAAc,SAAUC,EAAKhC,EAAK,CACpC,OAAIgC,IAAQ,SACVA,EAAM,WAEJhC,IAAQ,SACVA,EAAM,QAED,CACL,KAAM,SAAUD,EAAQ,CACtB,IAAIkC,EAAS,CACX,OAAQD,EAAI,iBAAmBA,EAAI,gBAAkBA,EAAI,cAAgBA,EAAI,SAC7E,UAAWA,EAAI,SACjB,EACIhC,GAAOA,EAAI,QAAUA,EAAI,OAAO,aAAeA,EAAI,OAAO,YAAY,KACxEiC,EAAO,YAAcjC,EAAI,OAAO,YAAY,KACnCA,GAAOA,EAAI,WACpBiC,EAAO,YAAcjC,EAAI,SAAS,gBAAgB,YAAcA,EAAI,SAAS,gBAAgB,aAAe,YAAc,YAExHD,EAAO,QAAQ,sBACjBkC,EAAO,GAAKJ,GAAY7B,CAAG,GAE7BD,EAAO,aAAa,SAAUhB,EAAS,CACrCA,EAAQ,OAASrO,GAAY,CAAC,EAAGqO,EAAQ,OAAQkD,CAAM,EAElDlC,EAAO,QAAQ,eAAemC,GAAiBnD,CAAO,CAC7D,CAAC,EAGDgB,EAAO,WAAW,SAAUrF,EAAO,CACjCA,EAAM,OAAShK,GAAY,CAAC,EAAGgK,EAAM,OAAQuH,EAAQ,CACnD,KAAM,IAAI,IACZ,CAAC,EACIlC,EAAO,QAAQ,eAAemC,GAAiBxH,CAAK,CAC3D,EAAG,EAAI,CACT,EACA,aAAc,CACZ,oBAAqB,CACnB,SAAU,SAAU/K,EAAO,CACzB,OAAOA,IAAU,IAAQA,IAAU,EACrC,EACA,aAAc,UAAY,CACxB,MAAO,EACT,EACA,QAAS,sBACX,CACF,CACF,CACF,EACIuS,GAAmB,SAAUC,EAAgB,CAE/C,IAAIC,EAAOD,EAAe,QAAQ,GAC9B,CAACC,GAAQ,CAACA,EAAK,KACjBD,EAAe,QAAQA,EAAe,OAAO,EAAE,CAEnD,EAQIE,GAAe,SAAUrC,EAAK,CAChC,OAAIA,IAAQ,SACVA,EAAM,QAED,CACL,KAAM,SAAUD,EAAQ,CACtBA,EAAO,WAAW,SAAUrF,EAAO,CAC7BA,EAAM,SAAWA,EAAM,QAAQ,MACnCA,EAAM,QAAUhK,GAAY,CAAC,EAAGgK,EAAM,QAAS,CAC7C,IAAKsF,EAAI,SAAS,IACpB,CAAC,EACH,EAAG,EAAI,CACT,CACF,CACF,EAIIsC,GAAe,CACjB,KAAM,SAAUvC,EAAQ,CACtBA,EAAO,iBAAmBwC,EAC5B,CACF,EACIA,GAAkB,CACpB,aAAc,SAAUxC,EAAQhB,EAAS,CACvC,IAAIyD,EAAgBzC,EAKpB,OAJAyC,EAAc,SAAWzD,EACzByD,EAAc,eAAiB,KAG3BA,EAAc,QAAQ,uBAAyB,MAAQ,CAACzT,EAAcyT,EAAc,QAAQ,qBAAsBA,EAAc,QAAQ,YAAY,GACtJA,EAAc,QAAQ,KAAK,yEAAyE,EAC7FA,IAETA,EAAc,UAAU,YAAY,CAClC,SAAUA,EAAc,UACxB,OAAQzD,EAAQ,OAChB,IAAKA,EAAQ,IACb,SAAU,CAAC,CACT,GAAIA,EAAQ,GACZ,UAAWA,EAAQ,UACnB,KAAMA,EAAQ,KAChB,CAAC,CACH,CAAC,EACMyD,EACT,EACA,cAAe,SAAUzC,EAAQ,CAE/B,OAAIA,EAAO,SACFA,EAILA,EAAO,gBACTA,EAAO,SAAWA,EAAO,eACzBA,EAAO,eAAiB,KACjBA,GAIFA,EAAO,aAAa,CAC7B,EACA,aAAc,SAAUA,EAAQ,CAC9BA,EAAO,eAAiBA,EAAO,SAC/BA,EAAO,SAAW,IACpB,CACF,EAQI0C,GAAgB,CAClB,KAAM,SAAU1C,EAAQ,CAClBA,EAAO,QAAQ,eACnBA,EAAO,WAAW,SAAUrF,EAAO,CAG7BA,EAAM,OAAS,OAAOA,EAAM,MAAM,GAAO,KAAa,OAAOA,EAAM,MAAM,GAC7EA,EAAM,MAAQhK,GAAY,CACxB,GAAI,YACN,EAAGgK,EAAM,KAAK,EACdA,EAAM,QAAUhK,GAAY,CAC1B,SAAU,YACZ,EAAGgK,EAAM,OAAO,CAClB,CAAC,CACH,EACA,aAAc,CACZ,cAAe,CACb,aAAc,UAAY,CACxB,MAAO,EACT,EACA,QAAS,uBACT,SAAU,SAAU/K,EAAO,CACzB,OAAOA,IAAU,IAAQA,IAAU,EACrC,CACF,CACF,CACF,EACI+S,GAA0B,CAAC,EAW/BA,GAAwB,KAAO,SAAU3C,EAAQ,CAC/C,IAAI4C,EAAQ,4BAA4B,KAAK5C,EAAO,QAAQ,YAAY,EACpE4C,GAAS,CAAC5C,EAAO,yBAAyB,KAAK,GACnDlP,GAAS+R,GAAqB,SAAUtS,EAAQ,CAC9C,IAAIuS,EAAW,QAAQvS,CAAM,EAC7B,QAAQA,CAAM,EAAI,UAAY,CAC5B,QAASwS,EAAO,UAAU,OAAQ5P,GAAO,IAAI,MAAM4P,CAAI,EAAGC,GAAO,EAAGA,GAAOD,EAAMC,KAC/E7P,GAAK6P,EAAI,EAAI,UAAUA,EAAI,EAE7BhD,EAAO,gBAAgB,iBAAkBzR,EAAY4E,GAAM,SAAUzE,GAAOuU,GAAKrU,GAAG,CAElF,IAAIsU,GAAc,kBAIlB,GAAI,CACFA,GAAc,OAAOD,EAAG,CAC1B,MAAY,CAAC,CAEb,GAAIC,KAAgB,kBAElB,GAAI,CACFA,GAAc,KAAK,UAAUD,EAAG,CAClC,MAAY,CAAC,CAEf,OAAAvU,GAAM,IAAME,GAAI,GAAG,EAAIsU,GAChBxU,EACT,EAAG,CACD,SAAU6B,EAAO,QAAQ,OAAO,IAAM,EAAI,MAAQA,CACpD,CAAC,EAAG,KAAK,EACTuS,EAAS,MAAM,QAAS3P,EAAI,CAC9B,EACA,QAAQ5C,CAAM,EAAE,SAAW,UAAY,CACrC,QAAQA,CAAM,EAAIuS,CACpB,CACF,CAAC,CACH,EAQA,IAAID,GAAsB/T,EAAY,CAAC,MAAO,QAAS,OAAQ,OAAQ,OAAO,EAAG,SAAUyB,EAAQ,CACjG,OAAO,OAAO,QAAY,KAAe,OAAO,QAAQA,CAAM,GAAM,UACtE,CAAC,EAQG4S,GAAkB,IAClBC,GAAoB,IACpBC,GAA2B,SAAUC,EAAKrD,EAAK,CACjD,OAAIqD,IAAQ,SACVA,EAAM,UAEJrD,IAAQ,SACVA,EAAM,QAED,CACL,KAAM,SAAUD,EAAQ,CACtB,GAAI,CAACA,EAAO,QAAQ,mBAAoB,OACxC,IAAIuD,EAAmBtD,EAAI,SAAS,KAChCuD,EAAO,GAIPC,GAAU,CAAC,CAACH,EAAI,YAChBI,GAAmBD,GAAUH,EAAI,aAAe,WAAaA,EAAI,aAAe,UAChFK,GAAU,UAAY,CACxB,OAAOL,EAAI,gBAAgB,SAC7B,EAGAE,EAAOG,GAAQ,EACf,IAAIC,GAAON,EAAI,mBAEfA,EAAI,mBAAqB,UAAY,CAE/BA,EAAI,aAAe,gBACrBE,EAAOG,GAAQ,EACfD,GAAmB,IAErB,GAAI,CACFE,GAAK,MAAM,KAAM,SAAS,CAC5B,MAAY,CAAC,CACf,EACA,IAAIC,GAAc,KACdC,GAAmB,SAAUC,GAAQ,CACvCF,GAAcE,EAChB,EACIC,GAAmB,UAAY,CACjC,IAAID,GAAST,EAAI,eAAiBO,GAClC,GAAI,CAACE,IAAU,CAACL,GAAkB,CAChC,IAAIO,GAAUX,EAAI,SAAWA,EAAI,qBAAqB,QAAQ,EAC9DS,GAASE,GAAQA,GAAQ,OAAS,CAAC,CACrC,CACA,OAAOF,EACT,EACIG,GAAqB,SAAUpR,GAAY,EAEzC,CAAC4Q,IAAoB,CAACF,KAAMA,EAAOG,GAAQ,GAE/C,IAAIQ,GAAY,CAAC,oBAAoB,EAAE,OAAOX,EAAK,MAAM;AAAA,CAAI,CAAC,EAC1DY,GAAgBtR,GAAa,EAC7BuR,GAAQ,KAAK,IAAID,GAAgB,EAAG,CAAC,EACrCE,GAAM,KAAK,IAAIF,GAAgB,EAAGD,GAAU,MAAM,EACtD,OAAO5V,EAAY4V,GAAU,MAAME,GAAOC,EAAG,EAAG,SAAU5V,GAAO0F,GAAMxF,GAAG,CACxE,OAAAF,GAAM2V,GAAQ,EAAIzV,EAAC,EAAIwF,GAAK,QAAU+O,GAAkB/O,GAAOA,GAAK,OAAO,EAAG+O,EAAe,EACtFzU,EACT,EAAG,CAAC,CAAC,CACP,EACAsR,EAAO,WAAW,SAAUrF,GAAO,CAGjCA,GAAM,OAAO,CAAC,EAAE,WAAa7L,EAAY6L,GAAM,OAAO,CAAC,EAAE,WAAY,SAAUxM,GAAG,CAChF,MAAO,CAAC,aAAa,KAAKA,GAAE,MAAM,CACpC,CAAC,EACD,IAAI4L,GAAQY,GAAM,OAAO,CAAC,EAAE,WAAW,CAAC,EAGpC4J,GAAW,SAAUrE,GAAK,CAC5B,OAAOA,GAAI,QAAQ,OAAQ,EAAE,EAAE,QAAQ,QAAS,EAAE,CACpD,EAGA,GAAI,EAAAnG,IAASA,GAAM,MAAQwK,GAASxK,GAAM,IAAI,IAAMwK,GAAShB,CAAgB,GAG7E,KAAIiB,GAAgBR,GAAiB,EACrC,GAAIQ,GAAe,CACjB,IAAIC,GAAUD,GAAc,UAC5B7J,GAAM,YAAY,SAAU,UAAW8J,GAAQ,QAAUrB,GAAoBqB,GAAUA,GAAQ,OAAO,EAAGrB,EAAiB,CAAC,EAGvHrJ,IAASA,GAAM,aACjBA,GAAM,KAAOmK,GAAmBnK,GAAM,UAAU,EAEpD,EACF,EAAG,EAAI,EAIP,IAAI2K,GAAO5T,GAAS,CAAC,aAAc,cAAe,eAAgB,uBAAuB,EAAG,SAAUrC,GAAI,CACtG,OAAOkW,GAAQ1E,EAAKxR,GAAI,SAAUqU,GAAU,CAC1C,OAAO8B,GAAsB9B,GAAU,SAAU3P,GAAM,CACrD,MAAO,CACL,IAAK,UAAY,CACf,OAAOA,GAAK,CAAC,CACf,EACA,QAAS,SAAU1E,GAAI,CACrB0E,GAAK,CAAC,EAAI1E,EACZ,CACF,CACF,CAAC,CACH,CAAC,CACH,CAAC,EACDoW,GAAcH,GAAK,CAAC,EAGtB5T,GAAS,CAAC,cAAe,SAAU,OAAQ,mBAAoB,iBAAkB,oBAAqB,kBAAmB,cAAe,aAAc,qBAAsB,cAAe,aAAc,iBAAkB,eAAgB,kBAAmB,cAAe,cAAe,eAAgB,qBAAsB,SAAU,YAAa,eAAgB,gBAAiB,YAAa,kBAAmB,SAAU,iBAAkB,4BAA6B,sBAAsB,EAAG,SAAUgF,GAAG,CACnf,CAACmK,EAAInK,EAAC,GAAK,CAACmK,EAAInK,EAAC,EAAE,WAAa,CAAC,OAAO,UAAU,eAAe,KAAKmK,EAAInK,EAAC,EAAE,UAAW,kBAAkB,IAC9G6O,GAAQ1E,EAAInK,EAAC,EAAE,UAAW,mBAAoB,SAAUgN,GAAU,CAChE,OAAO8B,GAAsB9B,GAAUgC,EAA2B,CACpE,CAAC,EACDH,GAAQ1E,EAAInK,EAAC,EAAE,UAAW,sBAAuB,SAAUgN,GAAU,CACnE,OAAO8B,GAAsB9B,GAAUgC,GAA6B,EAAI,CAC1E,CAAC,EACH,CAAC,EACD,SAASF,GAAsBnW,GAAIsW,GAAkBC,GAAkB,CACrE,OAAIA,KAAqB,SACvBA,GAAmB,IAEd,UAAY,CAGjB,IAAI7R,GAAO,CAAC,EAAE,MAAM,KAAK,SAAS,EAClC,GAAI,CACF,IAAI8R,GAAMF,GAAiB5R,EAAI,EAC3BqI,GAAKyJ,GAAI,IAAI,EAEjB,GADID,IAAkBvW,GAAG,MAAM,KAAM0E,EAAI,EACrC,OAAOqI,IAAO,WAAY,OAAO/M,GAAG,MAAM,KAAM0E,EAAI,EACxD,GAAIqI,GAAG,UACLyJ,GAAI,QAAQzJ,GAAG,SAAS,MACnB,CACL,IAAIuI,GAASC,GAAiB,EAI9BxI,GAAG,UAAY,UAAqB,CAElCsI,GAAiBC,EAAM,EAIvBc,GAAY,UAAY,CACtBf,GAAiB,IAAI,CACvB,EAAG,CAAC,EACJ,IAAI/H,GAAMP,GAAG,MAAM,KAAM,SAAS,EAClC,OAAAsI,GAAiB,IAAI,EACd/H,EACT,EACAP,GAAG,UAAU,UAAYA,GAAG,UAC5ByJ,GAAI,QAAQzJ,GAAG,SAAS,CAC1B,CACF,MAAY,CAIZ,CAEA,GAAI/M,GAAG,MAAO,OAAOA,GAAG,MAAM,KAAM0E,EAAI,EACxC,OAAQA,GAAK,OAAQ,CACnB,IAAK,GACH,OAAO1E,GAAG0E,GAAK,CAAC,CAAC,EACnB,IAAK,GACH,OAAO1E,GAAG0E,GAAK,CAAC,EAAGA,GAAK,CAAC,CAAC,EAC5B,QACE,OAAO1E,GAAG,CACd,CACF,CACF,CACF,EACA,aAAc,CACZ,mBAAoB,CAClB,SAAU,SAAUmB,EAAO,CACzB,OAAOA,IAAU,IAAQA,IAAU,EACrC,EACA,aAAc,UAAY,CACxB,MAAO,EACT,EACA,QAAS,sBACX,CACF,CACF,CACF,EACA,SAAS+U,GAAQO,EAAM5N,EAAMlC,EAAU,CACrC,IAAI0N,EAAWoC,EAAK5N,CAAI,EACxB,GAAI,CAACwL,EAAU,OAAOA,EACtB,IAAIqC,EAAc/P,EAAS0N,CAAQ,EACnC,OAAAoC,EAAK5N,CAAI,EAAI6N,EACNrC,CACT,CACA,SAASgC,GAA4B3R,EAAM,CACzC,IAAIiS,EAAoB,CAAC,CAACjS,EAAK,CAAC,GAAK,OAAOA,EAAK,CAAC,EAAE,aAAgB,WACpE,MAAO,CACL,IAAK,UAAY,CACf,OAAOiS,EAAoBjS,EAAK,CAAC,EAAE,YAAcA,EAAK,CAAC,CACzD,EACA,QAAS,SAAU1E,EAAI,CACjB2W,EACFjS,EAAK,CAAC,EAAE,YAAc1E,EAEtB0E,EAAK,CAAC,EAAI1E,CAEd,CACF,CACF,CAKA,IAAI4W,GAA8B,SAAUpF,EAAK,CAC/C,OAAIA,IAAQ,SACVA,EAAM,QAED,CACL,KAAM,SAAUD,EAAQ,CAChB,qBAAsBC,GACvBD,EAAO,yBAAyB,MAAM,GAC3CC,EAAI,iBAAiB,QAAS,SAAUtF,EAAO,CAC7C,IAAI2K,EAAYC,EAChB,GAAI,CACFD,EAAaE,GAAY7K,EAAM,MAAM,EACrC4K,EAAiBE,GAAgB9K,EAAM,OAAQsF,CAAG,CACpD,MAAY,CACVqF,EAAa,WACbC,EAAiB,WACjBvF,EAAO,QAAQ,MAAM,sFAAsF,CAC7G,CACAA,EAAO,gBAAgB,WAAY,CACjC,WAAYsF,EACZ,eAAgBC,CAClB,EAAG,MAAM,CACX,EAAG,EAAI,CACT,CACF,CACF,EACIG,GAAO,oCACX,SAASF,GAAYG,EAAI,CACvB,IAAIC,EAAOD,EAAG,aAAeA,EAAG,WAAa,GAK7C,MAJI,CAACC,IAASD,EAAG,OAAS,UAAYA,EAAG,OAAS,YAChDC,EAAOD,EAAG,OAEZC,EAAOA,EAAK,QAAQF,GAAM,IAAI,EAC1BE,EAAK,OAAS,IACTA,EAAK,MAAM,EAAG,GAAG,EAAI,QAEvBA,CACT,CAGA,SAASH,GAAgBE,EAAI1F,EAAK,CAChC,IAAI5M,EAAQ,CAACsS,EAAG,OAAO,EAIvB,GAHIA,EAAG,IAAItS,EAAM,KAAK,IAAMsS,EAAG,EAAE,EAC7BA,EAAG,WAAaA,EAAG,UAAU,QAAQtS,EAAM,KAAK,IAAMsS,EAAG,UAAU,MAAM,GAAG,EAAE,KAAK,GAAG,CAAC,EAEvF,CAAC1F,EAAI,SAAS,kBAAoB,CAAC,MAAM,UAAU,QAAS,OAAO5M,EAAM,KAAK,EAAE,EACpF,GAAI,CACF,GAAI4M,EAAI,SAAS,iBAAiB5M,EAAM,KAAK,EAAE,CAAC,EAAE,SAAW,EAAG,OAAOA,EAAM,KAAK,EAAE,CACtF,MAAY,CAEV,OAAOA,EAAM,KAAK,EAAE,CACtB,CAEA,GAAIsS,EAAG,WAAW,WAAW,OAAS,EAAG,CACvC,IAAIlK,EAAQ,MAAM,UAAU,QAAQ,KAAKkK,EAAG,WAAW,WAAYA,CAAE,EAAI,EACzEtS,EAAM,KAAK,cAAgBoI,EAAQ,GAAG,CACxC,CACA,OAAIwE,EAAI,SAAS,iBAAiB5M,EAAM,KAAK,EAAE,CAAC,EAAE,SAAW,EAAUA,EAAM,KAAK,EAAE,EAEhFsS,EAAG,WAAmBF,GAAgBE,EAAG,WAAY1F,CAAG,EAAI,MAAQ5M,EAAM,KAAK,EAAE,EAC9EA,EAAM,KAAK,EAAE,CACtB,CACA,IAAIwS,GAA6B,CAAC,EAIlCA,GAA6B,SAAU5F,EAAK,CACtCA,IAAQ,SACVA,EAAM,QAER,IAAIzB,EAAS,CACX,KAAM,SAAUwB,EAAQ,CACtB,GAAM,qBAAsBC,GACvBD,EAAO,yBAAyB,YAAY,EAGjD,KAAI8F,EAAO,SAAUxO,EAAM,CACzB,OAAO,UAAY,CACjB,OAAO0I,EAAO,gBAAgB1I,EAAM,CAAC,EAAG,YAAY,CACtD,CACF,EAGA2I,EAAI,iBAAiB,WAAY6F,EAAK,aAAa,EAAG,EAAI,EAC1D7F,EAAI,iBAAiB,WAAY6F,EAAK,YAAY,EAAG,EAAI,EACzD7F,EAAI,iBAAiB,OAAQ6F,EAAK,aAAa,EAAG,EAAI,EACtD7F,EAAI,SAAS,iBAAiB,mBAAoB6F,EAAK,kBAAkB,EAAG,EAAI,EAEhF7F,EAAI,iBAAiB,OAAQ,UAAY,CACvC,OAAOA,EAAI,iBAAiB,WAAY6F,EAAK,gBAAgB,EAAG,EAAI,CACtE,CAAC,EAGD7F,EAAI,iBAAiB,aAAc,SAAUtF,EAAO,CAClD,IAAInJ,GAAWmJ,EAAM,OAAS,CAC5B,KAAMoL,GAAiBpL,EAAM,OAAQsF,CAAG,EACxC,GAAI8F,GAAiBpL,EAAM,OAAQsF,CAAG,EACtC,MAAO+F,GAAgB/F,CAAG,CAC5B,EAAI,CACF,GAAI8F,GAAiB9F,EAAI,SAAS,KAAMA,CAAG,CAC7C,EACAD,EAAO,gBAAgB,eAAgBxO,GAAU,YAAY,CAC/D,EAAG,EAAI,EAGHyO,EAAI,QAAQ,WAAWgG,GAAcjG,EAAQC,EAAI,QAAS,YAAaA,EAAK,EAAI,EAChFA,EAAI,QAAQ,cAAcgG,GAAcjG,EAAQC,EAAI,QAAS,eAAgBA,CAAG,EACtF,CACF,EAUA,OAAOzB,CACT,EAaA,IAAIuH,GAAmB,SAAU7F,EAAKD,EAAK,CACzC,IAAIiG,EAAIjG,EAAI,SAAS,cAAc,GAAG,EACtC,OAAAiG,EAAE,KAAOhG,EACF,GAAKgG,EAAE,SAAWA,EAAE,OAASA,EAAE,IACxC,EACIC,GAAwB,SAAUlG,EAAKzH,EAAO4N,EAAOlG,EAAK,CAC5D,IAAImG,EAAcN,GAAiB9F,EAAI,SAAS,KAAMA,CAAG,EACzD,MAAO,CACL,MAAOmG,EACP,MAAO5N,EACP,UAAWwN,GAAgB/F,CAAG,EAC9B,GAAIC,GAAOmG,EACX,KAAMA,CACR,CACF,EACIJ,GAAgB,SAAUjG,EAAQpP,EAAQnC,EAAIwR,EAAKqG,EAAiB,CAClEA,IAAoB,SACtBA,EAAkB,IAEpB,IAAIC,GAAO3V,EAAOnC,CAAE,EACpBmC,EAAOnC,CAAE,EAAI,SAAU+J,GAAO4N,GAAOlG,GAAK,CACxCF,EAAO,gBAAgB,WAAavR,EAAI0X,GAAsBlG,EAAKzH,GAAO4N,GAAOlG,EAAG,EAAG,YAAY,EAE/FoG,GAAmB,OAAOtG,EAAO,iBAAoB,YAAYA,EAAO,gBAAgB,EAG5FuG,GAAK,MAAM3V,EAAQ,CAAC4H,GAAO4N,EAAK,EAAE,OAAOlG,KAAQ,OAAYA,GAAM,CAAC,CAAC,CAAC,CACxE,CAMF,EACI8F,GAAkB,SAAU/F,EAAK,CACnC,GAAI,CACF,OAAOA,EAAI,QAAQ,KACrB,MAAY,CAAC,CACf,EACIuG,GAAkB,UAOlBC,GAA0B,SAAUC,EAAczG,EAAK,CACrDyG,IAAiB,SACnBA,EAAe,CAAC,GAEdzG,IAAQ,SACVA,EAAM,QAER,IAAI0G,EAAmB,CAAC,EACpBnI,EAAS,CACX,KAAM,SAAUwB,EAAQ,CACtB,GAAI,CAACA,EAAO,yBAAyB,SAAS,EAAG,OACjD,IAAI4G,GAAc,CAAC5G,EAAO,QAAQ,UAAU,OAAQA,EAAO,QAAQ,UAAU,QAAQ,EAAE,OAAO0G,CAAY,EAC1GG,GAA0B,EAC1BC,GAAiB,EAGjB,SAASD,IAA4B,CACnC,GAAI,IAAE,qBAAsB5G,EAAI,eAAe,YAAc,EAAE,YAAaA,IAC5E,KAAI8G,GAAkB,IAAI,QACtBC,GAAkB,IAAI,QACtBC,GAAehH,EAAI,eAAe,UAAU,KAChDA,EAAI,eAAe,UAAU,KAAO,SAAc1P,GAAQ2P,GAAK,CAEzD,MACF6G,GAAgB,IAAI,KAAM,CACxB,OAAQxW,GACR,IAAK2P,EACP,CAAC,EAEH+G,GAAa,MAAM,KAAM,SAAS,CACpC,EACA,IAAIC,GAAejH,EAAI,eAAe,UAAU,KAChDA,EAAI,eAAe,UAAU,KAAO,SAAcG,GAAM,CACtD,IAAIhC,GAAQ,KACR+I,GAAcJ,GAAgB,IAAI,IAAI,EAC1C,GAAII,GAAa,CAGf,IAAIC,GAAYJ,GAAgB,IAAI,IAAI,EACpCI,KACF,KAAK,oBAAoB,OAAQA,GAAU,IAAI,EAC/C,KAAK,oBAAoB,QAASA,GAAU,KAAK,GAEnD,IAAIC,GAAe,IAAI,KACnBrT,GAAQ,UAAY,CACtB,OAAOsT,GAAeH,GAAY,OAAQA,GAAY,IAAKI,GAAYF,EAAY,CAAC,CACtF,EACIG,GAAO,UAAY,CACrB,OAAOC,GAAcN,GAAY,OAAQA,GAAY,IAAK/I,GAAM,OAAQmJ,GAAYF,EAAY,CAAC,CACnG,EACA,KAAK,iBAAiB,OAAQG,EAAI,EAClC,KAAK,iBAAiB,QAASxT,EAAK,EAEhC,MACFgT,GAAgB,IAAI,KAAM,CACxB,KAAMQ,GACN,MAAOxT,EACT,CAAC,CAEL,CACAkT,GAAa,MAAM,KAAM,SAAS,CACpC,EAOF,CACA,SAASO,GAAclX,GAAQ2P,GAAKkB,GAAQsG,GAAU,CACpD,GAAIxH,KAAQ,OAAW,CACrBF,EAAO,QAAQ,KAAK,4GAA4G,EAChI,MACF,CAIA,GAAI,SAAOE,IAAQ,UAAYlR,EAAc4X,GAAa1G,GAAI,QAAQ,QAAS,EAAE,CAAC,GAIlF,KAAI1O,GAAW,CACb,OAAQ4P,GACR,OAAQ,OAAO7Q,EAAM,EACrB,IAAK,OAAO2P,EAAG,EACf,SAAUwH,EACZ,EACItG,IAAU,IAEZpB,EAAO,gBAAgB,wBAAyBxO,GAAUgV,EAAe,EAEzExG,EAAO,gBAAgB,2BAA4BxO,GAAUgV,EAAe,EAEhF,CACA,SAASc,GAAe/W,GAAQ2P,GAAKwH,GAAU,CAC7C,GAAIxH,KAAQ,OAAW,CACrBF,EAAO,QAAQ,KAAK,4GAA4G,EAChI,MACF,CACI,OAAOE,IAAQ,UAAYlR,EAAc4X,GAAa1G,GAAI,QAAQ,QAAS,EAAE,CAAC,GAMlFF,EAAO,gBAAgB,uBAAwB,CAC7C,OAAQ,OAAOzP,EAAM,EACrB,IAAK,OAAO2P,EAAG,EACf,SAAUwH,EACZ,EAAGlB,EAAe,CACpB,CAGA,SAASM,IAAmB,CAI1B,GAAI,IAAE,UAAW7G,IAAQA,EAAI,MAAM,UACnC,KAAI0H,GAAW1H,EAAI,MACnBA,EAAI,MAAQ,UAAiB,CAC3B,IAAI2H,GAAa,UACbC,GAAe,UAAU,CAAC,EAC1BC,GAAU,UAAU,CAAC,EACrBvX,GACA2P,GAAM,KACV,OAAI2H,IAAgB,OAAOA,IAAiB,UAC1C3H,GAAM2H,GAAa,IACfC,IAAW,WAAYA,GACzBvX,GAASuX,GAAQ,OACRD,IAAgB,WAAYA,KACrCtX,GAASsX,GAAa,UAGxB3H,GAAM2H,GACFC,IAAW,WAAYA,KACzBvX,GAASuX,GAAQ,SAGjBvX,KAAW,SACbA,GAAS,OAEJ,IAAI,QAAQ,SAAUwX,GAASC,GAAQ,CAC5C,IAAIX,GAAe,IAAI,KAGvBM,GAAS,MAAM,OAAQC,EAAU,EAAE,KAAK,SAAUK,GAAU,CAC1DC,GAAmBD,GAAU1X,GAAQ2P,GAAKqH,GAAYF,EAAY,CAAC,EACnEU,GAAQE,EAAQ,CAClB,CAAC,EAAE,MAAS,SAAUjU,GAAO,CAC3BmU,GAAiB5X,GAAQ2P,GAAKqH,GAAYF,EAAY,CAAC,EACvDW,GAAOhU,EAAK,CACd,CAAC,CACH,CAAC,CACH,EAMF,CACA,IAAIkU,GAAqB,SAAUD,GAAU1X,GAAQ2P,GAAKwH,GAAU,CAClE,IAAIlW,GAAW,CACb,OAAQ,OAAOjB,EAAM,EACrB,OAAQ0X,GAAS,OACjB,IAAK,OAAO/H,EAAG,EACf,SAAUwH,EACZ,EACIO,GAAS,QAAU,IAErBjI,EAAO,gBAAgB,iBAAkBxO,GAAUgV,EAAe,EAElExG,EAAO,gBAAgB,oBAAqBxO,GAAUgV,EAAe,CAEzE,EACI2B,GAAmB,SAAU5X,GAAQ2P,GAAKwH,GAAU,CACtD1H,EAAO,gBAAgB,gBAAiB,CACtC,OAAQ,OAAOzP,EAAM,EACrB,IAAK,OAAO2P,EAAG,EACf,SAAUwH,EACZ,EAAGlB,EAAe,CACpB,CACF,CACF,EASA,OAAOhI,CACT,EACI+I,GAAc,SAAUa,EAAW,CACrC,OAAOA,GAAa,IAAI,KAASA,CACnC,EASIC,GAAgB,CAClB,KAAM,SAAUrI,EAAQ,CAEtB,IAAI/N,EAAI,EAGR+N,EAAO,WAAW,SAAUrF,EAAO,CAEjC,GAAI1I,GAAK+N,EAAO,QAAQ,UACtB,OAAAA,EAAO,QAAQ,KAAK,+DAAiEA,EAAO,QAAQ,UAAY,gBAAgB,EACzH,GAET/N,GACF,CAAC,EACD+N,EAAO,gBAAkB,UAAY,CACnC/N,EAAI,CACN,CACF,EACA,aAAc,CACZ,UAAW,CACT,aAAc,UAAY,CACxB,MAAO,GACT,EACA,QAAS,yCACT,SAAU,SAAUtD,EAAK,CACvB,OAAOc,GAAc,EAAG,GAAG,EAAEd,CAAG,CAClC,CACF,CACF,CACF,EACI2Z,GAAwB,CAAC,EAQ7BA,GAAwB,CACtB,KAAM,SAAUtI,EAAQ,CACtBA,EAAO,WAAW,SAAUrF,EAAO,CACjC,IAAI4N,EAAYha,EAAYoM,EAAM,OAAQ,SAAUjM,EAAOsI,EAAI,CAC7D,OAAOtI,EAAM,OAAOsI,EAAG,UAAU,CACnC,EAAG,CAAC,CAAC,EACLlG,GAASyX,EAAW,SAAUxO,EAAO,CACnCA,EAAM,KAAOyO,GAAMzO,EAAM,IAAI,CAC/B,CAAC,CACH,CAAC,CACH,CACF,EACA,IAAIyO,GAAQF,GAAsB,OAAS,SAAUnW,EAAK,CACxD,OAAO,OAAOA,GAAQ,SAAWA,EAAI,QAAQ,QAAS,EAAE,EAAE,QAAQ,OAAQ,EAAE,EAAIA,CAClF,EAMIsW,GAAe,SAAUxI,EAAK1F,EAAW,CAC3C,OAAI0F,IAAQ,SACVA,EAAM,QAEJ1F,IAAc,SAChBA,EAAY,kBAEP,CACL,KAAM,SAAUyF,EAAQ,CAEtB,GADI,CAACA,EAAO,QAAQ,kBAChB,CAACA,EAAO,QAAQ,kBAAkB,oBAAqB,OAC3D,SAAS0I,EAAQC,GAAgBzI,GAAK0I,GAAQC,GAAQ7U,GAAO,CAE3D,GAAI4U,KAAW,GAAK,kBAAkB,KAAKD,EAAc,EACvD3I,EAAO,QAAQ,KAAK,oFAAoF,MACnG,CAEL,IAAI1G,GAAe,CACjB,SAAU,QACV,UAAW,GACX,eAAgB,CACd,KAAM,oBACR,CACF,EACIqB,GAKJ,GAAI3G,GAGF2G,GAAQqF,EAAO,MAAM,OAAOhM,GAAO,GAAMsF,GAAciB,EAAW,CAAC,EACnEuO,GAAcnO,GAAM,OAAO,CAAC,EAAE,WAAYuF,GAAK0I,GAAQC,EAAM,UAU/D,OAAOF,IAAmB,UAAYA,KAAmB,OAAS,CAACzI,IAAO,OAAOA,IAAQ,WAAa,CAAC0I,IAAU,CAACC,IAAU,CAAC7U,GAAO,CAElI,IAAIsD,GAAOqR,GAAe,KAAO,UAAYA,GAAe,KAAO,QAG/DpX,GAAUoX,GAAe,SAAWA,GAAe,QAAU,GACjEhO,GAAQqF,EAAO,MAAM,OAAO,CAC1B,KAAM1I,GACN,QAAS/F,EACX,EAAG,GAAM+H,GAAciB,EAAW,CAAC,EAGnCI,GAAM,cAAgBgO,GAGtBhO,GAAM,YAAYJ,EAAW,CAC3B,MAAOoO,GACP,gBAAiBzI,EACnB,CAAC,CACH,MAGEvF,GAAQqF,EAAO,MAAM,OAAO2I,GAAgB,GAAMrP,GAAciB,EAAW,CAAC,EAC5EuO,GAAcnO,GAAM,OAAO,CAAC,EAAE,WAAYuF,GAAK0I,GAAQC,EAAM,EAE/D7I,EAAO,QAAQrF,EAAK,CACtB,CACI,OAAOoO,GAAgB,YAAYA,EAAY,MAAM,KAAM,SAAS,CAC1E,CACA,IAAIA,EAAc9I,EAAI,QACtBA,EAAI,QAAUyI,CAChB,CACF,CACF,EAKII,GAAgB,SAAUrV,EAAOyM,EAAK0I,EAAQC,EAAQ,CACnDpV,EAAM,CAAC,GAAGA,EAAM,KAAK,CAAC,CAAC,EAC5B,IAAIuV,EAAUvV,EAAM,CAAC,EACjB,CAACuV,EAAQ,MAAQ,OAAO9I,GAAQ,WAAU8I,EAAQ,KAAO9I,GACzD,CAAC8I,EAAQ,YAAcC,GAAeL,CAAM,IAAGI,EAAQ,WAAaJ,GACnEI,EAAQ,eACPC,GAAeJ,CAAM,EACvBG,EAAQ,aAAeH,EACd,OAAO,OAASI,GAAe,OAAO,MAAM,cAAc,IACnED,EAAQ,aAAe,OAAO,MAAM,gBAG1C,EACIC,GAAiB,SAAUhX,EAAG,CAChC,OAAO,OAAOA,GAAM,UAAY,OAAO,KAAKA,CAAC,IAAM,KACrD,EAMIiX,GAIAC,GAA0B,SAAUlJ,EAAK,CACvCA,IAAQ,SACVA,EAAM,QAER,IAAIzB,EAAS,CACX,KAAM,SAAUwB,EAAQ,CACtB,GAAI,GAACA,EAAO,QAAQ,kBAAoB,CAACA,EAAO,QAAQ,kBAAkB,qBAC1E,KAAIoJ,EAAW,SAAUC,EAAK,CAC5B,IAAIrV,GAAQqV,EAAI,OACZC,GAAa,GAGjB,GAAI,CACED,EAAI,QAAUA,EAAI,OAAO,SAC3BrV,GAAQqV,EAAI,OAAO,OACnBC,GAAa,GAEjB,MAAY,CAAC,CAGb,IAAIC,GAAY,CAACvJ,EAAO,QAAQ,0CAC5BrF,GAAQqF,EAAO,MAAM,OAAOhM,GAAO,GAAO,CAC5C,SAAU,QACV,UAAWuV,GACX,eAAgB,CACd,KAAM,2BACR,CACF,EAAG,6BAA8B,EAAGvJ,EAAO,OAAO,EAC9CsJ,IACFxY,GAAS6J,GAAM,OAAO,CAAC,EAAE,WAAY6O,GAAsBxV,EAAK,CAAC,EAEnEgM,EAAO,QAAQrF,GAAO,SAAUA,GAAO,CACrC,GAAIrC,GAAaqC,GAAM,aAAa,GAAK,CAACA,GAAM,cAAc,MAAO,CACnE,IAAI8O,GACJ9O,GAAM,YAAY,8BAA+B8O,GAAqB,CAAC,EAAGA,GAAmB,OAAO,UAAU,SAAS,KAAK9O,GAAM,aAAa,CAAC,EAAI,CAClJ,KAAMA,GAAM,cAAc,KAC1B,QAASA,GAAM,cAAc,QAC7B,KAAMA,GAAM,cAAc,IAC5B,EAAG8O,GAAmB,CACxB,CACF,CAAC,CACH,EACI,qBAAsBxJ,EACxBA,EAAI,iBAAiB,qBAAsBmJ,CAAQ,EAEnDnJ,EAAI,qBAAuB,SAAU9E,EAAQuO,GAAS,CACpDN,EAAS,CACP,OAAQ,CACN,OAAQjO,EACR,QAASuO,EACX,CACF,CAAC,CACH,EAEFR,GAAYE,EACd,CACF,EAgBA,OAAO5K,CACT,EAoBIgL,GAAwB,SAAUxV,EAAO,CAC3C,OAAO,SAAU+F,EAAO,CAClBA,EAAM,OAAS/F,EAAM,SAAS,GAC9B+F,EAAM,SACRA,EAAM,OAASA,EAAM,OAAO,QAAQ,OAAQ,EAAE,EAElD,CACF,EACI4P,GAAgB,CAAC,EACjBrS,GAAO,qBACPiJ,GAAU,QACVL,GAAM,wCAiBN0J,GAAcjZ,GAAY,CAAC,EAAGZ,GAAY,OAAQkB,EAAW,EAqC7D4Y,GAAU,CACZ,QAAS,KACT,aAAc,SAAUrW,EAAM,CAExB,OAAOA,GAAS,WAAUA,EAAO,CACnC,OAAQA,CACV,GACKA,IAAMA,EAAO,CAAC,GACnB,IAAI0K,EAAkB,CAEtBwD,GAAUM,GAAY,EAAGJ,GAAa,EAAGU,GAAa,EAAG+F,GAAe9F,GAAcG,GAAe4F,GAAuBG,GAAa,EAAGU,GAAwB,EAAGtD,GAA2B,EAAGR,GAA4B,EAAGoB,GAAwB,EAAG9D,GAE/PU,GAAyB,CAAC,EAGtByG,EAAU,IAAInK,GAAYnM,EAAMoW,GAAa1L,EAAiB,CAChE,KAAM5G,GACN,QAASiJ,GACT,IAAKL,EACP,CAAC,EAGD,OAAA4J,EAAQ,aAAa,OAAO,eAAiB/J,GAAgBoB,EAAa,EAC1E2I,EAAQ,QAAQ,MAAM,SAAS,EAC/BA,EAAQ,gBAAgB,iBAAkB,CAAC,EAAG,OAAO,EAC9CA,EAAQ,QAAQ,kBAAoBA,EAAQ,aAAa,EAAIA,CACtE,EACA,MAAO,SAAUtW,EAAM,CACrB,OAAIqW,GAAQ,SACVA,GAAQ,QAAQ,QAAQ,KAAK,sDAAsD,EAC5EA,GAAQ,UAEjBA,GAAQ,QAAUA,GAAQ,aAAarW,CAAI,EACpCqW,GAAQ,QACjB,EACA,UAAW,UAAY,CACrB,OAAOA,GAAQ,SAAW,IAC5B,CACF,EACA,OAAA/Y,GAAS,CAAC,iBAAiB,EAAE,OAAOxB,GAAUqQ,GAAY,SAAS,CAAC,EAAG,SAAUoK,EAAG,CAC9E,KAAK,KAAKA,CAAC,IACfF,GAAQE,CAAC,EAAI,UAAY,CACvB,GAAI,CAACF,GAAQ,QAAS,OAAO,QAAQ,IAAI,WAAaE,EAAI,sCAAsC,EAChGF,GAAQ,QAAQ,QAAU,EAC1B,IAAI9N,EAAM8N,GAAQ,QAAQE,CAAC,EAAE,MAAMF,GAAQ,QAAS,SAAS,EAC7D,OAAAA,GAAQ,QAAQ,QAAU,EACnB9N,CACT,EACF,CAAC,EACD4N,GAAgBE,GAChBF,GAAc,OAAShK,GACvBgK,GAAc,MAAQrO,GACtBqO,GAAc,QAAUhM,GACxBgM,GAAc,WAAa/X,GAG3B+X,GAAc,QAAaE,GACpBF,EACT,CAAC,ICn9GD,IAAAK,GAAAC,GAAA,CAAAC,GAAAC,KAAA,CAAAA,GAAO,QAAU,OCUjB,SAASC,GAAmBC,EAAK,CAC/B,OAAO,IAAIC,GAAc,IAAkD,EAA6D,CAC1I,CACA,SAASC,IAAoB,CAC3B,OAAO,IAAID,GAAc,KAAiD,EAA+E,CAC3J,CACA,SAASE,IAAqB,CAC5B,OAAO,IAAIF,GAAc,KAAkD,EAA4E,CACzJ,CACA,SAASG,GAAmBC,EAAS,CACnC,OAAO,IAAIJ,GAAc,KAAkD,EAAiG,CAC9K,CACA,SAASK,GAAkBD,EAAS,CAClC,OAAO,IAAIJ,GAAc,KAAiD,EAAwE,CACpJ,CACA,SAASM,GAAgBC,EAAU,CACjC,OAAO,IAAIP,GAAc,KAA+C,EAAqE,CAC/I,CACA,SAASQ,GAAoBC,EAAsBC,EAAO,CACxD,OAAO,IAAIV,GAAc,KAAoD,EAAmF,CAClK,CACA,SAASW,IAAiB,CACxB,OAAO,IAAIX,GAAc,KAA6C,EAAmG,CAC3K,CACA,SAASY,IAAoB,CAC3B,OAAO,IAAIZ,GAAc,KAAgD,EAAsF,CACjK,CACA,SAASa,GAAaC,EAAcC,EAAa,CAC/C,OAAO,IAAIf,GAAc,KAA2C,EAA4I,CAClN,CACA,SAASgB,GAAkBN,EAAO,CAChC,OAAO,IAAIV,GAAc,KAAiD,EAAuE,CACnJ,CAIA,SAASiB,GAAyBC,EAAMC,EAAYC,EAAUC,EAAaC,EAAW,CACpF,OAAO,IAAIC,GAAc,KAAwD,EAA4N,CAC/S,CACA,SAASC,IAAmB,CAC1B,OAAO,IAAID,GAAc,KAA+C,EAAuE,CACjJ,CACA,SAASE,IAAgB,CACvB,OAAO,IAAIF,GAAc,KAA4C,EAA0E,CACjJ,CACA,SAASG,IAA4B,CACnC,OAAO,IAAIH,GAAc,KAA2D,EAAmE,CACzJ,CACA,SAASI,IAA0B,CACjC,OAAO,IAAIJ,GAAc,KAAuD,EAAoF,CACtK,CACA,SAASK,IAAiB,CACxB,OAAO,IAAIL,GAAc,KAA6C,EAA2D,CACnI,CACA,SAASM,GAAaC,EAAU,CAC9B,OAAO,IAAIP,GAAc,KAA2C,EAA6I,CACnN,CACA,SAASQ,GAAkBC,EAAM,CAC/B,OAAO,IAAIT,GAAc,KAAgD,EAA4E,CACvJ,CACA,SAASU,GAAuBC,EAAO,CACrC,OAAO,IAAIX,GAAc,KAAsD,EAAqE,CACtJ,CAOA,SAASY,GAAmBC,EAAMC,EAAQ,CACxC,OAAO,IAAIC,GAAc,KAAkD,EAAmJ,CAChO,CACA,SAASC,GAAgBF,EAAQ,CAC/B,OAAO,IAAIC,GAAc,KAA8C,EAA4H,CACrM,CACA,SAASE,GAAeH,EAAQ,CAC9B,OAAO,IAAIC,GAAc,KAAiD,EAAsH,CAClM,CACA,SAASG,IAA8B,CACrC,OAAO,IAAIH,GAAc,KAA4D,EAAkF,CACzK,CACA,SAASI,GAAsBL,EAAQ,CACrC,OAAO,IAAIC,GAAc,KAAqD,EAAsH,CACtM,CACA,SAASK,GAAcC,EAAI,CACzB,OAAO,IAAIN,GAAc,KAA4C,EAAqE,CAC5I,CACA,SAASO,GAAeC,EAAOV,EAAM,CACnC,OAAO,IAAIE,GAAc,KAA6C,EAAiI,CACzM,CACA,SAASS,GAAaX,EAAM,CAC1B,OAAO,IAAIE,GAAc,KAA2C,EAA2G,CACjL,CACA,SAASU,GAAwBF,EAAOV,EAAM,CAC5C,OAAO,IAAIE,GAAc,KAAuD,EAAoH,CACtM,CACA,SAASW,GAAoBb,EAAM,CACjC,OAAO,IAAIE,GAAc,KAAkD,EAAgF,CAC7J,CACA,SAASY,GAAyBb,EAAQ,CACxC,OAAO,IAAIC,GAAc,KAAwD,EAA0I,CAC7N,CAIA,SAASa,GAAiBC,EAAMC,EAAQ,CACtC,OAAO,IAAIC,GAAc,KAA+C,EAA2F,CACrK,CAQA,SAASC,GAAoBC,EAAS,CACpC,OAAQA,EAAQ,OAAQ,CACtB,IAAK,GACH,OAAO,IAAIC,GACb,IAAK,GACH,OAAOD,EAAQ,CAAC,EAClB,QACE,OAAO,IAAIE,GAAsBF,CAAO,CAC5C,CACF,CACA,SAASG,GAAqBC,EAAYC,EAAWC,EAAY,IAAI,IAAOC,EAAa,IAAI,IAAO,CAClG,IAAMC,EAAS,CAAC,EACVC,EAAsB,CAAC,EACzBC,EAAiB,GACjBC,EAAmB,KA8BvB,GA7BAN,EAAU,QAAQO,GAAM,CACtB,IAAMC,EAASD,EAAG,IAAI,QAAQ,EACxBE,GAAeD,GAAUH,EACzBK,GAAqBD,IAAgBH,GAAoB,IAAI,IACnEC,EAAG,QAAQ,CAACI,GAAKC,KAAS,CACxB,IAAIC,GAAiBD,GACjBE,GAAkBH,GACtB,GAAIC,KAAS,SAEX,OADAC,GAAiBd,EAAW,sBAAsBc,GAAgBV,CAAM,EAChEW,GAAiB,CACvB,KAAKC,GACHD,GAAkBb,EAAU,IAAIW,EAAI,EACpC,MACF,KAAKI,GACHF,GAAkBZ,EAAW,IAAIU,EAAI,EACrC,MACF,QACEE,GAAkBf,EAAW,oBAAoBa,GAAMC,GAAgBC,GAAiBX,CAAM,EAC9F,KACJ,CAEFO,GAAmB,IAAIG,GAAgBC,EAAe,CACxD,CAAC,EACIL,IACHL,EAAoB,KAAKM,EAAkB,EAE7CJ,EAAmBI,GACnBL,EAAiBG,CACnB,CAAC,EACGL,EAAO,OACT,MAAMc,GAAgBd,CAAM,EAE9B,OAAOC,CACT,CACA,SAASc,GAAeC,EAAQC,EAAWC,EAAOC,EAAU,CAC1D,OAAQF,EAAW,CACjB,IAAK,QACHD,EAAO,QAAQ,IAAMG,EAASD,GAASE,GAAmBF,EAAO,QAASF,CAAM,CAAC,CAAC,EAClF,MACF,IAAK,OACHA,EAAO,OAAO,IAAMG,EAASD,GAASE,GAAmBF,EAAO,OAAQF,CAAM,CAAC,CAAC,EAChF,MACF,IAAK,UACHA,EAAO,UAAU,IAAMG,EAASD,GAASE,GAAmBF,EAAO,UAAWF,CAAM,CAAC,CAAC,EACtF,KACJ,CACF,CACA,SAASI,GAAmBC,EAAGC,EAAWN,EAAQ,CAChD,IAAMO,EAAYP,EAAO,UACnBQ,EAAW,EAAAR,EAAO,SAClBE,EAAQO,GAAmBJ,EAAE,QAASA,EAAE,YAAaA,EAAE,UAAWA,EAAE,QAASC,GAAaD,EAAE,UAAWE,GAAyBF,EAAE,UAAuBG,CAAQ,EACjKE,EAAOL,EAAE,MACf,OAAIK,GAAQ,OACVR,EAAM,MAAWQ,GAEZR,CACT,CACA,SAASO,GAAmBE,EAASC,EAAaC,EAAWC,EAASR,EAAY,GAAIC,EAAY,EAAGC,EAAU,CAC7G,MAAO,CACL,QAAAG,EACA,YAAAC,EACA,UAAAC,EACA,QAAAC,EACA,UAAAR,EACA,UAAAC,EACA,SAAU,CAAC,CAACC,CACd,CACF,CACA,SAASO,GAAqBC,EAAKC,EAAKC,EAAc,CACpD,IAAIC,EAAQH,EAAI,IAAIC,CAAG,EACvB,OAAKE,GACHH,EAAI,IAAIC,EAAKE,EAAQD,CAAY,EAE5BC,CACT,CACA,SAASC,GAAqBC,EAAS,CACrC,IAAMC,EAAeD,EAAQ,QAAQ,GAAG,EAClCE,EAAKF,EAAQ,UAAU,EAAGC,CAAY,EACtCE,EAASH,EAAQ,MAAMC,EAAe,CAAC,EAC7C,MAAO,CAACC,EAAIC,CAAM,CACpB,CACA,IAAMC,GAAwC,OAAO,SAAa,IAAc,KAAO,SAAS,gBAChG,SAASC,GAAiBf,EAAS,CACjC,IAAMgB,EAAShB,EAAQ,YAAcA,EAAQ,MAAQ,KACrD,OAAIgB,IAAWF,GACN,KAEFE,CACT,CACA,SAASC,GAAqBnC,EAAM,CAGlC,OAAOA,EAAK,UAAU,EAAG,CAAC,GAAK,OACjC,CACA,IAAIoC,GAAe,KACfC,GAAa,GACjB,SAASC,GAAsBtC,EAAM,CAC9BoC,KACHA,GAAeG,GAAY,GAAK,CAAC,EACjCF,GAAaD,GAAa,MAAQ,qBAAsBA,GAAa,MAAQ,IAE/E,IAAII,EAAS,GACb,OAAIJ,GAAa,OAAS,CAACD,GAAqBnC,CAAI,IAClDwC,EAASxC,KAAQoC,GAAa,MAC1B,CAACI,GAAUH,KAEbG,EADkB,SAAWxC,EAAK,OAAO,CAAC,EAAE,YAAY,EAAIA,EAAK,MAAM,CAAC,IAClDoC,GAAa,QAGhCI,CACT,CAIA,SAASC,IAAc,CACrB,OAAI,OAAO,SAAY,IACd,SAAS,KAEX,IACT,CACA,SAASC,GAAgBC,EAAMC,EAAM,CACnC,KAAOA,GAAM,CACX,GAAIA,IAASD,EACX,MAAO,GAETC,EAAOC,GAAiBD,CAAI,CAC9B,CACA,MAAO,EACT,CACA,SAASE,GAAYC,EAASC,EAAUC,EAAO,CAC7C,GAAIA,EACF,OAAO,MAAM,KAAKF,EAAQ,iBAAiBC,CAAQ,CAAC,EAEtD,IAAME,EAAOH,EAAQ,cAAcC,CAAQ,EAC3C,OAAOE,EAAO,CAACA,CAAI,EAAI,CAAC,CAC1B,CAeA,IAAIC,IAAoC,IAAM,CAC5C,MAAMA,CAAoB,CAIxB,sBAAsBC,EAAM,CAC1B,OAAOC,GAAsBD,CAAI,CACnC,CAKA,gBAAgBE,EAAMC,EAAM,CAC1B,OAAOC,GAAgBF,EAAMC,CAAI,CACnC,CAIA,iBAAiBE,EAAS,CACxB,OAAOC,GAAiBD,CAAO,CACjC,CAKA,MAAMA,EAASE,EAAUC,EAAO,CAC9B,OAAOC,GAAYJ,EAASE,EAAUC,CAAK,CAC7C,CAIA,aAAaH,EAASL,EAAMU,EAAc,CACxC,OAAOA,GAAgB,EACzB,CAIA,QAAQL,EAASM,EAAWC,EAAUC,EAAOC,EAAQC,EAAkB,CAAC,EAAGC,EAAyB,CAClG,OAAO,IAAIC,GAAoBL,EAAUC,CAAK,CAChD,CACA,OAAO,UAAO,SAAqCK,EAAmB,CACpE,OAAO,IAAKA,GAAqBnB,EACnC,EACA,OAAO,WAA0BoB,EAAmB,CAClD,MAAOpB,EACP,QAASA,EAAoB,SAC/B,CAAC,CACH,CACA,OAAOA,CACT,GAAG,EAOGqB,GAAN,KAAsB,CAIpB,OAAO,KAAoB,IAAIrB,EACjC,EACMsB,GAAN,KAA+B,CAAC,EAShC,IAAMC,GAAa,IACbC,GAA0B,KAC1BC,GAAwB,KACxBC,GAAkB,WAClBC,GAAkB,WAClBC,GAAuB,aACvBC,GAAsB,cACtBC,GAAyB,eACzBC,GAAwB,gBAC9B,SAASC,GAAmBC,EAAO,CACjC,GAAI,OAAOA,GAAS,SAAU,OAAOA,EACrC,IAAMC,EAAUD,EAAM,MAAM,mBAAmB,EAC/C,MAAI,CAACC,GAAWA,EAAQ,OAAS,EAAU,EACpCC,GAAsB,WAAWD,EAAQ,CAAC,CAAC,EAAGA,EAAQ,CAAC,CAAC,CACjE,CACA,SAASC,GAAsBF,EAAOG,EAAM,CAC1C,OAAQA,EAAM,CACZ,IAAK,IACH,OAAOH,EAAQV,GACjB,QAEE,OAAOU,CACX,CACF,CACA,SAASI,GAAcC,EAASC,EAAQC,EAAqB,CAC3D,OAAOF,EAAQ,eAAe,UAAU,EAAIA,EAAUG,GAAoBH,EAASC,EAAQC,CAAmB,CAChH,CACA,SAASC,GAAoBC,EAAKH,EAAQC,EAAqB,CAC7D,IAAMG,EAAQ,2EACVC,EACAC,EAAQ,EACRC,EAAS,GACb,GAAI,OAAOJ,GAAQ,SAAU,CAC3B,IAAMR,EAAUQ,EAAI,MAAMC,CAAK,EAC/B,GAAIT,IAAY,KACd,OAAAK,EAAO,KAAKQ,GAAmBL,CAAG,CAAC,EAC5B,CACL,SAAU,EACV,MAAO,EACP,OAAQ,EACV,EAEFE,EAAWT,GAAsB,WAAWD,EAAQ,CAAC,CAAC,EAAGA,EAAQ,CAAC,CAAC,EACnE,IAAMc,EAAad,EAAQ,CAAC,EACxBc,GAAc,OAChBH,EAAQV,GAAsB,WAAWa,CAAU,EAAGd,EAAQ,CAAC,CAAC,GAElE,IAAMe,EAAYf,EAAQ,CAAC,EACvBe,IACFH,EAASG,EAEb,MACEL,EAAWF,EAEb,GAAI,CAACF,EAAqB,CACxB,IAAIU,EAAiB,GACjBC,EAAaZ,EAAO,OACpBK,EAAW,IACbL,EAAO,KAAKa,GAAkB,CAAC,EAC/BF,EAAiB,IAEfL,EAAQ,IACVN,EAAO,KAAKc,GAAmB,CAAC,EAChCH,EAAiB,IAEfA,GACFX,EAAO,OAAOY,EAAY,EAAGJ,GAAmBL,CAAG,CAAC,CAExD,CACA,MAAO,CACL,SAAAE,EACA,MAAAC,EACA,OAAAC,CACF,CACF,CACA,SAASQ,GAAmBC,EAAW,CACrC,OAAKA,EAAU,OAGXA,EAAU,CAAC,YAAa,IACnBA,EAEFA,EAAU,IAAIC,GAAM,IAAI,IAAI,OAAO,QAAQA,CAAE,CAAC,CAAC,EAL7C,CAAC,CAMZ,CAIA,SAASC,GAAUC,EAASC,EAAQC,EAAc,CAChDD,EAAO,QAAQ,CAACE,EAAKC,IAAS,CAC5B,IAAMC,EAAYC,GAAoBF,CAAI,EACtCF,GAAgB,CAACA,EAAa,IAAIE,CAAI,GACxCF,EAAa,IAAIE,EAAMJ,EAAQ,MAAMK,CAAS,CAAC,EAEjDL,EAAQ,MAAMK,CAAS,EAAIF,CAC7B,CAAC,CACH,CACA,SAASI,GAAYP,EAASC,EAAQ,CACpCA,EAAO,QAAQ,CAACO,EAAGJ,IAAS,CAC1B,IAAMC,EAAYC,GAAoBF,CAAI,EAC1CJ,EAAQ,MAAMK,CAAS,EAAI,EAC7B,CAAC,CACH,CACA,SAASI,GAAwBC,EAAO,CACtC,OAAI,MAAM,QAAQA,CAAK,EACjBA,EAAM,QAAU,EAAUA,EAAM,CAAC,EAC9BC,GAASD,CAAK,EAEhBA,CACT,CACA,SAASE,GAAoBC,EAAOC,EAASC,EAAQ,CACnD,IAAMC,EAASF,EAAQ,QAAU,CAAC,EAC5BG,EAAUC,GAAmBL,CAAK,EACpCI,EAAQ,QACVA,EAAQ,QAAQE,GAAW,CACpBH,EAAO,eAAeG,CAAO,GAChCJ,EAAO,KAAKK,GAAmBD,CAAO,CAAC,CAE3C,CAAC,CAEL,CACA,IAAME,GAA2B,IAAI,OAAO,GAAGC,EAAuB,gBAAgBC,EAAqB,GAAI,GAAG,EAClH,SAASL,GAAmBL,EAAO,CACjC,IAAIG,EAAS,CAAC,EACd,GAAI,OAAOH,GAAU,SAAU,CAC7B,IAAIW,EACJ,KAAOA,EAAQH,GAAY,KAAKR,CAAK,GACnCG,EAAO,KAAKQ,EAAM,CAAC,CAAC,EAEtBH,GAAY,UAAY,CAC1B,CACA,OAAOL,CACT,CACA,SAASS,GAAkBZ,EAAOG,EAAQD,EAAQ,CAChD,IAAMW,EAAW,GAAGb,CAAK,GACnBc,EAAMD,EAAS,QAAQL,GAAa,CAACb,EAAGW,IAAY,CACxD,IAAIS,EAAWZ,EAAOG,CAAO,EAE7B,OAAIS,GAAY,OACdb,EAAO,KAAKc,GAAkBV,CAAO,CAAC,EACtCS,EAAW,IAENA,EAAS,SAAS,CAC3B,CAAC,EAED,OAAOD,GAAOD,EAAWb,EAAQc,CACnC,CACA,IAAMG,GAAmB,gBACzB,SAASxB,GAAoByB,EAAO,CAClC,OAAOA,EAAM,QAAQD,GAAkB,IAAIE,IAAMA,EAAE,CAAC,EAAE,YAAY,CAAC,CACrE,CAIA,SAASC,GAA+BC,EAAUC,EAAO,CACvD,OAAOD,IAAa,GAAKC,IAAU,CACrC,CACA,SAASC,GAAmCC,EAASC,EAAWC,EAAgB,CAC9E,GAAIA,EAAe,MAAQD,EAAU,OAAQ,CAC3C,IAAIE,EAAmBF,EAAU,CAAC,EAC9BG,EAAoB,CAAC,EAOzB,GANAF,EAAe,QAAQ,CAACG,EAAKC,IAAS,CAC/BH,EAAiB,IAAIG,CAAI,GAC5BF,EAAkB,KAAKE,CAAI,EAE7BH,EAAiB,IAAIG,EAAMD,CAAG,CAChC,CAAC,EACGD,EAAkB,OACpB,QAASG,EAAI,EAAGA,EAAIN,EAAU,OAAQM,IAAK,CACzC,IAAIC,EAAKP,EAAUM,CAAC,EACpBH,EAAkB,QAAQE,GAAQE,EAAG,IAAIF,EAAMG,GAAaT,EAASM,CAAI,CAAC,CAAC,CAC7E,CAEJ,CACA,OAAOL,CACT,CACA,SAASS,GAAaC,EAASC,EAAMC,EAAS,CAC5C,OAAQD,EAAK,KAAM,CACjB,KAAKE,GAAsB,QACzB,OAAOH,EAAQ,aAAaC,EAAMC,CAAO,EAC3C,KAAKC,GAAsB,MACzB,OAAOH,EAAQ,WAAWC,EAAMC,CAAO,EACzC,KAAKC,GAAsB,WACzB,OAAOH,EAAQ,gBAAgBC,EAAMC,CAAO,EAC9C,KAAKC,GAAsB,SACzB,OAAOH,EAAQ,cAAcC,EAAMC,CAAO,EAC5C,KAAKC,GAAsB,MACzB,OAAOH,EAAQ,WAAWC,EAAMC,CAAO,EACzC,KAAKC,GAAsB,QACzB,OAAOH,EAAQ,aAAaC,EAAMC,CAAO,EAC3C,KAAKC,GAAsB,UACzB,OAAOH,EAAQ,eAAeC,EAAMC,CAAO,EAC7C,KAAKC,GAAsB,MACzB,OAAOH,EAAQ,WAAWC,EAAMC,CAAO,EACzC,KAAKC,GAAsB,UACzB,OAAOH,EAAQ,eAAeC,EAAMC,CAAO,EAC7C,KAAKC,GAAsB,aACzB,OAAOH,EAAQ,kBAAkBC,EAAMC,CAAO,EAChD,KAAKC,GAAsB,WACzB,OAAOH,EAAQ,gBAAgBC,EAAMC,CAAO,EAC9C,KAAKC,GAAsB,MACzB,OAAOH,EAAQ,WAAWC,EAAMC,CAAO,EACzC,KAAKC,GAAsB,QACzB,OAAOH,EAAQ,aAAaC,EAAMC,CAAO,EAC3C,QACE,MAAME,GAAgBH,EAAK,IAAI,CACnC,CACF,CACA,SAASH,GAAaT,EAASM,EAAM,CACnC,OAAO,OAAO,iBAAiBN,CAAO,EAAEM,CAAI,CAC9C,CACA,IAAMU,GAAoC,IAAI,IAAI,CAAC,QAAS,SAAU,WAAY,YAAa,WAAY,YAAa,OAAQ,MAAO,SAAU,QAAS,WAAY,eAAgB,gBAAiB,aAAc,cAAe,gBAAiB,eAAgB,YAAa,aAAc,eAAgB,cAAe,eAAgB,cAAe,iBAAkB,kBAAmB,mBAAoB,oBAAqB,aAAc,aAAa,CAAC,EAClcC,GAAN,cAA2CC,EAAyB,CAClE,sBAAsBC,EAAcC,EAAQ,CAC1C,OAAOC,GAAoBF,CAAY,CACzC,CACA,oBAAoBG,EAAsBC,EAAoBC,EAAOJ,EAAQ,CAC3E,IAAIK,EAAO,GACLC,EAASF,EAAM,SAAS,EAAE,KAAK,EACrC,GAAIR,GAAqB,IAAIO,CAAkB,GAAKC,IAAU,GAAKA,IAAU,IAC3E,GAAI,OAAOA,GAAU,SACnBC,EAAO,SACF,CACL,IAAME,EAAoBH,EAAM,MAAM,wBAAwB,EAC1DG,GAAqBA,EAAkB,CAAC,EAAE,QAAU,GACtDP,EAAO,KAAKQ,GAAoBN,EAAsBE,CAAK,CAAC,CAEhE,CAEF,OAAOE,EAASD,CAClB,CACF,EAsBA,IAAMI,GAAY,IAClB,SAASC,GAAoBC,EAAiBC,EAAQ,CACpD,IAAMC,EAAc,CAAC,EACrB,OAAI,OAAOF,GAAmB,SAC5BA,EAAgB,MAAM,SAAS,EAAE,QAAQG,GAAOC,GAAwBD,EAAKD,EAAaD,CAAM,CAAC,EAEjGC,EAAY,KAAKF,CAAe,EAE3BE,CACT,CACA,SAASE,GAAwBC,EAAUH,EAAaD,EAAQ,CAC9D,GAAII,EAAS,CAAC,GAAK,IAAK,CACtB,IAAMC,EAASC,GAAoBF,EAAUJ,CAAM,EACnD,GAAI,OAAOK,GAAU,WAAY,CAC/BJ,EAAY,KAAKI,CAAM,EACvB,MACF,CACAD,EAAWC,CACb,CACA,IAAME,EAAQH,EAAS,MAAM,yCAAyC,EACtE,GAAIG,GAAS,MAAQA,EAAM,OAAS,EAClC,OAAAP,EAAO,KAAKQ,GAAkBJ,CAAQ,CAAC,EAChCH,EAET,IAAMQ,EAAYF,EAAM,CAAC,EACnBG,EAAYH,EAAM,CAAC,EACnBI,EAAUJ,EAAM,CAAC,EACvBN,EAAY,KAAKW,GAAqBH,EAAWE,CAAO,CAAC,EACzD,IAAME,EAAqBJ,GAAaZ,IAAac,GAAWd,GAC5Da,EAAU,CAAC,GAAK,KAAO,CAACG,GAC1BZ,EAAY,KAAKW,GAAqBD,EAASF,CAAS,CAAC,CAG7D,CACA,SAASH,GAAoBQ,EAAOd,EAAQ,CAC1C,OAAQc,EAAO,CACb,IAAK,SACH,MAAO,YACT,IAAK,SACH,MAAO,YACT,IAAK,aACH,MAAO,CAACL,EAAWE,IAAY,WAAWA,CAAO,EAAI,WAAWF,CAAS,EAC3E,IAAK,aACH,MAAO,CAACA,EAAWE,IAAY,WAAWA,CAAO,EAAI,WAAWF,CAAS,EAC3E,QACE,OAAAT,EAAO,KAAKe,GAAuBD,CAAK,CAAC,EAClC,QACX,CACF,CAKA,IAAME,GAAmC,IAAI,IAAI,CAAC,OAAQ,GAAG,CAAC,EACxDC,GAAoC,IAAI,IAAI,CAAC,QAAS,GAAG,CAAC,EAChE,SAASL,GAAqBM,EAAKC,EAAK,CACtC,IAAMC,EAAoBJ,GAAoB,IAAIE,CAAG,GAAKD,GAAqB,IAAIC,CAAG,EAChFG,EAAoBL,GAAoB,IAAIG,CAAG,GAAKF,GAAqB,IAAIE,CAAG,EACtF,MAAO,CAACV,EAAWE,IAAY,CAC7B,IAAIW,EAAWJ,GAAOrB,IAAaqB,GAAOT,EACtCc,EAAWJ,GAAOtB,IAAasB,GAAOR,EAC1C,MAAI,CAACW,GAAYF,GAAqB,OAAOX,GAAc,YACzDa,EAAWb,EAAYO,GAAoB,IAAIE,CAAG,EAAID,GAAqB,IAAIC,CAAG,GAEhF,CAACK,GAAYF,GAAqB,OAAOV,GAAY,YACvDY,EAAWZ,EAAUK,GAAoB,IAAIG,CAAG,EAAIF,GAAqB,IAAIE,CAAG,GAE3EG,GAAYC,CACrB,CACF,CACA,IAAMC,GAAa,QACbC,GAAgC,IAAI,OAAO,KAAKD,EAAU,OAAQ,GAAG,EAqC3E,SAASE,GAAkBC,EAAQC,EAAU5B,EAAQ6B,EAAU,CAC7D,OAAO,IAAIC,GAA2BH,CAAM,EAAE,MAAMC,EAAU5B,EAAQ6B,CAAQ,CAChF,CACA,IAAME,GAAgB,GAChBD,GAAN,KAAiC,CAC/B,QACA,YAAYE,EAAS,CACnB,KAAK,QAAUA,CACjB,CACA,MAAMJ,EAAU5B,EAAQ6B,EAAU,CAChC,IAAMI,EAAU,IAAIC,GAA2BlC,CAAM,EACrD,YAAK,8BAA8BiC,CAAO,EAC9BE,GAAa,KAAMC,GAAwBR,CAAQ,EAAGK,CAAO,CAO3E,CACA,8BAA8BA,EAAS,CACrCA,EAAQ,qBAAuBF,GAC/BE,EAAQ,gBAAkB,IAAI,IAC9BA,EAAQ,gBAAgB,IAAIF,GAAe,IAAI,GAAK,EACpDE,EAAQ,YAAc,CACxB,CACA,aAAaL,EAAUK,EAAS,CAC9B,IAAII,EAAaJ,EAAQ,WAAa,EAClCK,EAAWL,EAAQ,SAAW,EAC5BM,EAAS,CAAC,EACVC,EAAc,CAAC,EACrB,OAAIZ,EAAS,KAAK,OAAO,CAAC,GAAK,KAC7BK,EAAQ,OAAO,KAAKQ,GAAe,CAAC,EAEtCb,EAAS,YAAY,QAAQc,GAAO,CAElC,GADA,KAAK,8BAA8BT,CAAO,EACtCS,EAAI,MAAQC,GAAsB,MAAO,CAC3C,IAAMC,EAAWF,EACXG,EAAOD,EAAS,KACtBC,EAAK,SAAS,EAAE,MAAM,SAAS,EAAE,QAAQC,IAAK,CAC5CF,EAAS,KAAOE,GAChBP,EAAO,KAAK,KAAK,WAAWK,EAAUX,CAAO,CAAC,CAChD,CAAC,EACDW,EAAS,KAAOC,CAClB,SAAWH,EAAI,MAAQC,GAAsB,WAAY,CACvD,IAAMI,EAAa,KAAK,gBAAgBL,EAAKT,CAAO,EACpDI,GAAcU,EAAW,WACzBT,GAAYS,EAAW,SACvBP,EAAY,KAAKO,CAAU,CAC7B,MACEd,EAAQ,OAAO,KAAKe,GAAkB,CAAC,CAE3C,CAAC,EACM,CACL,KAAML,GAAsB,QAC5B,KAAMf,EAAS,KACf,OAAAW,EACA,YAAAC,EACA,WAAAH,EACA,SAAAC,EACA,QAAS,IACX,CACF,CACA,WAAWV,EAAUK,EAAS,CAC5B,IAAMgB,EAAW,KAAK,WAAWrB,EAAS,OAAQK,CAAO,EACnDiB,EAAYtB,EAAS,SAAWA,EAAS,QAAQ,QAAU,KACjE,GAAIqB,EAAS,sBAAuB,CAClC,IAAME,EAAc,IAAI,IAClBC,EAASF,GAAa,CAAC,EAC7BD,EAAS,OAAO,QAAQI,GAAS,CAC3BA,aAAiB,KACnBA,EAAM,QAAQC,GAAS,CACrBC,GAAmBD,CAAK,EAAE,QAAQE,GAAO,CAClCJ,EAAO,eAAeI,CAAG,GAC5BL,EAAY,IAAIK,CAAG,CAEvB,CAAC,CACH,CAAC,CAEL,CAAC,EACGL,EAAY,MACdlB,EAAQ,OAAO,KAAKwB,GAAa7B,EAAS,KAAM,CAAC,GAAGuB,EAAY,OAAO,CAAC,CAAC,CAAC,CAE9E,CACA,MAAO,CACL,KAAMR,GAAsB,MAC5B,KAAMf,EAAS,KACf,MAAOqB,EACP,QAASC,EAAY,CACnB,OAAQA,CACV,EAAI,IACN,CACF,CACA,gBAAgBtB,EAAUK,EAAS,CACjCA,EAAQ,WAAa,EACrBA,EAAQ,SAAW,EACnB,IAAMyB,EAAYvB,GAAa,KAAMC,GAAwBR,EAAS,SAAS,EAAGK,CAAO,EACnF0B,EAAW7D,GAAoB8B,EAAS,KAAMK,EAAQ,MAAM,EAClE,MAAO,CACL,KAAMU,GAAsB,WAC5B,SAAAgB,EACA,UAAAD,EACA,WAAYzB,EAAQ,WACpB,SAAUA,EAAQ,SAClB,QAAS2B,GAA0BhC,EAAS,OAAO,CACrD,CACF,CACA,cAAcA,EAAUK,EAAS,CAC/B,MAAO,CACL,KAAMU,GAAsB,SAC5B,MAAOf,EAAS,MAAM,IAAIiC,GAAK1B,GAAa,KAAM0B,EAAG5B,CAAO,CAAC,EAC7D,QAAS2B,GAA0BhC,EAAS,OAAO,CACrD,CACF,CACA,WAAWA,EAAUK,EAAS,CAC5B,IAAM6B,EAAc7B,EAAQ,YACxB8B,EAAe,EACbC,EAAQpC,EAAS,MAAM,IAAIqC,GAAQ,CACvChC,EAAQ,YAAc6B,EACtB,IAAMI,EAAW/B,GAAa,KAAM8B,EAAMhC,CAAO,EACjD,OAAA8B,EAAe,KAAK,IAAIA,EAAc9B,EAAQ,WAAW,EAClDiC,CACT,CAAC,EACD,OAAAjC,EAAQ,YAAc8B,EACf,CACL,KAAMpB,GAAsB,MAC5B,MAAAqB,EACA,QAASJ,GAA0BhC,EAAS,OAAO,CACrD,CACF,CACA,aAAaA,EAAUK,EAAS,CAC9B,IAAMkC,EAAYC,GAAmBxC,EAAS,QAASK,EAAQ,MAAM,EACrEA,EAAQ,sBAAwBkC,EAChC,IAAIlB,EACAoB,EAAgBzC,EAAS,OAASA,EAAS,OAASyB,GAAM,CAAC,CAAC,EAChE,GAAIgB,EAAc,MAAQ1B,GAAsB,UAC9CM,EAAW,KAAK,eAAeoB,EAAepC,CAAO,MAChD,CACL,IAAIoC,EAAgBzC,EAAS,OACzB0C,EAAU,GACd,GAAI,CAACD,EAAe,CAClBC,EAAU,GACV,IAAMC,EAAe,CAAC,EAClBJ,EAAU,SACZI,EAAa,OAAYJ,EAAU,QAErCE,EAAgBhB,GAAMkB,CAAY,CACpC,CACAtC,EAAQ,aAAekC,EAAU,SAAWA,EAAU,MACtD,IAAMK,EAAY,KAAK,WAAWH,EAAepC,CAAO,EACxDuC,EAAU,YAAcF,EACxBrB,EAAWuB,CACb,CACA,OAAAvC,EAAQ,sBAAwB,KACzB,CACL,KAAMU,GAAsB,QAC5B,QAASwB,EACT,MAAOlB,EACP,QAAS,IACX,CACF,CACA,WAAWrB,EAAUK,EAAS,CAC5B,IAAMwC,EAAM,KAAK,cAAc7C,EAAUK,CAAO,EAChD,YAAK,kBAAkBwC,EAAKxC,CAAO,EAC5BwC,CACT,CACA,cAAc7C,EAAUK,EAAS,CAC/B,IAAMyC,EAAS,CAAC,EACVC,EAAiB,MAAM,QAAQ/C,EAAS,MAAM,EAAIA,EAAS,OAAS,CAACA,EAAS,MAAM,EAC1F,QAASgD,KAAcD,EACjB,OAAOC,GAAe,SACpBA,IAAeC,GACjBH,EAAO,KAAKE,CAAU,EAEtB3C,EAAQ,OAAO,KAAK6C,GAAkBF,CAAU,CAAC,EAGnDF,EAAO,KAAK,IAAI,IAAI,OAAO,QAAQE,CAAU,CAAC,CAAC,EAGnD,IAAIG,EAAwB,GACxBC,EAAkB,KACtB,OAAAN,EAAO,QAAQO,GAAa,CAC1B,GAAIA,aAAqB,MACnBA,EAAU,IAAI,QAAQ,IACxBD,EAAkBC,EAAU,IAAI,QAAQ,EACxCA,EAAU,OAAO,QAAQ,GAEvB,CAACF,IACH,QAASzB,KAAS2B,EAAU,OAAO,EACjC,GAAI3B,EAAM,SAAS,EAAE,QAAQ4B,EAAuB,GAAK,EAAG,CAC1DH,EAAwB,GACxB,KACF,EAIR,CAAC,EACM,CACL,KAAMpC,GAAsB,MAC5B,OAAA+B,EACA,OAAQM,EACR,OAAQpD,EAAS,OACjB,sBAAAmD,EACA,QAAS,IACX,CACF,CACA,kBAAkBN,EAAKxC,EAAS,CAC9B,IAAMkD,EAAUlD,EAAQ,sBACpBmD,EAAUnD,EAAQ,YAClBoD,EAAYpD,EAAQ,YACpBkD,GAAWE,EAAY,IACzBA,GAAaF,EAAQ,SAAWA,EAAQ,OAE1CV,EAAI,OAAO,QAAQa,GAAS,CACtB,OAAOA,GAAU,UACrBA,EAAM,QAAQ,CAAChC,EAAOiC,IAAS,CAU7B,IAAMC,EAAkBvD,EAAQ,gBAAgB,IAAIA,EAAQ,oBAAoB,EAC1EwD,GAAiBD,EAAgB,IAAID,CAAI,EAC3CG,GAAuB,GACvBD,KACEJ,GAAaD,GAAWC,GAAaI,GAAe,WAAaL,GAAWK,GAAe,UAC7FxD,EAAQ,OAAO,KAAK0D,GAAyBJ,EAAME,GAAe,UAAWA,GAAe,QAASJ,EAAWD,CAAO,CAAC,EACxHM,GAAuB,IAKzBL,EAAYI,GAAe,WAEzBC,IACFF,EAAgB,IAAID,EAAM,CACxB,UAAAF,EACA,QAAAD,CACF,CAAC,EAECnD,EAAQ,SACV2D,GAAoBtC,EAAOrB,EAAQ,QAASA,EAAQ,MAAM,CAE9D,CAAC,CACH,CAAC,CACH,CACA,eAAeL,EAAUK,EAAS,CAChC,IAAMwC,EAAM,CACV,KAAM9B,GAAsB,UAC5B,OAAQ,CAAC,EACT,QAAS,IACX,EACA,GAAI,CAACV,EAAQ,sBACX,OAAAA,EAAQ,OAAO,KAAK4D,GAAiB,CAAC,EAC/BpB,EAET,IAAMqB,EAAsB,EACxBC,EAA4B,EAC1BC,EAAU,CAAC,EACbC,EAAoB,GACpBC,EAAsB,GACtBC,EAAiB,EACfC,GAAYxE,EAAS,MAAM,IAAI8C,IAAU,CAC7C,IAAMrB,GAAQ,KAAK,cAAcqB,GAAQzC,CAAO,EAC5CoE,GAAYhD,GAAM,QAAU,KAAOA,GAAM,OAASiD,GAAcjD,GAAM,MAAM,EAC5EkD,GAAS,EACb,OAAIF,IAAa,OACfN,IACAQ,GAASlD,GAAM,OAASgD,IAE1BH,EAAsBA,GAAuBK,GAAS,GAAKA,GAAS,EACpEN,EAAoBA,GAAqBM,GAASJ,EAClDA,EAAiBI,GACjBP,EAAQ,KAAKO,EAAM,EACZlD,EACT,CAAC,EACG6C,GACFjE,EAAQ,OAAO,KAAKuE,GAAc,CAAC,EAEjCP,GACFhE,EAAQ,OAAO,KAAKwE,GAA0B,CAAC,EAEjD,IAAMC,GAAS9E,EAAS,MAAM,OAC1B+E,GAAkB,EAClBZ,EAA4B,GAAKA,EAA4BW,GAC/DzE,EAAQ,OAAO,KAAK2E,GAAwB,CAAC,EACpCb,GAA6B,IACtCY,GAAkBb,GAAuBY,GAAS,IAEpD,IAAMG,GAAQH,GAAS,EACjB5C,GAAc7B,EAAQ,YACtB6E,GAAwB7E,EAAQ,sBAChC8E,GAAkBD,GAAsB,SAC9C,OAAAV,GAAU,QAAQ,CAACY,GAAIC,KAAM,CAC3B,IAAMV,GAASI,GAAkB,EAAIM,IAAKJ,GAAQ,EAAIF,GAAkBM,GAAIjB,EAAQiB,EAAC,EAC/EC,GAAwBX,GAASQ,GACvC9E,EAAQ,YAAc6B,GAAcgD,GAAsB,MAAQI,GAClEJ,GAAsB,SAAWI,GACjC,KAAK,kBAAkBF,GAAI/E,CAAO,EAClC+E,GAAG,OAAST,GACZ9B,EAAI,OAAO,KAAKuC,EAAE,CACpB,CAAC,EACMvC,CACT,CACA,eAAe7C,EAAUK,EAAS,CAChC,MAAO,CACL,KAAMU,GAAsB,UAC5B,UAAWR,GAAa,KAAMC,GAAwBR,EAAS,SAAS,EAAGK,CAAO,EAClF,QAAS2B,GAA0BhC,EAAS,OAAO,CACrD,CACF,CACA,kBAAkBA,EAAUK,EAAS,CACnC,OAAAA,EAAQ,WACD,CACL,KAAMU,GAAsB,aAC5B,QAASiB,GAA0BhC,EAAS,OAAO,CACrD,CACF,CACA,gBAAgBA,EAAUK,EAAS,CACjC,MAAO,CACL,KAAMU,GAAsB,WAC5B,UAAW,KAAK,eAAef,EAAS,UAAWK,CAAO,EAC1D,QAAS2B,GAA0BhC,EAAS,OAAO,CACrD,CACF,CACA,WAAWA,EAAUK,EAAS,CAC5B,IAAMkF,EAAiBlF,EAAQ,qBACzBmF,EAAUxF,EAAS,SAAW,CAAC,EACrCK,EAAQ,aACRA,EAAQ,aAAeL,EACvB,GAAM,CAACyF,EAAUC,CAAW,EAAIC,GAAkB3F,EAAS,QAAQ,EACnEK,EAAQ,qBAAuBkF,EAAe,OAASA,EAAiB,IAAME,EAAWA,EACzFG,GAAqBvF,EAAQ,gBAAiBA,EAAQ,qBAAsB,IAAI,GAAK,EACrF,IAAMyB,EAAYvB,GAAa,KAAMC,GAAwBR,EAAS,SAAS,EAAGK,CAAO,EACzF,OAAAA,EAAQ,aAAe,KACvBA,EAAQ,qBAAuBkF,EACxB,CACL,KAAMxE,GAAsB,MAC5B,SAAA0E,EACA,MAAOD,EAAQ,OAAS,EACxB,SAAU,CAAC,CAACA,EAAQ,SACpB,YAAAE,EACA,UAAA5D,EACA,iBAAkB9B,EAAS,SAC3B,QAASgC,GAA0BhC,EAAS,OAAO,CACrD,CACF,CACA,aAAaA,EAAUK,EAAS,CACzBA,EAAQ,cACXA,EAAQ,OAAO,KAAKwF,GAAe,CAAC,EAEtC,IAAMtC,EAAUvD,EAAS,UAAY,OAAS,CAC5C,SAAU,EACV,MAAO,EACP,OAAQ,MACV,EAAI8F,GAAc9F,EAAS,QAASK,EAAQ,OAAQ,EAAI,EACxD,MAAO,CACL,KAAMU,GAAsB,QAC5B,UAAWR,GAAa,KAAMC,GAAwBR,EAAS,SAAS,EAAGK,CAAO,EAClF,QAAAkD,EACA,QAAS,IACX,CACF,CACF,EACA,SAASoC,GAAkBF,EAAU,CACnC,IAAMM,EAAe,EAAAN,EAAS,MAAM,SAAS,EAAE,KAAKO,GAASA,GAASpG,EAAU,EAChF,OAAImG,IACFN,EAAWA,EAAS,QAAQ5F,GAAkB,EAAE,GAIlD4F,EAAWA,EAAS,QAAQ,OAAQQ,EAAmB,EAAE,QAAQ,QAAStH,GAASsH,GAAsB,IAAMtH,EAAM,MAAM,CAAC,CAAC,EAAE,QAAQ,cAAeuH,EAAqB,EACpK,CAACT,EAAUM,CAAY,CAChC,CACA,SAASI,GAAgBC,EAAK,CAC5B,OAAOA,EAAMC,GAAA,GACRD,GACD,IACN,CACA,IAAM9F,GAAN,KAAiC,CAC/B,OACA,WAAa,EACb,SAAW,EACX,kBAAoB,KACpB,aAAe,KACf,qBAAuB,KACvB,sBAAwB,KACxB,YAAc,EACd,gBAA+B,IAAI,IACnC,QAAU,KACV,8BAA6C,IAAI,IACjD,YAAYlC,EAAQ,CAClB,KAAK,OAASA,CAChB,CACF,EACA,SAASsG,GAAc5B,EAAQ,CAC7B,GAAI,OAAOA,GAAU,SAAU,OAAO,KACtC,IAAI6B,EAAS,KACb,GAAI,MAAM,QAAQ7B,CAAM,EACtBA,EAAO,QAAQE,GAAc,CAC3B,GAAIA,aAAsB,KAAOA,EAAW,IAAI,QAAQ,EAAG,CACzD,IAAMoD,EAAMpD,EACZ2B,EAAS,WAAWyB,EAAI,IAAI,QAAQ,CAAC,EACrCA,EAAI,OAAO,QAAQ,CACrB,CACF,CAAC,UACQtD,aAAkB,KAAOA,EAAO,IAAI,QAAQ,EAAG,CACxD,IAAMsD,EAAMtD,EACZ6B,EAAS,WAAWyB,EAAI,IAAI,QAAQ,CAAC,EACrCA,EAAI,OAAO,QAAQ,CACrB,CACA,OAAOzB,CACT,CACA,SAASnC,GAAmBd,EAAOtD,EAAQ,CACzC,GAAIsD,EAAM,eAAe,UAAU,EACjC,OAAOA,EAET,GAAI,OAAOA,GAAS,SAAU,CAC5B,IAAM4E,EAAWR,GAAcpE,EAAOtD,CAAM,EAAE,SAC9C,OAAOmI,GAAcD,EAAU,EAAG,EAAE,CACtC,CACA,IAAME,EAAW9E,EAEjB,GADkB8E,EAAS,MAAM,KAAK,EAAE,KAAKC,GAAKA,EAAE,OAAO,CAAC,GAAK,KAAOA,EAAE,OAAO,CAAC,GAAK,GAAG,EAC3E,CACb,IAAM5D,EAAM0D,GAAc,EAAG,EAAG,EAAE,EAClC,OAAA1D,EAAI,QAAU,GACdA,EAAI,SAAW2D,EACR3D,CACT,CACA,IAAMU,EAAUuC,GAAcU,EAAUpI,CAAM,EAC9C,OAAOmI,GAAchD,EAAQ,SAAUA,EAAQ,MAAOA,EAAQ,MAAM,CACtE,CACA,SAASvB,GAA0BwD,EAAS,CAC1C,OAAIA,GACFA,EAAUa,GAAA,GACLb,GAEDA,EAAQ,SACVA,EAAQ,OAAYW,GAAgBX,EAAQ,MAAS,IAGvDA,EAAU,CAAC,EAENA,CACT,CACA,SAASe,GAAcD,EAAUI,EAAOC,EAAQ,CAC9C,MAAO,CACL,SAAAL,EACA,MAAAI,EACA,OAAAC,CACF,CACF,CACA,SAASC,GAA0BC,EAASrC,EAAWsC,EAAeC,EAAgBT,EAAUI,EAAOC,EAAS,KAAMK,EAAc,GAAO,CACzI,MAAO,CACL,KAAM,EACN,QAAAH,EACA,UAAArC,EACA,cAAAsC,EACA,eAAAC,EACA,SAAAT,EACA,MAAAI,EACA,UAAWJ,EAAWI,EACtB,OAAAC,EACA,YAAAK,CACF,CACF,CACA,IAAMC,GAAN,KAA4B,CAC1B,KAAoB,IAAI,IACxB,IAAIJ,EAAS,CACX,OAAO,KAAK,KAAK,IAAIA,CAAO,GAAK,CAAC,CACpC,CACA,OAAOA,EAASK,EAAc,CAC5B,IAAIC,EAAuB,KAAK,KAAK,IAAIN,CAAO,EAC3CM,GACH,KAAK,KAAK,IAAIN,EAASM,EAAuB,CAAC,CAAC,EAElDA,EAAqB,KAAK,GAAGD,CAAY,CAC3C,CACA,IAAIL,EAAS,CACX,OAAO,KAAK,KAAK,IAAIA,CAAO,CAC9B,CACA,OAAQ,CACN,KAAK,KAAK,MAAM,CAClB,CACF,EACMO,GAA4B,EAC5BC,GAAc,SACdC,GAAiC,IAAI,OAAOD,GAAa,GAAG,EAC5DE,GAAc,SACdC,GAAiC,IAAI,OAAOD,GAAa,GAAG,EA+ElE,SAASE,GAAwB1H,EAAQ2H,EAAa7E,EAAK8E,EAAgBC,EAAgBC,EAAiB,IAAI,IAAOC,EAAc,IAAI,IAAOtC,EAASuC,EAAiB3J,EAAS,CAAC,EAAG,CACrL,OAAO,IAAI4J,GAAgC,EAAE,eAAejI,EAAQ2H,EAAa7E,EAAK8E,EAAgBC,EAAgBC,EAAgBC,EAAatC,EAASuC,EAAiB3J,CAAM,CACrL,CACA,IAAM4J,GAAN,KAAsC,CACpC,eAAejI,EAAQ2H,EAAa7E,EAAK8E,EAAgBC,EAAgBC,EAAgBC,EAAatC,EAASuC,EAAiB3J,GAAS,CAAC,EAAG,CAC3I2J,EAAkBA,GAAmB,IAAId,GACzC,IAAM5G,GAAU,IAAI4H,GAAyBlI,EAAQ2H,EAAaK,EAAiBJ,EAAgBC,EAAgBxJ,GAAQ,CAAC,CAAC,EAC7HiC,GAAQ,QAAUmF,EAClB,IAAMkB,GAAQlB,EAAQ,MAAQ0C,GAAmB1C,EAAQ,KAAK,EAAI,EAClEnF,GAAQ,gBAAgB,cAAcqG,EAAK,EAC3CrG,GAAQ,gBAAgB,UAAU,CAACwH,CAAc,EAAG,KAAMxH,GAAQ,OAAQmF,CAAO,EACjFjF,GAAa,KAAMsC,EAAKxC,EAAO,EAE/B,IAAM8H,GAAY9H,GAAQ,UAAU,OAAO+H,IAAYA,GAAS,kBAAkB,CAAC,EAKnF,GAAID,GAAU,QAAUL,EAAY,KAAM,CACxC,IAAIO,GACJ,QAAShD,GAAI8C,GAAU,OAAS,EAAG9C,IAAK,EAAGA,KAAK,CAC9C,IAAM+C,GAAWD,GAAU9C,EAAC,EAC5B,GAAI+C,GAAS,UAAYV,EAAa,CACpCW,GAAmBD,GACnB,KACF,CACF,CACIC,IAAoB,CAACA,GAAiB,wBAAwB,GAChEA,GAAiB,UAAU,CAACP,CAAW,EAAG,KAAMzH,GAAQ,OAAQmF,CAAO,CAE3E,CACA,OAAO2C,GAAU,OAASA,GAAU,IAAIC,IAAYA,GAAS,eAAe,CAAC,EAAI,CAACxB,GAA0Bc,EAAa,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,EAAGhB,GAAO,GAAI,EAAK,CAAC,CAC3J,CACA,aAAa7D,EAAKxC,EAAS,CAE3B,CACA,WAAWwC,EAAKxC,EAAS,CAEzB,CACA,gBAAgBwC,EAAKxC,EAAS,CAE9B,CACA,kBAAkBwC,EAAKxC,EAAS,CAC9B,IAAMiI,EAAsBjI,EAAQ,gBAAgB,IAAIA,EAAQ,OAAO,EACvE,GAAIiI,EAAqB,CACvB,IAAMC,EAAelI,EAAQ,iBAAiBwC,EAAI,OAAO,EACnDY,EAAYpD,EAAQ,gBAAgB,YACpCmD,EAAU,KAAK,sBAAsB8E,EAAqBC,EAAcA,EAAa,OAAO,EAC9F9E,GAAaD,GAGfnD,EAAQ,yBAAyBmD,CAAO,CAE5C,CACAnD,EAAQ,aAAewC,CACzB,CACA,gBAAgBA,EAAKxC,EAAS,CAC5B,IAAMkI,EAAelI,EAAQ,iBAAiBwC,EAAI,OAAO,EACzD0F,EAAa,yBAAyB,EACtC,KAAK,yBAAyB,CAAC1F,EAAI,QAASA,EAAI,UAAU,OAAO,EAAGxC,EAASkI,CAAY,EACzF,KAAK,eAAe1F,EAAI,UAAW0F,CAAY,EAC/ClI,EAAQ,yBAAyBkI,EAAa,gBAAgB,WAAW,EACzElI,EAAQ,aAAewC,CACzB,CACA,yBAAyB2F,EAAuBnI,EAASkI,EAAc,CACrE,QAAWE,KAAuBD,EAAuB,CACvD,IAAME,EAAiBD,GAAqB,MAC5C,GAAIC,EAAgB,CAClB,IAAMC,EAAsB,OAAOD,GAAmB,SAAWA,EAAiBR,GAAmBU,GAAkBF,EAAgBD,GAAqB,QAAU,CAAC,EAAGpI,EAAQ,MAAM,CAAC,EACzLkI,EAAa,cAAcI,CAAmB,CAChD,CACF,CACF,CACA,sBAAsBzB,EAAc7G,EAASmF,EAAS,CAEpD,IAAIrD,EADc9B,EAAQ,gBAAgB,YAIpCiG,EAAWd,EAAQ,UAAY,KAAO0C,GAAmB1C,EAAQ,QAAQ,EAAI,KAC7EkB,EAAQlB,EAAQ,OAAS,KAAO0C,GAAmB1C,EAAQ,KAAK,EAAI,KAC1E,OAAIc,IAAa,GACfY,EAAa,QAAQ2B,GAAe,CAClC,IAAMC,EAAqBzI,EAAQ,4BAA4BwI,EAAavC,EAAUI,CAAK,EAC3FvE,EAAe,KAAK,IAAIA,EAAc2G,EAAmB,SAAWA,EAAmB,KAAK,CAC9F,CAAC,EAEI3G,CACT,CACA,eAAeU,EAAKxC,EAAS,CAC3BA,EAAQ,cAAcwC,EAAI,QAAS,EAAI,EACvCtC,GAAa,KAAMsC,EAAI,UAAWxC,CAAO,EACzCA,EAAQ,aAAewC,CACzB,CACA,cAAcA,EAAKxC,EAAS,CAC1B,IAAM0I,EAAkB1I,EAAQ,gBAC5B2I,EAAM3I,EACJmF,EAAU3C,EAAI,QACpB,GAAI2C,IAAYA,EAAQ,QAAUA,EAAQ,SACxCwD,EAAM3I,EAAQ,iBAAiBmF,CAAO,EACtCwD,EAAI,yBAAyB,EACzBxD,EAAQ,OAAS,MAAM,CACrBwD,EAAI,aAAa,MAAQjI,GAAsB,QACjDiI,EAAI,gBAAgB,sBAAsB,EAC1CA,EAAI,aAAeC,IAErB,IAAMvC,EAAQwB,GAAmB1C,EAAQ,KAAK,EAC9CwD,EAAI,cAActC,CAAK,CACzB,CAEE7D,EAAI,MAAM,SACZA,EAAI,MAAM,QAAQZ,GAAK1B,GAAa,KAAM0B,EAAG+G,CAAG,CAAC,EAEjDA,EAAI,gBAAgB,sBAAsB,EAItCA,EAAI,gBAAkBD,GACxBC,EAAI,yBAAyB,GAGjC3I,EAAQ,aAAewC,CACzB,CACA,WAAWA,EAAKxC,EAAS,CACvB,IAAM6I,EAAiB,CAAC,EACpB/G,EAAe9B,EAAQ,gBAAgB,YACrCqG,EAAQ7D,EAAI,SAAWA,EAAI,QAAQ,MAAQqF,GAAmBrF,EAAI,QAAQ,KAAK,EAAI,EACzFA,EAAI,MAAM,QAAQZ,GAAK,CACrB,IAAMsG,EAAelI,EAAQ,iBAAiBwC,EAAI,OAAO,EACrD6D,GACF6B,EAAa,cAAc7B,CAAK,EAElCnG,GAAa,KAAM0B,EAAGsG,CAAY,EAClCpG,EAAe,KAAK,IAAIA,EAAcoG,EAAa,gBAAgB,WAAW,EAC9EW,EAAe,KAAKX,EAAa,eAAe,CAClD,CAAC,EAIDW,EAAe,QAAQd,GAAY/H,EAAQ,gBAAgB,6BAA6B+H,CAAQ,CAAC,EACjG/H,EAAQ,yBAAyB8B,CAAY,EAC7C9B,EAAQ,aAAewC,CACzB,CACA,aAAaA,EAAKxC,EAAS,CACzB,GAAIwC,EAAI,QAAS,CACf,IAAM2D,EAAW3D,EAAI,SACfsG,EAAc9I,EAAQ,OAASuI,GAAkBpC,EAAUnG,EAAQ,OAAQA,EAAQ,MAAM,EAAImG,EACnG,OAAOV,GAAcqD,EAAa9I,EAAQ,MAAM,CAClD,KACE,OAAO,CACL,SAAUwC,EAAI,SACd,MAAOA,EAAI,MACX,OAAQA,EAAI,MACd,CAEJ,CACA,aAAaA,EAAKxC,EAAS,CACzB,IAAMkD,EAAUlD,EAAQ,sBAAwB,KAAK,aAAawC,EAAI,QAASxC,CAAO,EAChF+H,EAAW/H,EAAQ,gBACrBkD,EAAQ,QACVlD,EAAQ,cAAckD,EAAQ,KAAK,EACnC6E,EAAS,sBAAsB,GAEjC,IAAM3G,EAAQoB,EAAI,MACdpB,EAAM,MAAQV,GAAsB,UACtC,KAAK,eAAeU,EAAOpB,CAAO,GAElCA,EAAQ,cAAckD,EAAQ,QAAQ,EACtC,KAAK,WAAW9B,EAAOpB,CAAO,EAC9B+H,EAAS,sBAAsB,GAEjC/H,EAAQ,sBAAwB,KAChCA,EAAQ,aAAewC,CACzB,CACA,WAAWA,EAAKxC,EAAS,CACvB,IAAM+H,EAAW/H,EAAQ,gBACnBkD,EAAUlD,EAAQ,sBAGpB,CAACkD,GAAW6E,EAAS,0BAA0B,GACjDA,EAAS,aAAa,EAExB,IAAMzB,EAASpD,GAAWA,EAAQ,QAAUV,EAAI,OAC5CA,EAAI,YACNuF,EAAS,eAAezB,CAAM,EAE9ByB,EAAS,UAAUvF,EAAI,OAAQ8D,EAAQtG,EAAQ,OAAQA,EAAQ,OAAO,EAExEA,EAAQ,aAAewC,CACzB,CACA,eAAeA,EAAKxC,EAAS,CAC3B,IAAM6E,EAAwB7E,EAAQ,sBAChCoD,EAAYpD,EAAQ,gBAAgB,SACpCiG,EAAWpB,EAAsB,SAEjCkE,EADe/I,EAAQ,iBAAiB,EACX,gBACnC+I,EAAc,OAASlE,EAAsB,OAC7CrC,EAAI,OAAO,QAAQR,GAAQ,CACzB,IAAMsC,EAAStC,EAAK,QAAU,EAC9B+G,EAAc,YAAYzE,EAAS2B,CAAQ,EAC3C8C,EAAc,UAAU/G,EAAK,OAAQA,EAAK,OAAQhC,EAAQ,OAAQA,EAAQ,OAAO,EACjF+I,EAAc,sBAAsB,CACtC,CAAC,EAGD/I,EAAQ,gBAAgB,6BAA6B+I,CAAa,EAGlE/I,EAAQ,yBAAyBoD,EAAY6C,CAAQ,EACrDjG,EAAQ,aAAewC,CACzB,CACA,WAAWA,EAAKxC,EAAS,CAGvB,IAAMoD,EAAYpD,EAAQ,gBAAgB,YACpCmF,EAAU3C,EAAI,SAAW,CAAC,EAC1B6D,EAAQlB,EAAQ,MAAQ0C,GAAmB1C,EAAQ,KAAK,EAAI,EAC9DkB,IAAUrG,EAAQ,aAAa,OAASU,GAAsB,OAAS0C,GAAa,GAAKpD,EAAQ,gBAAgB,0BAA0B,KAC7IA,EAAQ,gBAAgB,sBAAsB,EAC9CA,EAAQ,aAAe4I,IAEzB,IAAI9G,EAAesB,EACb4F,EAAOhJ,EAAQ,YAAYwC,EAAI,SAAUA,EAAI,iBAAkBA,EAAI,MAAOA,EAAI,YAAa,EAAA2C,EAAQ,SAAyBnF,EAAQ,MAAM,EAChJA,EAAQ,kBAAoBgJ,EAAK,OACjC,IAAIC,EAAsB,KAC1BD,EAAK,QAAQ,CAACxC,EAASxB,KAAM,CAC3BhF,EAAQ,kBAAoBgF,GAC5B,IAAMkD,GAAelI,EAAQ,iBAAiBwC,EAAI,QAASgE,CAAO,EAC9DH,GACF6B,GAAa,cAAc7B,CAAK,EAE9BG,IAAYxG,EAAQ,UACtBiJ,EAAsBf,GAAa,iBAErChI,GAAa,KAAMsC,EAAI,UAAW0F,EAAY,EAI9CA,GAAa,gBAAgB,sBAAsB,EACnD,IAAM/E,GAAU+E,GAAa,gBAAgB,YAC7CpG,EAAe,KAAK,IAAIA,EAAcqB,EAAO,CAC/C,CAAC,EACDnD,EAAQ,kBAAoB,EAC5BA,EAAQ,kBAAoB,EAC5BA,EAAQ,yBAAyB8B,CAAY,EACzCmH,IACFjJ,EAAQ,gBAAgB,6BAA6BiJ,CAAmB,EACxEjJ,EAAQ,gBAAgB,sBAAsB,GAEhDA,EAAQ,aAAewC,CACzB,CACA,aAAaA,EAAKxC,EAAS,CACzB,IAAMkJ,EAAgBlJ,EAAQ,cACxBmJ,EAAKnJ,EAAQ,gBACbkD,EAAUV,EAAI,QACdyD,EAAW,KAAK,IAAI/C,EAAQ,QAAQ,EACpCkG,EAAUnD,GAAYjG,EAAQ,kBAAoB,GACpDqG,EAAQJ,EAAWjG,EAAQ,kBAE/B,OADyBkD,EAAQ,SAAW,EAAI,UAAYA,EAAQ,OACxC,CAC1B,IAAK,UACHmD,EAAQ+C,EAAU/C,EAClB,MACF,IAAK,OACHA,EAAQ6C,EAAc,mBACtB,KACJ,CACA,IAAMnB,GAAW/H,EAAQ,gBACrBqG,GACF0B,GAAS,cAAc1B,CAAK,EAE9B,IAAMgD,GAAetB,GAAS,YAC9B7H,GAAa,KAAMsC,EAAI,UAAWxC,CAAO,EACzCA,EAAQ,aAAewC,EAKvB0G,EAAc,mBAAqBC,EAAG,YAAcE,IAAgBF,EAAG,UAAYD,EAAc,gBAAgB,UACnH,CACF,EACMN,GAA6B,CAAC,EAC9BhB,GAAN,MAAM0B,CAAyB,CAC7B,QACA,QACA,gBACA,gBACA,gBACA,OACA,UACA,cAAgB,KAChB,gBACA,sBAAwB,KACxB,aAAeV,GACf,gBAAkB,EAClB,QAAU,CAAC,EACX,kBAAoB,EACpB,kBAAoB,EACpB,mBAAqB,EACrB,YAAY7I,EAASyG,EAASkB,EAAiB6B,EAAiBC,EAAiBzL,EAAQ+J,EAAW2B,EAAiB,CACnH,KAAK,QAAU1J,EACf,KAAK,QAAUyG,EACf,KAAK,gBAAkBkB,EACvB,KAAK,gBAAkB6B,EACvB,KAAK,gBAAkBC,EACvB,KAAK,OAASzL,EACd,KAAK,UAAY+J,EACjB,KAAK,gBAAkB2B,GAAmB,IAAIC,GAAgB,KAAK,QAASlD,EAAS,CAAC,EACtFsB,EAAU,KAAK,KAAK,eAAe,CACrC,CACA,IAAI,QAAS,CACX,OAAO,KAAK,QAAQ,MACtB,CACA,cAAc3C,EAASwE,EAAc,CACnC,GAAI,CAACxE,EAAS,OACd,IAAMyE,EAAazE,EACf0E,EAAkB,KAAK,QAEvBD,EAAW,UAAY,OACzBC,EAAgB,SAAWhC,GAAmB+B,EAAW,QAAQ,GAE/DA,EAAW,OAAS,OACtBC,EAAgB,MAAQhC,GAAmB+B,EAAW,KAAK,GAE7D,IAAME,EAAYF,EAAW,OAC7B,GAAIE,EAAW,CACb,IAAIC,EAAiBF,EAAgB,OAChCE,IACHA,EAAiB,KAAK,QAAQ,OAAS,CAAC,GAE1C,OAAO,KAAKD,CAAS,EAAE,QAAQlJ,GAAQ,EACjC,CAAC+I,GAAgB,CAACI,EAAe,eAAenJ,CAAI,KACtDmJ,EAAenJ,CAAI,EAAI2H,GAAkBuB,EAAUlJ,CAAI,EAAGmJ,EAAgB,KAAK,MAAM,EAEzF,CAAC,CACH,CACF,CACA,cAAe,CACb,IAAM5E,EAAU,CAAC,EACjB,GAAI,KAAK,QAAS,CAChB,IAAM6E,EAAY,KAAK,QAAQ,OAC/B,GAAIA,EAAW,CACb,IAAM7I,EAASgE,EAAQ,OAAY,CAAC,EACpC,OAAO,KAAK6E,CAAS,EAAE,QAAQpJ,GAAQ,CACrCO,EAAOP,CAAI,EAAIoJ,EAAUpJ,CAAI,CAC/B,CAAC,CACH,CACF,CACA,OAAOuE,CACT,CACA,iBAAiBA,EAAU,KAAMqB,EAASyD,EAAS,CACjD,IAAMC,EAAS1D,GAAW,KAAK,QACzBxG,EAAU,IAAIsJ,EAAyB,KAAK,QAASY,EAAQ,KAAK,gBAAiB,KAAK,gBAAiB,KAAK,gBAAiB,KAAK,OAAQ,KAAK,UAAW,KAAK,gBAAgB,KAAKA,EAAQD,GAAW,CAAC,CAAC,EACjN,OAAAjK,EAAQ,aAAe,KAAK,aAC5BA,EAAQ,sBAAwB,KAAK,sBACrCA,EAAQ,QAAU,KAAK,aAAa,EACpCA,EAAQ,cAAcmF,CAAO,EAC7BnF,EAAQ,kBAAoB,KAAK,kBACjCA,EAAQ,kBAAoB,KAAK,kBACjCA,EAAQ,cAAgB,KACxB,KAAK,kBACEA,CACT,CACA,yBAAyBiK,EAAS,CAChC,YAAK,aAAerB,GACpB,KAAK,gBAAkB,KAAK,gBAAgB,KAAK,KAAK,QAASqB,CAAO,EACtE,KAAK,UAAU,KAAK,KAAK,eAAe,EACjC,KAAK,eACd,CACA,4BAA4BzB,EAAavC,EAAUI,EAAO,CACxD,IAAM8D,EAAiB,CACrB,SAAUlE,GAA8BuC,EAAY,SACpD,MAAO,KAAK,gBAAgB,aAAenC,GAAwB,GAAKmC,EAAY,MACpF,OAAQ,EACV,EACM4B,EAAU,IAAIC,GAAmB,KAAK,QAAS7B,EAAY,QAASA,EAAY,UAAWA,EAAY,cAAeA,EAAY,eAAgB2B,EAAgB3B,EAAY,uBAAuB,EAC3M,YAAK,UAAU,KAAK4B,CAAO,EACpBD,CACT,CACA,cAAcG,EAAM,CAClB,KAAK,gBAAgB,YAAY,KAAK,gBAAgB,SAAWA,CAAI,CACvE,CACA,cAAcjE,EAAO,CAEfA,EAAQ,GACV,KAAK,gBAAgB,cAAcA,CAAK,CAE5C,CACA,YAAYjB,EAAUmF,EAAkB3F,EAAOS,EAAamF,EAAUzM,EAAQ,CAC5E,IAAI0M,EAAU,CAAC,EAIf,GAHIpF,GACFoF,EAAQ,KAAK,KAAK,OAAO,EAEvBrF,EAAS,OAAS,EAAG,CAEvBA,EAAWA,EAAS,QAAQ6B,GAAmB,IAAM,KAAK,eAAe,EACzE7B,EAAWA,EAAS,QAAQ+B,GAAmB,IAAM,KAAK,eAAe,EACzE,IAAMuD,EAAQ9F,GAAS,EACnB+F,EAAW,KAAK,QAAQ,MAAM,KAAK,QAASvF,EAAUsF,CAAK,EAC3D9F,IAAU,IACZ+F,EAAW/F,EAAQ,EAAI+F,EAAS,MAAMA,EAAS,OAAS/F,EAAO+F,EAAS,MAAM,EAAIA,EAAS,MAAM,EAAG/F,CAAK,GAE3G6F,EAAQ,KAAK,GAAGE,CAAQ,CAC1B,CACA,MAAI,CAACH,GAAYC,EAAQ,QAAU,GACjC1M,EAAO,KAAK6M,GAAaL,CAAgB,CAAC,EAErCE,CACT,CACF,EACMf,GAAN,MAAMmB,CAAgB,CACpB,QACA,QACA,UACA,6BACA,SAAW,EACX,OAAS,KACT,kBAAiC,IAAI,IACrC,iBAAgC,IAAI,IACpC,WAA0B,IAAI,IAC9B,cAA6B,IAAI,IACjC,qBAAoC,IAAI,IACxC,sBACA,eAA8B,IAAI,IAClC,UAAyB,IAAI,IAC7B,0BAA4B,KAC5B,YAAY9K,EAASyG,EAASpD,EAAW0H,EAA8B,CACrE,KAAK,QAAU/K,EACf,KAAK,QAAUyG,EACf,KAAK,UAAYpD,EACjB,KAAK,6BAA+B0H,EAC/B,KAAK,+BACR,KAAK,6BAA+B,IAAI,KAE1C,KAAK,sBAAwB,KAAK,6BAA6B,IAAItE,CAAO,EACrE,KAAK,wBACR,KAAK,sBAAwB,KAAK,qBAClC,KAAK,6BAA6B,IAAIA,EAAS,KAAK,oBAAoB,GAE1E,KAAK,cAAc,CACrB,CACA,mBAAoB,CAClB,OAAQ,KAAK,WAAW,KAAM,CAC5B,IAAK,GACH,MAAO,GACT,IAAK,GACH,OAAO,KAAK,0BAA0B,EACxC,QACE,MAAO,EACX,CACF,CACA,2BAA4B,CAC1B,OAAO,KAAK,iBAAiB,KAAO,CACtC,CACA,IAAI,aAAc,CAChB,OAAO,KAAK,UAAY,KAAK,QAC/B,CACA,cAAcH,EAAO,CAKnB,IAAM0E,EAAkB,KAAK,WAAW,OAAS,GAAK,KAAK,eAAe,KACtE,KAAK,UAAYA,GACnB,KAAK,YAAY,KAAK,YAAc1E,CAAK,EACrC0E,GACF,KAAK,sBAAsB,GAG7B,KAAK,WAAa1E,CAEtB,CACA,KAAKG,EAAS3E,EAAa,CACzB,YAAK,sBAAsB,EACpB,IAAIgJ,EAAgB,KAAK,QAASrE,EAAS3E,GAAe,KAAK,YAAa,KAAK,4BAA4B,CACtH,CACA,eAAgB,CACV,KAAK,mBACP,KAAK,kBAAoB,KAAK,kBAEhC,KAAK,iBAAmB,KAAK,WAAW,IAAI,KAAK,QAAQ,EACpD,KAAK,mBACR,KAAK,iBAAmB,IAAI,IAC5B,KAAK,WAAW,IAAI,KAAK,SAAU,KAAK,gBAAgB,EAE5D,CACA,cAAe,CACb,KAAK,UAAYkF,GACjB,KAAK,cAAc,CACrB,CACA,YAAYuD,EAAM,CAChB,KAAK,sBAAsB,EAC3B,KAAK,SAAWA,EAChB,KAAK,cAAc,CACrB,CACA,aAAahH,EAAMjC,EAAO,CACxB,KAAK,qBAAqB,IAAIiC,EAAMjC,CAAK,EACzC,KAAK,sBAAsB,IAAIiC,EAAMjC,CAAK,EAC1C,KAAK,cAAc,IAAIiC,EAAM,CAC3B,KAAM,KAAK,YACX,MAAAjC,CACF,CAAC,CACH,CACA,yBAA0B,CACxB,OAAO,KAAK,4BAA8B,KAAK,gBACjD,CACA,eAAeiF,EAAQ,CACjBA,GACF,KAAK,kBAAkB,IAAI,SAAUA,CAAM,EAQ7C,OAAS,CAAChD,EAAMjC,CAAK,IAAK,KAAK,sBAC7B,KAAK,UAAU,IAAIiC,EAAMjC,GAASuB,EAAU,EAC5C,KAAK,iBAAiB,IAAIU,EAAMV,EAAU,EAE5C,KAAK,0BAA4B,KAAK,gBACxC,CACA,UAAUoI,EAAO1E,EAAQvI,EAAQoH,EAAS,CACpCmB,GACF,KAAK,kBAAkB,IAAI,SAAUA,CAAM,EAE7C,IAAMnF,EAASgE,GAAWA,EAAQ,QAAU,CAAC,EACvC1C,EAASwI,GAAcD,EAAO,KAAK,qBAAqB,EAC9D,OAAS,CAAC1H,EAAMjC,CAAK,IAAKoB,EAAQ,CAChC,IAAMyI,EAAM3C,GAAkBlH,EAAOF,EAAQpD,CAAM,EACnD,KAAK,eAAe,IAAIuF,EAAM4H,CAAG,EAC5B,KAAK,qBAAqB,IAAI5H,CAAI,GACrC,KAAK,UAAU,IAAIA,EAAM,KAAK,sBAAsB,IAAIA,CAAI,GAAKV,EAAU,EAE7E,KAAK,aAAaU,EAAM4H,CAAG,CAC7B,CACF,CACA,uBAAwB,CAClB,KAAK,eAAe,MAAQ,IAChC,KAAK,eAAe,QAAQ,CAACA,EAAK5H,IAAS,CACzC,KAAK,iBAAiB,IAAIA,EAAM4H,CAAG,CACrC,CAAC,EACD,KAAK,eAAe,MAAM,EAC1B,KAAK,qBAAqB,QAAQ,CAACA,EAAK5H,IAAS,CAC1C,KAAK,iBAAiB,IAAIA,CAAI,GACjC,KAAK,iBAAiB,IAAIA,EAAM4H,CAAG,CAEvC,CAAC,EACH,CACA,uBAAwB,CACtB,OAAS,CAAC5H,EAAM4H,CAAG,IAAK,KAAK,qBAC3B,KAAK,eAAe,IAAI5H,EAAM4H,CAAG,EACjC,KAAK,aAAa5H,EAAM4H,CAAG,CAE/B,CACA,kBAAmB,CACjB,OAAO,KAAK,WAAW,IAAI,KAAK,QAAQ,CAC1C,CACA,IAAI,YAAa,CACf,IAAMC,EAAa,CAAC,EACpB,QAAS7H,KAAQ,KAAK,iBACpB6H,EAAW,KAAK7H,CAAI,EAEtB,OAAO6H,CACT,CACA,6BAA6BpD,EAAU,CACrCA,EAAS,cAAc,QAAQ,CAACqD,EAAU9H,IAAS,CACjD,IAAM+H,EAAW,KAAK,cAAc,IAAI/H,CAAI,GACxC,CAAC+H,GAAYD,EAAS,KAAOC,EAAS,OACxC,KAAK,aAAa/H,EAAM8H,EAAS,KAAK,CAE1C,CAAC,CACH,CACA,gBAAiB,CACf,KAAK,sBAAsB,EAC3B,IAAM3E,EAAgB,IAAI,IACpBC,EAAiB,IAAI,IACrBrE,EAAU,KAAK,WAAW,OAAS,GAAK,KAAK,WAAa,EAC5DiJ,EAAiB,CAAC,EACtB,KAAK,WAAW,QAAQ,CAACC,EAAUjB,IAAS,CAC1C,IAAMkB,EAAgB,IAAI,IAAI,CAAC,GAAG,KAAK,UAAW,GAAGD,CAAQ,CAAC,EAC9DC,EAAc,QAAQ,CAACnK,GAAOiC,KAAS,CACjCjC,KAAUoK,GACZhF,EAAc,IAAInD,EAAI,EACbjC,KAAUuB,IACnB8D,EAAe,IAAIpD,EAAI,CAE3B,CAAC,EACIjB,GACHmJ,EAAc,IAAI,SAAUlB,EAAO,KAAK,QAAQ,EAElDgB,EAAe,KAAKE,CAAa,CACnC,CAAC,EACD,IAAME,EAAW,CAAC,GAAGjF,EAAc,OAAO,CAAC,EACrCkF,EAAY,CAAC,GAAGjF,EAAe,OAAO,CAAC,EAE7C,GAAIrE,EAAS,CACX,IAAMuJ,EAAMN,EAAe,CAAC,EACtBO,EAAM,IAAI,IAAID,CAAG,EACvBA,EAAI,IAAI,SAAU,CAAC,EACnBC,EAAI,IAAI,SAAU,CAAC,EACnBP,EAAiB,CAACM,EAAKC,CAAG,CAC5B,CACA,OAAOtF,GAA0B,KAAK,QAAS+E,EAAgBI,EAAUC,EAAW,KAAK,SAAU,KAAK,UAAW,KAAK,OAAQ,EAAK,CACvI,CACF,EACMtB,GAAN,cAAiCX,EAAgB,CAC/C,UACA,cACA,eACA,yBACA,QACA,YAAYhK,EAAQ8G,EAASrC,EAAWsC,EAAeC,EAAgBxD,EAAS4I,EAA2B,GAAO,CAChH,MAAMpM,EAAQ8G,EAAStD,EAAQ,KAAK,EACpC,KAAK,UAAYiB,EACjB,KAAK,cAAgBsC,EACrB,KAAK,eAAiBC,EACtB,KAAK,yBAA2BoF,EAChC,KAAK,QAAU,CACb,SAAU5I,EAAQ,SAClB,MAAOA,EAAQ,MACf,OAAQA,EAAQ,MAClB,CACF,CACA,mBAAoB,CAClB,OAAO,KAAK,UAAU,OAAS,CACjC,CACA,gBAAiB,CACf,IAAIiB,EAAY,KAAK,UACjB,CACF,MAAAkC,EACA,SAAAJ,EACA,OAAAK,CACF,EAAI,KAAK,QACT,GAAI,KAAK,0BAA4BD,EAAO,CAC1C,IAAM0F,EAAe,CAAC,EAChBC,EAAY/F,EAAWI,EACvB4F,EAAc5F,EAAQ2F,EAEtBE,EAAmB,IAAI,IAAI/H,EAAU,CAAC,CAAC,EAC7C+H,EAAiB,IAAI,SAAU,CAAC,EAChCH,EAAa,KAAKG,CAAgB,EAClC,IAAMC,EAAmB,IAAI,IAAIhI,EAAU,CAAC,CAAC,EAC7CgI,EAAiB,IAAI,SAAUC,GAAYH,CAAW,CAAC,EACvDF,EAAa,KAAKI,CAAgB,EAalC,IAAMvH,GAAQT,EAAU,OAAS,EACjC,QAASa,GAAI,EAAGA,IAAKJ,GAAOI,KAAK,CAC/B,IAAID,GAAK,IAAI,IAAIZ,EAAUa,EAAC,CAAC,EACvBqH,GAAYtH,GAAG,IAAI,QAAQ,EAC3BuH,GAAiBjG,EAAQgG,GAAYpG,EAC3ClB,GAAG,IAAI,SAAUqH,GAAYE,GAAiBN,CAAS,CAAC,EACxDD,EAAa,KAAKhH,EAAE,CACtB,CAEAkB,EAAW+F,EACX3F,EAAQ,EACRC,EAAS,GACTnC,EAAY4H,CACd,CACA,OAAOxF,GAA0B,KAAK,QAASpC,EAAW,KAAK,cAAe,KAAK,eAAgB8B,EAAUI,EAAOC,EAAQ,EAAI,CAClI,CACF,EACA,SAAS8F,GAAY9H,EAAQiI,EAAgB,EAAG,CAC9C,IAAMC,EAAO,KAAK,IAAI,GAAID,EAAgB,CAAC,EAC3C,OAAO,KAAK,MAAMjI,EAASkI,CAAI,EAAIA,CACrC,CACA,SAASvB,GAAcD,EAAOyB,EAAW,CACvC,IAAMhK,EAAS,IAAI,IACfiK,EACJ,OAAA1B,EAAM,QAAQrF,GAAS,CACrB,GAAIA,IAAU,IAAK,CACjB+G,IAAkBD,EAAU,KAAK,EACjC,QAASnJ,KAAQoJ,EACfjK,EAAO,IAAIa,EAAMV,EAAU,CAE/B,KACE,QAAS,CAACU,EAAM4H,CAAG,IAAKvF,EACtBlD,EAAO,IAAIa,EAAM4H,CAAG,CAG1B,CAAC,EACMzI,CACT,CACA,SAASkK,GAA4BnG,EAASoG,EAAapO,EAAWE,EAASmO,EAAqBC,EAAYC,EAAUjF,EAAWkF,EAAiBvG,EAAeC,GAAgBsF,GAAWjO,GAAQ,CACtM,MAAO,CACL,KAAM,EACN,QAAAyI,EACA,YAAAoG,EACA,oBAAAC,EACA,UAAArO,EACA,WAAAsO,EACA,QAAApO,EACA,SAAAqO,EACA,UAAAjF,EACA,gBAAAkF,EACA,cAAAvG,EACA,eAAAC,GACA,UAAAsF,GACA,OAAAjO,EACF,CACF,CACA,IAAMkP,GAAe,CAAC,EAChBC,GAAN,KAAiC,CAC/B,aACA,IACA,aACA,YAAYC,EAAc3K,EAAK4K,EAAc,CAC3C,KAAK,aAAeD,EACpB,KAAK,IAAM3K,EACX,KAAK,aAAe4K,CACtB,CACA,MAAMC,EAAcC,EAAW9G,EAASrF,EAAQ,CAC9C,OAAOoM,GAA0B,KAAK,IAAI,SAAUF,EAAcC,EAAW9G,EAASrF,CAAM,CAC9F,CACA,YAAYqM,EAAWrM,EAAQpD,EAAQ,CACrC,IAAI0P,EAAS,KAAK,aAAa,IAAI,GAAG,EACtC,OAAID,IAAc,SAChBC,EAAS,KAAK,aAAa,IAAID,GAAW,SAAS,CAAC,GAAKC,GAEpDA,EAASA,EAAO,YAAYtM,EAAQpD,CAAM,EAAI,IAAI,GAC3D,CACA,MAAM2B,EAAQ8G,EAAS6G,EAAcC,EAAWhG,EAAgBC,EAAgBmG,EAAgBC,EAAajG,EAAiBkG,GAAc,CAC1I,IAAM7P,GAAS,CAAC,EACV8P,GAA4B,KAAK,IAAI,SAAW,KAAK,IAAI,QAAQ,QAAUZ,GAC3Ea,GAAyBJ,GAAkBA,EAAe,QAAUT,GACpEc,GAAqB,KAAK,YAAYV,EAAcS,GAAwB/P,EAAM,EAClFiQ,GAAsBL,GAAeA,EAAY,QAAUV,GAC3DgB,GAAkB,KAAK,YAAYX,EAAWU,GAAqBjQ,EAAM,EACzEiP,GAAkB,IAAI,IACtBkB,GAAc,IAAI,IAClBC,GAAe,IAAI,IACnBC,GAAYd,IAAc,OAC1Be,GAAmB,CACvB,OAAQC,GAAmBN,GAAqBH,EAAyB,EACzE,MAAO,KAAK,IAAI,SAAS,KAC3B,EACM/F,GAAY8F,GAAe,CAAC,EAAIxG,GAAwB1H,EAAQ8G,EAAS,KAAK,IAAI,UAAWc,EAAgBC,EAAgBwG,GAAoBE,GAAiBI,GAAkB3G,EAAiB3J,EAAM,EAC7MiO,GAAY,EAIhB,OAHAlE,GAAU,QAAQqB,IAAM,CACtB6C,GAAY,KAAK,IAAI7C,GAAG,SAAWA,GAAG,MAAO6C,EAAS,CACxD,CAAC,EACGjO,GAAO,OACF4O,GAA4BnG,EAAS,KAAK,aAAc6G,EAAcC,EAAWc,GAAWL,GAAoBE,GAAiB,CAAC,EAAG,CAAC,EAAGC,GAAaC,GAAcnC,GAAWjO,EAAM,GAE9L+J,GAAU,QAAQqB,IAAM,CACtB,IAAMoF,GAAMpF,GAAG,QACTuC,GAAWnG,GAAqB2I,GAAaK,GAAK,IAAI,GAAK,EACjEpF,GAAG,cAAc,QAAQ7F,IAAQoI,GAAS,IAAIpI,EAAI,CAAC,EACnD,IAAMqI,GAAYpG,GAAqB4I,GAAcI,GAAK,IAAI,GAAK,EACnEpF,GAAG,eAAe,QAAQ7F,IAAQqI,GAAU,IAAIrI,EAAI,CAAC,EACjDiL,KAAQ/H,GACVwG,GAAgB,IAAIuB,EAAG,CAE3B,CAAC,EAIM5B,GAA4BnG,EAAS,KAAK,aAAc6G,EAAcC,EAAWc,GAAWL,GAAoBE,GAAiBnG,GAAW,CAAC,GAAGkF,GAAgB,OAAO,CAAC,EAAGkB,GAAaC,GAAcnC,EAAS,EACxN,CACF,EAkDA,SAASwC,GAA0BC,EAAUC,EAAcC,EAAWC,EAASC,EAAQ,CACrF,OAAOJ,EAAS,KAAKK,GAAMA,EAAGJ,EAAcC,EAAWC,EAASC,CAAM,CAAC,CACzE,CACA,SAASE,GAAmBC,EAAYC,EAAU,CAChD,IAAMC,EAASC,GAAA,GACVF,GAEL,cAAO,QAAQD,CAAU,EAAE,QAAQ,CAAC,CAACI,EAAKC,CAAK,IAAM,CAC/CA,GAAS,OACXH,EAAOE,CAAG,EAAIC,EAElB,CAAC,EACMH,CACT,CACA,IAAMI,GAAN,KAA2B,CACzB,OACA,cACA,WACA,YAAYC,EAAQC,EAAeC,EAAY,CAC7C,KAAK,OAASF,EACd,KAAK,cAAgBC,EACrB,KAAK,WAAaC,CACpB,CACA,YAAYZ,EAAQa,EAAQ,CAC1B,IAAMC,EAAc,IAAI,IAClBC,EAAiBb,GAAmBF,EAAQ,KAAK,aAAa,EACpE,YAAK,OAAO,OAAO,QAAQQ,GAAS,CAC9B,OAAOA,GAAU,UACnBA,EAAM,QAAQ,CAACQ,EAAKC,IAAS,CACvBD,IACFA,EAAME,GAAkBF,EAAKD,EAAgBF,CAAM,GAErD,IAAMM,EAAiB,KAAK,WAAW,sBAAsBF,EAAMJ,CAAM,EACzEG,EAAM,KAAK,WAAW,oBAAoBC,EAAME,EAAgBH,EAAKH,CAAM,EAC3EC,EAAY,IAAIG,EAAMD,CAAG,CAC3B,CAAC,CAEL,CAAC,EACMF,CACT,CACF,EACA,SAASM,GAAaC,EAAMC,EAAKV,EAAY,CAC3C,OAAO,IAAIW,GAAiBF,EAAMC,EAAKV,CAAU,CACnD,CACA,IAAMW,GAAN,KAAuB,CACrB,KACA,IACA,YACA,oBAAsB,CAAC,EACvB,mBACA,OAAsB,IAAI,IAC1B,YAAYF,EAAMC,EAAKE,EAAa,CAClC,KAAK,KAAOH,EACZ,KAAK,IAAMC,EACX,KAAK,YAAcE,EACnBF,EAAI,OAAO,QAAQA,GAAO,CACxB,IAAMX,EAAgBW,EAAI,SAAWA,EAAI,QAAQ,QAAU,CAAC,EAC5D,KAAK,OAAO,IAAIA,EAAI,KAAM,IAAIb,GAAqBa,EAAI,MAAOX,EAAea,CAAW,CAAC,CAC3F,CAAC,EACDC,GAAkB,KAAK,OAAQ,OAAQ,GAAG,EAC1CA,GAAkB,KAAK,OAAQ,QAAS,GAAG,EAC3CH,EAAI,YAAY,QAAQA,GAAO,CAC7B,KAAK,oBAAoB,KAAK,IAAII,GAA2BL,EAAMC,EAAK,KAAK,MAAM,CAAC,CACtF,CAAC,EACD,KAAK,mBAAqBK,GAAyBN,EAAM,KAAK,OAAQ,KAAK,WAAW,CACxF,CACA,IAAI,iBAAkB,CACpB,OAAO,KAAK,IAAI,WAAa,CAC/B,CACA,gBAAgBxB,EAAcC,EAAWC,EAASC,EAAQ,CAExD,OADc,KAAK,oBAAoB,KAAK,GAAK,EAAE,MAAMH,EAAcC,EAAWC,EAASC,CAAM,CAAC,GAClF,IAClB,CACA,YAAYH,EAAcG,EAAQa,EAAQ,CACxC,OAAO,KAAK,mBAAmB,YAAYhB,EAAcG,EAAQa,CAAM,CACzE,CACF,EACA,SAASc,GAAyBC,EAAaC,EAAQjB,EAAY,CACjE,IAAMkB,EAAW,CAAC,CAACC,EAAWC,IAAY,EAAI,EACxCC,EAAY,CAChB,KAAMC,GAAsB,SAC5B,MAAO,CAAC,EACR,QAAS,IACX,EACMC,EAAa,CACjB,KAAMD,GAAsB,WAC5B,UAAAD,EACA,SAAAH,EACA,QAAS,KACT,WAAY,EACZ,SAAU,CACZ,EACA,OAAO,IAAIJ,GAA2BE,EAAaO,EAAYN,CAAM,CACvE,CACA,SAASJ,GAAkBW,EAAUC,EAAMC,EAAM,CAC3CF,EAAS,IAAIC,CAAI,EACdD,EAAS,IAAIE,CAAI,GACpBF,EAAS,IAAIE,EAAMF,EAAS,IAAIC,CAAI,CAAC,EAE9BD,EAAS,IAAIE,CAAI,GAC1BF,EAAS,IAAIC,EAAMD,EAAS,IAAIE,CAAI,CAAC,CAEzC,CACA,IAAMC,GAAqC,IAAIC,GACzCC,GAAN,KAA8B,CAC5B,SACA,QACA,YACA,YAA2B,IAAI,IAC/B,aAA4B,IAAI,IAChC,QAAU,CAAC,EACX,YAAYC,EAAUC,EAASnB,EAAa,CAC1C,KAAK,SAAWkB,EAChB,KAAK,QAAUC,EACf,KAAK,YAAcnB,CACrB,CACA,SAASoB,EAAIC,EAAU,CACrB,IAAMhC,EAAS,CAAC,EACViC,EAAW,CAAC,EACZxB,EAAMyB,GAAkB,KAAK,QAASF,EAAUhC,EAAQiC,CAAQ,EACtE,GAAIjC,EAAO,OACT,MAAMmC,GAAenC,CAAM,EAO3B,KAAK,YAAY,IAAI+B,EAAItB,CAAG,CAEhC,CACA,aAAa2B,EAAGC,EAAWC,EAAY,CACrC,IAAMpD,EAAUkD,EAAE,QACZG,EAAYC,GAAqB,KAAK,YAAaJ,EAAE,UAAWC,EAAWC,CAAU,EAC3F,OAAO,KAAK,QAAQ,QAAQpD,EAASqD,EAAWH,EAAE,SAAUA,EAAE,MAAOA,EAAE,OAAQ,CAAC,EAAG,EAAI,CACzF,CACA,OAAOL,EAAI7C,EAASuD,EAAU,CAAC,EAAG,CAChC,IAAMzC,EAAS,CAAC,EACVS,EAAM,KAAK,YAAY,IAAIsB,CAAE,EAC/BW,EACEC,EAAgB,IAAI,IAW1B,GAVIlC,GACFiC,EAAeE,GAAwB,KAAK,QAAS1D,EAASuB,EAAKoC,GAAiBC,GAAiB,IAAI,IAAO,IAAI,IAAOL,EAASf,GAAuB1B,CAAM,EACjK0C,EAAa,QAAQK,IAAQ,CAC3B,IAAMlD,GAASmD,GAAqBL,EAAeI,GAAK,QAAS,IAAI,GAAK,EAC1EA,GAAK,eAAe,QAAQ3C,IAAQP,GAAO,IAAIO,GAAM,IAAI,CAAC,CAC5D,CAAC,IAEDJ,EAAO,KAAKiD,GAA4B,CAAC,EACzCP,EAAe,CAAC,GAEd1C,EAAO,OACT,MAAMkD,GAAsBlD,CAAM,EAEpC2C,EAAc,QAAQ,CAAC9C,GAAQX,KAAY,CACzCW,GAAO,QAAQ,CAACsD,GAAG/C,KAAS,CAC1BP,GAAO,IAAIO,GAAM,KAAK,QAAQ,aAAalB,GAASkB,GAAMgD,EAAU,CAAC,CACvE,CAAC,CACH,CAAC,EACD,IAAMC,EAAUX,EAAa,IAAIN,IAAK,CACpC,IAAMvC,GAAS8C,EAAc,IAAIP,GAAE,OAAO,EAC1C,OAAO,KAAK,aAAaA,GAAG,IAAI,IAAOvC,EAAM,CAC/C,CAAC,EACKyD,EAASC,GAAoBF,CAAO,EAC1C,YAAK,aAAa,IAAItB,EAAIuB,CAAM,EAChCA,EAAO,UAAU,IAAM,KAAK,QAAQvB,CAAE,CAAC,EACvC,KAAK,QAAQ,KAAKuB,CAAM,EACjBA,CACT,CACA,QAAQvB,EAAI,CACV,IAAMuB,EAAS,KAAK,WAAWvB,CAAE,EACjCuB,EAAO,QAAQ,EACf,KAAK,aAAa,OAAOvB,CAAE,EAC3B,IAAMyB,EAAQ,KAAK,QAAQ,QAAQF,CAAM,EACrCE,GAAS,GACX,KAAK,QAAQ,OAAOA,EAAO,CAAC,CAEhC,CACA,WAAWzB,EAAI,CACb,IAAMuB,EAAS,KAAK,aAAa,IAAIvB,CAAE,EACvC,GAAI,CAACuB,EACH,MAAMG,GAAc1B,CAAE,EAExB,OAAOuB,CACT,CACA,OAAOvB,EAAI7C,EAASwE,EAAWC,EAAU,CAEvC,IAAMC,EAAYC,GAAmB3E,EAAS,GAAI,GAAI,EAAE,EACxD,OAAA4E,GAAe,KAAK,WAAW/B,CAAE,EAAG2B,EAAWE,EAAWD,CAAQ,EAC3D,IAAM,CAAC,CAChB,CACA,QAAQ5B,EAAI7C,EAAS6E,EAASC,EAAM,CAClC,GAAID,GAAW,WAAY,CACzB,KAAK,SAAShC,EAAIiC,EAAK,CAAC,CAAC,EACzB,MACF,CACA,GAAID,GAAW,SAAU,CACvB,IAAMtB,EAAUuB,EAAK,CAAC,GAAK,CAAC,EAC5B,KAAK,OAAOjC,EAAI7C,EAASuD,CAAO,EAChC,MACF,CACA,IAAMa,EAAS,KAAK,WAAWvB,CAAE,EACjC,OAAQgC,EAAS,CACf,IAAK,OACHT,EAAO,KAAK,EACZ,MACF,IAAK,QACHA,EAAO,MAAM,EACb,MACF,IAAK,QACHA,EAAO,MAAM,EACb,MACF,IAAK,UACHA,EAAO,QAAQ,EACf,MACF,IAAK,SACHA,EAAO,OAAO,EACd,MACF,IAAK,OACHA,EAAO,KAAK,EACZ,MACF,IAAK,cACHA,EAAO,YAAY,WAAWU,EAAK,CAAC,CAAC,CAAC,EACtC,MACF,IAAK,UACH,KAAK,QAAQjC,CAAE,EACf,KACJ,CACF,CACF,EACMkC,GAAmB,oBACnBC,GAAkB,qBAClBC,GAAqB,sBACrBC,GAAoB,uBACpBC,GAAiB,mBACjBC,GAAgB,oBAChBC,GAAqB,CAAC,EACtBC,GAAqB,CACzB,YAAa,GACb,cAAe,GACf,WAAY,GACZ,aAAc,GACd,qBAAsB,EACxB,EACMC,GAA6B,CACjC,YAAa,GACb,WAAY,GACZ,cAAe,GACf,aAAc,GACd,qBAAsB,EACxB,EACMC,GAAe,eACfC,GAAN,KAAiB,CACf,YACA,MACA,QACA,IAAI,QAAS,CACX,OAAO,KAAK,QAAQ,MACtB,CACA,YAAYC,EAAOC,EAAc,GAAI,CACnC,KAAK,YAAcA,EACnB,IAAMC,EAAQF,GAASA,EAAM,eAAe,OAAO,EAC7CjF,EAAQmF,EAAQF,EAAM,MAAWA,EAEvC,GADA,KAAK,MAAQG,GAAsBpF,CAAK,EACpCmF,EAAO,CAET,IAGIE,EAAAJ,EAFF,OAAAjF,CA70ER,EA+0EUqF,EADCvC,EAAAwC,GACDD,EADC,CADH,UAGF,KAAK,QAAUvC,CACjB,MACE,KAAK,QAAU,CAAC,EAEb,KAAK,QAAQ,SAChB,KAAK,QAAQ,OAAS,CAAC,EAE3B,CACA,cAAcA,EAAS,CACrB,IAAMyC,EAAYzC,EAAQ,OAC1B,GAAIyC,EAAW,CACb,IAAMC,EAAY,KAAK,QAAQ,OAC/B,OAAO,KAAKD,CAAS,EAAE,QAAQ9E,GAAQ,CACjC+E,EAAU/E,CAAI,GAAK,OACrB+E,EAAU/E,CAAI,EAAI8E,EAAU9E,CAAI,EAEpC,CAAC,CACH,CACF,CACF,EACMgF,GAAa,OACbC,GAAmC,IAAIV,GAAWS,EAAU,EAC5DE,GAAN,KAAmC,CACjC,GACA,YACA,QACA,QAAU,CAAC,EACX,UAAyB,IAAI,IAC7B,OAAS,CAAC,EACV,kBAAiC,IAAI,IACrC,eACA,YAAYvD,EAAIwD,EAAaC,EAAS,CACpC,KAAK,GAAKzD,EACV,KAAK,YAAcwD,EACnB,KAAK,QAAUC,EACf,KAAK,eAAiB,UAAYzD,EAClC0D,GAASF,EAAa,KAAK,cAAc,CAC3C,CACA,OAAOrG,EAASsB,EAAMkF,EAAO/B,EAAU,CACrC,GAAI,CAAC,KAAK,UAAU,IAAInD,CAAI,EAC1B,MAAMmF,GAAeD,EAAOlF,CAAI,EAElC,GAAIkF,GAAS,MAAQA,EAAM,QAAU,EACnC,MAAME,GAAapF,CAAI,EAEzB,GAAI,CAACqF,GAAoBH,CAAK,EAC5B,MAAMI,GAAwBJ,EAAOlF,CAAI,EAE3C,IAAMuF,EAAY/C,GAAqB,KAAK,kBAAmB9D,EAAS,CAAC,CAAC,EACpE8G,EAAO,CACX,KAAAxF,EACA,MAAAkF,EACA,SAAA/B,CACF,EACAoC,EAAU,KAAKC,CAAI,EACnB,IAAMC,EAAqBjD,GAAqB,KAAK,QAAQ,gBAAiB9D,EAAS,IAAI,GAAK,EAChG,OAAK+G,EAAmB,IAAIzF,CAAI,IAC9BiF,GAASvG,EAASgH,EAAoB,EACtCT,GAASvG,EAASgH,GAAuB,IAAM1F,CAAI,EACnDyF,EAAmB,IAAIzF,EAAM6E,EAAmB,GAE3C,IAAM,CAIX,KAAK,QAAQ,WAAW,IAAM,CAC5B,IAAM7B,EAAQuC,EAAU,QAAQC,CAAI,EAChCxC,GAAS,GACXuC,EAAU,OAAOvC,EAAO,CAAC,EAEtB,KAAK,UAAU,IAAIhD,CAAI,GAC1ByF,EAAmB,OAAOzF,CAAI,CAElC,CAAC,CACH,CACF,CACA,SAASA,EAAMC,EAAK,CAClB,OAAI,KAAK,UAAU,IAAID,CAAI,EAElB,IAEP,KAAK,UAAU,IAAIA,EAAMC,CAAG,EACrB,GAEX,CACA,YAAYD,EAAM,CAChB,IAAM2F,EAAU,KAAK,UAAU,IAAI3F,CAAI,EACvC,GAAI,CAAC2F,EACH,MAAMC,GAAoB5F,CAAI,EAEhC,OAAO2F,CACT,CACA,QAAQjH,EAAS6B,EAAapB,EAAO0G,EAAoB,GAAM,CAC7D,IAAMF,EAAU,KAAK,YAAYpF,CAAW,EACtCuC,EAAS,IAAIgD,GAA0B,KAAK,GAAIvF,EAAa7B,CAAO,EACtE+G,EAAqB,KAAK,QAAQ,gBAAgB,IAAI/G,CAAO,EAC5D+G,IACHR,GAASvG,EAASgH,EAAoB,EACtCT,GAASvG,EAASgH,GAAuB,IAAMnF,CAAW,EAC1D,KAAK,QAAQ,gBAAgB,IAAI7B,EAAS+G,EAAqB,IAAI,GAAK,GAE1E,IAAI/E,EAAY+E,EAAmB,IAAIlF,CAAW,EAC5CI,EAAU,IAAIwD,GAAWhF,EAAO,KAAK,EAAE,EAgB7C,GAdI,EADUA,GAASA,EAAM,eAAe,OAAO,IACrCuB,GACZC,EAAQ,cAAcD,EAAU,OAAO,EAEzC+E,EAAmB,IAAIlF,EAAaI,CAAO,EACtCD,IACHA,EAAYmE,IASV,EAPclE,EAAQ,QAAUiE,KAOlBlE,EAAU,QAAUC,EAAQ,MAAO,CAGnD,GAAI,CAACoF,GAAUrF,EAAU,OAAQC,EAAQ,MAAM,EAAG,CAChD,IAAMnB,GAAS,CAAC,EACVwG,GAAaL,EAAQ,YAAYjF,EAAU,MAAOA,EAAU,OAAQlB,EAAM,EAC1EyG,GAAWN,EAAQ,YAAYhF,EAAQ,MAAOA,EAAQ,OAAQnB,EAAM,EACtEA,GAAO,OACT,KAAK,QAAQ,YAAYA,EAAM,EAE/B,KAAK,QAAQ,WAAW,IAAM,CAC5B0G,GAAYxH,EAASsH,EAAU,EAC/BG,GAAUzH,EAASuH,EAAQ,CAC7B,CAAC,CAEL,CACA,MACF,CACA,IAAMG,GAAmB5D,GAAqB,KAAK,QAAQ,iBAAkB9D,EAAS,CAAC,CAAC,EACxF0H,GAAiB,QAAQtD,IAAU,CAK7BA,GAAO,aAAe,KAAK,IAAMA,GAAO,aAAevC,GAAeuC,GAAO,QAC/EA,GAAO,QAAQ,CAEnB,CAAC,EACD,IAAIhC,GAAa6E,EAAQ,gBAAgBjF,EAAU,MAAOC,EAAQ,MAAOjC,EAASiC,EAAQ,MAAM,EAC5F0F,GAAuB,GAC3B,GAAI,CAACvF,GAAY,CACf,GAAI,CAAC+E,EAAmB,OACxB/E,GAAa6E,EAAQ,mBACrBU,GAAuB,EACzB,CACA,YAAK,QAAQ,qBACb,KAAK,OAAO,KAAK,CACf,QAAA3H,EACA,YAAA6B,EACA,WAAAO,GACA,UAAAJ,EACA,QAAAC,EACA,OAAAmC,EACA,qBAAAuD,EACF,CAAC,EACIA,KACHpB,GAASvG,EAAS+E,EAAgB,EAClCX,EAAO,QAAQ,IAAM,CACnBwD,GAAY5H,EAAS+E,EAAgB,CACvC,CAAC,GAEHX,EAAO,OAAO,IAAM,CAClB,IAAIE,GAAQ,KAAK,QAAQ,QAAQF,CAAM,EACnCE,IAAS,GACX,KAAK,QAAQ,OAAOA,GAAO,CAAC,EAE9B,IAAMH,GAAU,KAAK,QAAQ,iBAAiB,IAAInE,CAAO,EACzD,GAAImE,GAAS,CACX,IAAIG,GAAQH,GAAQ,QAAQC,CAAM,EAC9BE,IAAS,GACXH,GAAQ,OAAOG,GAAO,CAAC,CAE3B,CACF,CAAC,EACD,KAAK,QAAQ,KAAKF,CAAM,EACxBsD,GAAiB,KAAKtD,CAAM,EACrBA,CACT,CACA,WAAW9C,EAAM,CACf,KAAK,UAAU,OAAOA,CAAI,EAC1B,KAAK,QAAQ,gBAAgB,QAAQe,GAAYA,EAAS,OAAOf,CAAI,CAAC,EACtE,KAAK,kBAAkB,QAAQ,CAACuF,EAAW7G,IAAY,CACrD,KAAK,kBAAkB,IAAIA,EAAS6G,EAAU,OAAOgB,GAC5CA,EAAM,MAAQvG,CACtB,CAAC,CACJ,CAAC,CACH,CACA,kBAAkBtB,EAAS,CACzB,KAAK,QAAQ,gBAAgB,OAAOA,CAAO,EAC3C,KAAK,kBAAkB,OAAOA,CAAO,EACrC,IAAM8H,EAAiB,KAAK,QAAQ,iBAAiB,IAAI9H,CAAO,EAC5D8H,IACFA,EAAe,QAAQ1D,GAAUA,EAAO,QAAQ,CAAC,EACjD,KAAK,QAAQ,iBAAiB,OAAOpE,CAAO,EAEhD,CACA,+BAA+B+H,EAAaC,EAAS,CACnD,IAAMC,EAAW,KAAK,QAAQ,OAAO,MAAMF,EAAaG,GAAqB,EAAI,EAIjFD,EAAS,QAAQE,GAAO,CAGtB,GAAIA,EAAI3C,EAAY,EAAG,OACvB,IAAM4C,EAAa,KAAK,QAAQ,yBAAyBD,CAAG,EACxDC,EAAW,KACbA,EAAW,QAAQC,GAAMA,EAAG,sBAAsBF,EAAKH,EAAS,GAAO,EAAI,CAAC,EAE5E,KAAK,kBAAkBG,CAAG,CAE9B,CAAC,EAGD,KAAK,QAAQ,yBAAyB,IAAMF,EAAS,QAAQE,GAAO,KAAK,kBAAkBA,CAAG,CAAC,CAAC,CAClG,CACA,sBAAsBnI,EAASgI,EAASM,EAAsBnB,EAAmB,CAC/E,IAAMoB,EAAgB,KAAK,QAAQ,gBAAgB,IAAIvI,CAAO,EACxDwI,EAAyB,IAAI,IACnC,GAAID,EAAe,CACjB,IAAMpE,EAAU,CAAC,EAYjB,GAXAoE,EAAc,QAAQ,CAACE,EAAO5G,IAAgB,CAI5C,GAHA2G,EAAuB,IAAI3G,EAAa4G,EAAM,KAAK,EAG/C,KAAK,UAAU,IAAI5G,CAAW,EAAG,CACnC,IAAMuC,GAAS,KAAK,QAAQpE,EAAS6B,EAAaqE,GAAYiB,CAAiB,EAC3E/C,IACFD,EAAQ,KAAKC,EAAM,CAEvB,CACF,CAAC,EACGD,EAAQ,OACV,YAAK,QAAQ,qBAAqB,KAAK,GAAInE,EAAS,GAAMgI,EAASQ,CAAsB,EACrFF,GACFjE,GAAoBF,CAAO,EAAE,OAAO,IAAM,KAAK,QAAQ,iBAAiBnE,CAAO,CAAC,EAE3E,EAEX,CACA,MAAO,EACT,CACA,+BAA+BA,EAAS,CACtC,IAAM6G,EAAY,KAAK,kBAAkB,IAAI7G,CAAO,EAC9C0I,EAAgB,KAAK,QAAQ,gBAAgB,IAAI1I,CAAO,EAG9D,GAAI6G,GAAa6B,EAAe,CAC9B,IAAMC,EAAkB,IAAI,IAC5B9B,EAAU,QAAQ+B,GAAY,CAC5B,IAAM/G,EAAc+G,EAAS,KAC7B,GAAID,EAAgB,IAAI9G,CAAW,EAAG,OACtC8G,EAAgB,IAAI9G,CAAW,EAE/B,IAAMO,EADU,KAAK,UAAU,IAAIP,CAAW,EACnB,mBACrBG,EAAY0G,EAAc,IAAI7G,CAAW,GAAKsE,GAC9ClE,GAAU,IAAIwD,GAAWS,EAAU,EACnC9B,GAAS,IAAIgD,GAA0B,KAAK,GAAIvF,EAAa7B,CAAO,EAC1E,KAAK,QAAQ,qBACb,KAAK,OAAO,KAAK,CACf,QAAAA,EACA,YAAA6B,EACA,WAAAO,EACA,UAAAJ,EACA,QAAAC,GACA,OAAAmC,GACA,qBAAsB,EACxB,CAAC,CACH,CAAC,CACH,CACF,CACA,WAAWpE,EAASgI,EAAS,CAC3B,IAAMa,EAAS,KAAK,QAKpB,GAJI7I,EAAQ,mBACV,KAAK,+BAA+BA,EAASgI,CAAO,EAGlD,KAAK,sBAAsBhI,EAASgI,EAAS,EAAI,EAAG,OAGxD,IAAIc,EAAoC,GACxC,GAAID,EAAO,gBAAiB,CAC1B,IAAME,EAAiBF,EAAO,QAAQ,OAASA,EAAO,wBAAwB,IAAI7I,CAAO,EAAI,CAAC,EAK9F,GAAI+I,GAAkBA,EAAe,OACnCD,EAAoC,OAC/B,CACL,IAAIE,EAAShJ,EACb,KAAOgJ,EAASA,EAAO,YAErB,GADiBH,EAAO,gBAAgB,IAAIG,CAAM,EACpC,CACZF,EAAoC,GACpC,KACF,CAEJ,CACF,CAQA,GAHA,KAAK,+BAA+B9I,CAAO,EAGvC8I,EACFD,EAAO,qBAAqB,KAAK,GAAI7I,EAAS,GAAOgI,CAAO,MACvD,CACL,IAAMiB,EAAcjJ,EAAQwF,EAAY,GACpC,CAACyD,GAAeA,IAAgB3D,MAGlCuD,EAAO,WAAW,IAAM,KAAK,kBAAkB7I,CAAO,CAAC,EACvD6I,EAAO,uBAAuB7I,CAAO,EACrC6I,EAAO,mBAAmB7I,EAASgI,CAAO,EAE9C,CACF,CACA,WAAWhI,EAASgJ,EAAQ,CAC1BzC,GAASvG,EAAS,KAAK,cAAc,CACvC,CACA,uBAAuBkJ,EAAa,CAClC,IAAM1F,EAAe,CAAC,EACtB,YAAK,OAAO,QAAQqE,GAAS,CAC3B,IAAMzD,EAASyD,EAAM,OACrB,GAAIzD,EAAO,UAAW,OACtB,IAAMpE,EAAU6H,EAAM,QAChBhB,EAAY,KAAK,kBAAkB,IAAI7G,CAAO,EAChD6G,GACFA,EAAU,QAAQ+B,GAAY,CAC5B,GAAIA,EAAS,MAAQf,EAAM,YAAa,CACtC,IAAMnD,EAAYC,GAAmB3E,EAAS6H,EAAM,YAAaA,EAAM,UAAU,MAAOA,EAAM,QAAQ,KAAK,EAC3GnD,EAAU,MAAWwE,EACrBtE,GAAeiD,EAAM,OAAQe,EAAS,MAAOlE,EAAWkE,EAAS,QAAQ,CAC3E,CACF,CAAC,EAECxE,EAAO,iBACT,KAAK,QAAQ,WAAW,IAAM,CAG5BA,EAAO,QAAQ,CACjB,CAAC,EAEDZ,EAAa,KAAKqE,CAAK,CAE3B,CAAC,EACD,KAAK,OAAS,CAAC,EACRrE,EAAa,KAAK,CAAC2F,EAAGC,IAAM,CAGjC,IAAMC,EAAKF,EAAE,WAAW,IAAI,SACtBG,EAAKF,EAAE,WAAW,IAAI,SAC5B,OAAIC,GAAM,GAAKC,GAAM,EACZD,EAAKC,EAEP,KAAK,QAAQ,OAAO,gBAAgBH,EAAE,QAASC,EAAE,OAAO,EAAI,EAAI,EACzE,CAAC,CACH,CACA,QAAQpB,EAAS,CACf,KAAK,QAAQ,QAAQuB,GAAKA,EAAE,QAAQ,CAAC,EACrC,KAAK,+BAA+B,KAAK,YAAavB,CAAO,CAC/D,CACF,EACMwB,GAAN,KAAgC,CAC9B,SACA,OACA,YACA,QAAU,CAAC,EACX,gBAA+B,IAAI,IACnC,iBAAgC,IAAI,IACpC,wBAAuC,IAAI,IAC3C,gBAA+B,IAAI,IACnC,cAA6B,IAAI,IACjC,gBAAkB,EAClB,mBAAqB,EACrB,iBAAmB,CAAC,EACpB,eAAiB,CAAC,EAClB,UAAY,CAAC,EACb,cAAgB,CAAC,EACjB,wBAAuC,IAAI,IAC3C,uBAAyB,CAAC,EAC1B,uBAAyB,CAAC,EAE1B,kBAAoB,CAACxJ,EAASgI,IAAY,CAAC,EAE3C,mBAAmBhI,EAASgI,EAAS,CACnC,KAAK,kBAAkBhI,EAASgI,CAAO,CACzC,CACA,YAAYrF,EAAU8G,EAAQhI,EAAa,CACzC,KAAK,SAAWkB,EAChB,KAAK,OAAS8G,EACd,KAAK,YAAchI,CACrB,CACA,IAAI,eAAgB,CAClB,IAAM0C,EAAU,CAAC,EACjB,YAAK,eAAe,QAAQkE,GAAM,CAChCA,EAAG,QAAQ,QAAQjE,GAAU,CACvBA,EAAO,QACTD,EAAQ,KAAKC,CAAM,CAEvB,CAAC,CACH,CAAC,EACMD,CACT,CACA,gBAAgBwB,EAAaU,EAAa,CACxC,IAAMgC,EAAK,IAAIjC,GAA6BT,EAAaU,EAAa,IAAI,EAC1E,OAAI,KAAK,UAAY,KAAK,OAAO,gBAAgB,KAAK,SAAUA,CAAW,EACzE,KAAK,sBAAsBgC,EAAIhC,CAAW,GAK1C,KAAK,gBAAgB,IAAIA,EAAagC,CAAE,EAMxC,KAAK,oBAAoBhC,CAAW,GAE/B,KAAK,iBAAiBV,CAAW,EAAI0C,CAC9C,CACA,sBAAsBA,EAAIhC,EAAa,CACrC,IAAMqD,EAAgB,KAAK,eACrBC,EAA0B,KAAK,wBAErC,GADcD,EAAc,OAAS,GACxB,EAAG,CACd,IAAIE,EAAQ,GAGRC,EAAW,KAAK,OAAO,iBAAiBxD,CAAW,EACvD,KAAOwD,GAAU,CACf,IAAMC,EAAaH,EAAwB,IAAIE,CAAQ,EACvD,GAAIC,EAAY,CAGd,IAAMxF,EAAQoF,EAAc,QAAQI,CAAU,EAC9CJ,EAAc,OAAOpF,EAAQ,EAAG,EAAG+D,CAAE,EACrCuB,EAAQ,GACR,KACF,CACAC,EAAW,KAAK,OAAO,iBAAiBA,CAAQ,CAClD,CACKD,GAIHF,EAAc,QAAQrB,CAAE,CAE5B,MACEqB,EAAc,KAAKrB,CAAE,EAEvB,OAAAsB,EAAwB,IAAItD,EAAagC,CAAE,EACpCA,CACT,CACA,SAAS1C,EAAaU,EAAa,CACjC,IAAIgC,EAAK,KAAK,iBAAiB1C,CAAW,EAC1C,OAAK0C,IACHA,EAAK,KAAK,gBAAgB1C,EAAaU,CAAW,GAE7CgC,CACT,CACA,gBAAgB1C,EAAarE,EAAM2F,EAAS,CAC1C,IAAIoB,EAAK,KAAK,iBAAiB1C,CAAW,EACtC0C,GAAMA,EAAG,SAAS/G,EAAM2F,CAAO,GACjC,KAAK,iBAET,CACA,QAAQtB,EAAaqC,EAAS,CACvBrC,IACL,KAAK,WAAW,IAAM,CAAC,CAAC,EACxB,KAAK,yBAAyB,IAAM,CAClC,IAAM0C,EAAK,KAAK,gBAAgB1C,CAAW,EAC3C,KAAK,wBAAwB,OAAO0C,EAAG,WAAW,EAClD,IAAM/D,EAAQ,KAAK,eAAe,QAAQ+D,CAAE,EACxC/D,GAAS,GACX,KAAK,eAAe,OAAOA,EAAO,CAAC,EAErC+D,EAAG,QAAQL,CAAO,EAClB,OAAO,KAAK,iBAAiBrC,CAAW,CAC1C,CAAC,EACH,CACA,gBAAgB9C,EAAI,CAClB,OAAO,KAAK,iBAAiBA,CAAE,CACjC,CACA,yBAAyB7C,EAAS,CAMhC,IAAMoI,EAAa,IAAI,IACjBM,EAAgB,KAAK,gBAAgB,IAAI1I,CAAO,EACtD,GAAI0I,GACF,QAASqB,KAAcrB,EAAc,OAAO,EAC1C,GAAIqB,EAAW,YAAa,CAC1B,IAAM1B,EAAK,KAAK,gBAAgB0B,EAAW,WAAW,EAClD1B,GACFD,EAAW,IAAIC,CAAE,CAErB,EAGJ,OAAOD,CACT,CACA,QAAQzC,EAAa3F,EAASsB,EAAMb,EAAO,CACzC,GAAIuJ,GAAchK,CAAO,EAAG,CAC1B,IAAMqI,EAAK,KAAK,gBAAgB1C,CAAW,EAC3C,GAAI0C,EACF,OAAAA,EAAG,QAAQrI,EAASsB,EAAMb,CAAK,EACxB,EAEX,CACA,MAAO,EACT,CACA,WAAWkF,EAAa3F,EAASgJ,EAAQiB,EAAc,CACrD,GAAI,CAACD,GAAchK,CAAO,EAAG,OAG7B,IAAMkK,EAAUlK,EAAQwF,EAAY,EACpC,GAAI0E,GAAWA,EAAQ,cAAe,CACpCA,EAAQ,cAAgB,GACxBA,EAAQ,WAAa,GACrB,IAAM5F,EAAQ,KAAK,uBAAuB,QAAQtE,CAAO,EACrDsE,GAAS,GACX,KAAK,uBAAuB,OAAOA,EAAO,CAAC,CAE/C,CAIA,GAAIqB,EAAa,CACf,IAAM0C,EAAK,KAAK,gBAAgB1C,CAAW,EAOvC0C,GACFA,EAAG,WAAWrI,EAASgJ,CAAM,CAEjC,CAEIiB,GACF,KAAK,oBAAoBjK,CAAO,CAEpC,CACA,oBAAoBA,EAAS,CAC3B,KAAK,uBAAuB,KAAKA,CAAO,CAC1C,CACA,sBAAsBA,EAASS,EAAO,CAChCA,EACG,KAAK,cAAc,IAAIT,CAAO,IACjC,KAAK,cAAc,IAAIA,CAAO,EAC9BuG,GAASvG,EAASiF,EAAkB,GAE7B,KAAK,cAAc,IAAIjF,CAAO,IACvC,KAAK,cAAc,OAAOA,CAAO,EACjC4H,GAAY5H,EAASiF,EAAkB,EAE3C,CACA,WAAWU,EAAa3F,EAASgI,EAAS,CACxC,GAAIgC,GAAchK,CAAO,EAAG,CAC1B,IAAMqI,EAAK1C,EAAc,KAAK,gBAAgBA,CAAW,EAAI,KACzD0C,EACFA,EAAG,WAAWrI,EAASgI,CAAO,EAE9B,KAAK,qBAAqBrC,EAAa3F,EAAS,GAAOgI,CAAO,EAEhE,IAAMmC,EAAS,KAAK,wBAAwB,IAAInK,CAAO,EACnDmK,GAAUA,EAAO,KAAOxE,GAC1BwE,EAAO,WAAWnK,EAASgI,CAAO,CAEtC,MACE,KAAK,mBAAmBhI,EAASgI,CAAO,CAE5C,CACA,qBAAqBrC,EAAa3F,EAASoK,EAAcpC,EAASQ,EAAwB,CACxF,KAAK,uBAAuB,KAAKxI,CAAO,EACxCA,EAAQwF,EAAY,EAAI,CACtB,YAAAG,EACA,cAAeqC,EACf,aAAAoC,EACA,qBAAsB,GACtB,uBAAA5B,CACF,CACF,CACA,OAAO7C,EAAa3F,EAASsB,EAAMkF,EAAO/B,EAAU,CAClD,OAAIuF,GAAchK,CAAO,EAChB,KAAK,gBAAgB2F,CAAW,EAAE,OAAO3F,EAASsB,EAAMkF,EAAO/B,CAAQ,EAEzE,IAAM,CAAC,CAChB,CACA,kBAAkBoD,EAAOwC,EAAcC,EAAgBC,EAAgBC,EAAc,CACnF,OAAO3C,EAAM,WAAW,MAAM,KAAK,OAAQA,EAAM,QAASA,EAAM,UAAU,MAAOA,EAAM,QAAQ,MAAOyC,EAAgBC,EAAgB1C,EAAM,UAAU,QAASA,EAAM,QAAQ,QAASwC,EAAcG,CAAY,CAClN,CACA,uBAAuBC,EAAkB,CACvC,IAAIxC,EAAW,KAAK,OAAO,MAAMwC,EAAkBvC,GAAqB,EAAI,EAC5ED,EAAS,QAAQjI,GAAW,KAAK,kCAAkCA,CAAO,CAAC,EACvE,KAAK,wBAAwB,MAAQ,IACzCiI,EAAW,KAAK,OAAO,MAAMwC,EAAkBC,GAAuB,EAAI,EAC1EzC,EAAS,QAAQjI,GAAW,KAAK,sCAAsCA,CAAO,CAAC,EACjF,CACA,kCAAkCA,EAAS,CACzC,IAAMmE,EAAU,KAAK,iBAAiB,IAAInE,CAAO,EAC7CmE,GACFA,EAAQ,QAAQC,GAAU,CAIpBA,EAAO,OACTA,EAAO,iBAAmB,GAE1BA,EAAO,QAAQ,CAEnB,CAAC,CAEL,CACA,sCAAsCpE,EAAS,CAC7C,IAAMmE,EAAU,KAAK,wBAAwB,IAAInE,CAAO,EACpDmE,GACFA,EAAQ,QAAQC,GAAUA,EAAO,OAAO,CAAC,CAE7C,CACA,mBAAoB,CAClB,OAAO,IAAI,QAAQuG,GAAW,CAC5B,GAAI,KAAK,QAAQ,OACf,OAAOtG,GAAoB,KAAK,OAAO,EAAE,OAAO,IAAMsG,EAAQ,CAAC,EAE/DA,EAAQ,CAEZ,CAAC,CACH,CACA,iBAAiB3K,EAAS,CACxB,IAAMkK,EAAUlK,EAAQwF,EAAY,EACpC,GAAI0E,GAAWA,EAAQ,cAAe,CAGpC,GADAlK,EAAQwF,EAAY,EAAIF,GACpB4E,EAAQ,YAAa,CACvB,KAAK,uBAAuBlK,CAAO,EACnC,IAAMqI,EAAK,KAAK,gBAAgB6B,EAAQ,WAAW,EAC/C7B,GACFA,EAAG,kBAAkBrI,CAAO,CAEhC,CACA,KAAK,mBAAmBA,EAASkK,EAAQ,aAAa,CACxD,CACIlK,EAAQ,WAAW,SAASiF,EAAkB,GAChD,KAAK,sBAAsBjF,EAAS,EAAK,EAE3C,KAAK,OAAO,MAAMA,EAASkF,GAAmB,EAAI,EAAE,QAAQ0F,GAAQ,CAClE,KAAK,sBAAsBA,EAAM,EAAK,CACxC,CAAC,CACH,CACA,MAAM1B,EAAc,GAAI,CACtB,IAAI/E,EAAU,CAAC,EAKf,GAJI,KAAK,gBAAgB,OACvB,KAAK,gBAAgB,QAAQ,CAACkE,EAAIrI,IAAY,KAAK,sBAAsBqI,EAAIrI,CAAO,CAAC,EACrF,KAAK,gBAAgB,MAAM,GAEzB,KAAK,iBAAmB,KAAK,uBAAuB,OACtD,QAAS,EAAI,EAAG,EAAI,KAAK,uBAAuB,OAAQ,IAAK,CAC3D,IAAMmI,EAAM,KAAK,uBAAuB,CAAC,EACzC5B,GAAS4B,EAAKhD,EAAc,CAC9B,CAEF,GAAI,KAAK,eAAe,SAAW,KAAK,oBAAsB,KAAK,uBAAuB,QAAS,CACjG,IAAM0F,EAAa,CAAC,EACpB,GAAI,CACF1G,EAAU,KAAK,iBAAiB0G,EAAY3B,CAAW,CACzD,QAAE,CACA,QAAShG,EAAI,EAAGA,EAAI2H,EAAW,OAAQ3H,IACrC2H,EAAW3H,CAAC,EAAE,CAElB,CACF,KACE,SAAS,EAAI,EAAG,EAAI,KAAK,uBAAuB,OAAQ,IAAK,CAC3D,IAAMlD,EAAU,KAAK,uBAAuB,CAAC,EAC7C,KAAK,iBAAiBA,CAAO,CAC/B,CAOF,GALA,KAAK,mBAAqB,EAC1B,KAAK,uBAAuB,OAAS,EACrC,KAAK,uBAAuB,OAAS,EACrC,KAAK,UAAU,QAAQE,GAAMA,EAAG,CAAC,EACjC,KAAK,UAAY,CAAC,EACd,KAAK,cAAc,OAAQ,CAI7B,IAAM4K,EAAW,KAAK,cACtB,KAAK,cAAgB,CAAC,EAClB3G,EAAQ,OACVE,GAAoBF,CAAO,EAAE,OAAO,IAAM,CACxC2G,EAAS,QAAQ5K,GAAMA,EAAG,CAAC,CAC7B,CAAC,EAED4K,EAAS,QAAQ5K,GAAMA,EAAG,CAAC,CAE/B,CACF,CACA,YAAYY,EAAQ,CAClB,MAAMiK,GAAyBjK,CAAM,CACvC,CACA,iBAAiB+J,EAAY3B,EAAa,CACxC,IAAMmB,EAAe,IAAI5H,GACnBuI,EAAiB,CAAC,EAClBC,EAAoB,IAAI,IACxBC,EAAqB,CAAC,EACtBC,EAAkB,IAAI,IACtBC,EAAsB,IAAI,IAC1BC,EAAuB,IAAI,IAC3BC,GAAsB,IAAI,IAChC,KAAK,cAAc,QAAQV,IAAQ,CACjCU,GAAoB,IAAIV,EAAI,EAC5B,IAAMW,GAAuB,KAAK,OAAO,MAAMX,GAAM5F,GAAiB,EAAI,EAC1E,QAAS9B,GAAI,EAAGA,GAAIqI,GAAqB,OAAQrI,KAC/CoI,GAAoB,IAAIC,GAAqBrI,EAAC,CAAC,CAEnD,CAAC,EACD,IAAMP,GAAW,KAAK,SAChB6I,GAAqB,MAAM,KAAK,KAAK,gBAAgB,KAAK,CAAC,EAC3DC,GAAeC,GAAaF,GAAoB,KAAK,sBAAsB,EAI3EG,GAAkB,IAAI,IACxBzI,GAAI,EACRuI,GAAa,QAAQ,CAACG,GAAOC,KAAS,CACpC,IAAMC,GAAYnI,GAAkBT,KACpCyI,GAAgB,IAAIE,GAAMC,EAAS,EACnCF,GAAM,QAAQhB,IAAQrE,GAASqE,GAAMkB,EAAS,CAAC,CACjD,CAAC,EACD,IAAMC,GAAgB,CAAC,EACjBC,GAAmB,IAAI,IACvBC,GAA8B,IAAI,IACxC,QAAS/I,GAAI,EAAGA,GAAI,KAAK,uBAAuB,OAAQA,KAAK,CAC3D,IAAMlD,GAAU,KAAK,uBAAuBkD,EAAC,EACvCgH,GAAUlK,GAAQwF,EAAY,EAChC0E,IAAWA,GAAQ,gBACrB6B,GAAc,KAAK/L,EAAO,EAC1BgM,GAAiB,IAAIhM,EAAO,EACxBkK,GAAQ,aACV,KAAK,OAAO,MAAMlK,GAASoF,GAAe,EAAI,EAAE,QAAQ+C,IAAO6D,GAAiB,IAAI7D,EAAG,CAAC,EAExF8D,GAA4B,IAAIjM,EAAO,EAG7C,CACA,IAAMkM,GAAkB,IAAI,IACtBC,GAAeT,GAAaF,GAAoB,MAAM,KAAKQ,EAAgB,CAAC,EAClFG,GAAa,QAAQ,CAACP,GAAOC,KAAS,CACpC,IAAMC,GAAYlI,GAAkBV,KACpCgJ,GAAgB,IAAIL,GAAMC,EAAS,EACnCF,GAAM,QAAQhB,IAAQrE,GAASqE,GAAMkB,EAAS,CAAC,CACjD,CAAC,EACDjB,EAAW,KAAK,IAAM,CACpBY,GAAa,QAAQ,CAACG,GAAOC,KAAS,CACpC,IAAMC,GAAYH,GAAgB,IAAIE,EAAI,EAC1CD,GAAM,QAAQhB,IAAQhD,GAAYgD,GAAMkB,EAAS,CAAC,CACpD,CAAC,EACDK,GAAa,QAAQ,CAACP,GAAOC,KAAS,CACpC,IAAMC,GAAYI,GAAgB,IAAIL,EAAI,EAC1CD,GAAM,QAAQhB,IAAQhD,GAAYgD,GAAMkB,EAAS,CAAC,CACpD,CAAC,EACDC,GAAc,QAAQ/L,IAAW,CAC/B,KAAK,iBAAiBA,EAAO,CAC/B,CAAC,CACH,CAAC,EACD,IAAMoM,GAAa,CAAC,EACdC,GAAuB,CAAC,EAC9B,QAASnJ,GAAI,KAAK,eAAe,OAAS,EAAGA,IAAK,EAAGA,KACxC,KAAK,eAAeA,EAAC,EAC7B,uBAAuBgG,CAAW,EAAE,QAAQrB,IAAS,CACtD,IAAMzD,GAASyD,GAAM,OACf7H,GAAU6H,GAAM,QAEtB,GADAuE,GAAW,KAAKhI,EAAM,EAClB,KAAK,uBAAuB,OAAQ,CACtC,IAAM8F,GAAUlK,GAAQwF,EAAY,EAGpC,GAAI0E,IAAWA,GAAQ,WAAY,CACjC,GAAIA,GAAQ,wBAA0BA,GAAQ,uBAAuB,IAAIrC,GAAM,WAAW,EAAG,CAC3F,IAAMyE,GAAgBpC,GAAQ,uBAAuB,IAAIrC,GAAM,WAAW,EAGpEd,GAAqB,KAAK,gBAAgB,IAAIc,GAAM,OAAO,EACjE,GAAId,IAAsBA,GAAmB,IAAIc,GAAM,WAAW,EAAG,CACnE,IAAMY,GAAQ1B,GAAmB,IAAIc,GAAM,WAAW,EACtDY,GAAM,MAAQ6D,GACdvF,GAAmB,IAAIc,GAAM,YAAaY,EAAK,CACjD,CACF,CACArE,GAAO,QAAQ,EACf,MACF,CACF,CACA,IAAMmI,GAAiB,CAAC5J,IAAY,CAAC,KAAK,OAAO,gBAAgBA,GAAU3C,EAAO,EAC5EuK,GAAiB2B,GAAgB,IAAIlM,EAAO,EAC5CsK,GAAiBqB,GAAgB,IAAI3L,EAAO,EAC5CwM,GAAc,KAAK,kBAAkB3E,GAAOwC,EAAcC,GAAgBC,GAAgBgC,EAAc,EAC9G,GAAIC,GAAY,QAAUA,GAAY,OAAO,OAAQ,CACnDH,GAAqB,KAAKG,EAAW,EACrC,MACF,CAKA,GAAID,GAAgB,CAClBnI,GAAO,QAAQ,IAAMoD,GAAYxH,GAASwM,GAAY,UAAU,CAAC,EACjEpI,GAAO,UAAU,IAAMqD,GAAUzH,GAASwM,GAAY,QAAQ,CAAC,EAC/DxB,EAAe,KAAK5G,EAAM,EAC1B,MACF,CAIA,GAAIyD,GAAM,qBAAsB,CAC9BzD,GAAO,QAAQ,IAAMoD,GAAYxH,GAASwM,GAAY,UAAU,CAAC,EACjEpI,GAAO,UAAU,IAAMqD,GAAUzH,GAASwM,GAAY,QAAQ,CAAC,EAC/DxB,EAAe,KAAK5G,EAAM,EAC1B,MACF,CAMA,IAAMqI,GAAY,CAAC,EACnBD,GAAY,UAAU,QAAQE,IAAM,CAClCA,GAAG,wBAA0B,GACxB,KAAK,cAAc,IAAIA,GAAG,OAAO,GACpCD,GAAU,KAAKC,EAAE,CAErB,CAAC,EACDF,GAAY,UAAYC,GACxBpC,EAAa,OAAOrK,GAASwM,GAAY,SAAS,EAClD,IAAMG,GAAQ,CACZ,YAAAH,GACA,OAAApI,GACA,QAAApE,EACF,EACAkL,EAAmB,KAAKyB,EAAK,EAC7BH,GAAY,gBAAgB,QAAQxM,IAAW8D,GAAqBqH,EAAiBnL,GAAS,CAAC,CAAC,EAAE,KAAKoE,EAAM,CAAC,EAC9GoI,GAAY,cAAc,QAAQ,CAACI,GAAW5M,KAAY,CACxD,GAAI4M,GAAU,KAAM,CAClB,IAAIC,GAASzB,EAAoB,IAAIpL,EAAO,EACvC6M,IACHzB,EAAoB,IAAIpL,GAAS6M,GAAS,IAAI,GAAK,EAErDD,GAAU,QAAQ,CAAC3I,GAAG/C,KAAS2L,GAAO,IAAI3L,EAAI,CAAC,CACjD,CACF,CAAC,EACDsL,GAAY,eAAe,QAAQ,CAACI,GAAW5M,KAAY,CACzD,IAAI6M,GAASxB,EAAqB,IAAIrL,EAAO,EACxC6M,IACHxB,EAAqB,IAAIrL,GAAS6M,GAAS,IAAI,GAAK,EAEtDD,GAAU,QAAQ,CAAC3I,GAAG/C,KAAS2L,GAAO,IAAI3L,EAAI,CAAC,CACjD,CAAC,CACH,CAAC,EAEH,GAAImL,GAAqB,OAAQ,CAC/B,IAAMvL,GAAS,CAAC,EAChBuL,GAAqB,QAAQG,IAAe,CAC1C1L,GAAO,KAAKgM,GAAiBN,GAAY,YAAaA,GAAY,MAAM,CAAC,CAC3E,CAAC,EACDJ,GAAW,QAAQhI,IAAUA,GAAO,QAAQ,CAAC,EAC7C,KAAK,YAAYtD,EAAM,CACzB,CACA,IAAMiM,GAAwB,IAAI,IAK5BC,GAAsB,IAAI,IAChC9B,EAAmB,QAAQrD,IAAS,CAClC,IAAM7H,GAAU6H,GAAM,QAClBwC,EAAa,IAAIrK,EAAO,IAC1BgN,GAAoB,IAAIhN,GAASA,EAAO,EACxC,KAAK,sBAAsB6H,GAAM,OAAO,YAAaA,GAAM,YAAakF,EAAqB,EAEjG,CAAC,EACD/B,EAAe,QAAQ5G,IAAU,CAC/B,IAAMpE,GAAUoE,GAAO,QACC,KAAK,oBAAoBpE,GAAS,GAAOoE,GAAO,YAAaA,GAAO,YAAa,IAAI,EAC7F,QAAQ6I,IAAc,CACpCnJ,GAAqBiJ,GAAuB/M,GAAS,CAAC,CAAC,EAAE,KAAKiN,EAAU,EACxEA,GAAW,QAAQ,CACrB,CAAC,CACH,CAAC,EAQD,IAAMC,GAAenB,GAAc,OAAOnB,IACjCuC,GAAuBvC,GAAMQ,EAAqBC,CAAoB,CAC9E,EAEK+B,GAAgB,IAAI,IACGC,GAAsBD,GAAe,KAAK,OAAQnB,GAA6BZ,EAAsBnH,EAAU,EACvH,QAAQ0G,IAAQ,CAC/BuC,GAAuBvC,GAAMQ,EAAqBC,CAAoB,GACxE6B,GAAa,KAAKtC,EAAI,CAE1B,CAAC,EAED,IAAM0C,GAAe,IAAI,IACzB7B,GAAa,QAAQ,CAACG,GAAOC,KAAS,CACpCwB,GAAsBC,GAAc,KAAK,OAAQ,IAAI,IAAI1B,EAAK,EAAGR,EAAqBmC,EAAU,CAClG,CAAC,EACDL,GAAa,QAAQtC,IAAQ,CAC3B,IAAM4C,GAAOJ,GAAc,IAAIxC,EAAI,EAC7B6C,GAAMH,GAAa,IAAI1C,EAAI,EACjCwC,GAAc,IAAIxC,GAAM,IAAI,IAAI,CAAC,GAAI4C,IAAM,QAAQ,GAAK,CAAC,EAAI,GAAIC,IAAK,QAAQ,GAAK,CAAC,CAAE,CAAC,CAAC,CAC1F,CAAC,EACD,IAAMC,GAAc,CAAC,EACfC,GAAa,CAAC,EACdC,GAAuC,CAAC,EAC9C1C,EAAmB,QAAQrD,IAAS,CAClC,GAAM,CACJ,QAAA7H,GACA,OAAAoE,GACA,YAAAoI,EACF,EAAI3E,GAGJ,GAAIwC,EAAa,IAAIrK,EAAO,EAAG,CAC7B,GAAIsL,GAAoB,IAAItL,EAAO,EAAG,CACpCoE,GAAO,UAAU,IAAMqD,GAAUzH,GAASwM,GAAY,QAAQ,CAAC,EAC/DpI,GAAO,SAAW,GAClBA,GAAO,kBAAkBoI,GAAY,SAAS,EAC9CxB,EAAe,KAAK5G,EAAM,EAC1B,MACF,CAOA,IAAIyJ,GAAsBD,GAC1B,GAAIZ,GAAoB,KAAO,EAAG,CAChC,IAAI7E,GAAMnI,GACJ8N,GAAe,CAAC,EACtB,KAAO3F,GAAMA,GAAI,YAAY,CAC3B,IAAM4F,GAAiBf,GAAoB,IAAI7E,EAAG,EAClD,GAAI4F,GAAgB,CAClBF,GAAsBE,GACtB,KACF,CACAD,GAAa,KAAK3F,EAAG,CACvB,CACA2F,GAAa,QAAQ9E,IAAUgE,GAAoB,IAAIhE,GAAQ6E,EAAmB,CAAC,CACrF,CACA,IAAMG,GAAc,KAAK,gBAAgB5J,GAAO,YAAaoI,GAAaO,GAAuB9B,EAAmBqC,GAAcF,EAAa,EAE/I,GADAhJ,GAAO,cAAc4J,EAAW,EAC5BH,KAAwBD,GAC1BF,GAAY,KAAKtJ,EAAM,MAClB,CACL,IAAM6J,GAAgB,KAAK,iBAAiB,IAAIJ,EAAmB,EAC/DI,IAAiBA,GAAc,SACjC7J,GAAO,aAAeC,GAAoB4J,EAAa,GAEzDjD,EAAe,KAAK5G,EAAM,CAC5B,CACF,MACEoD,GAAYxH,GAASwM,GAAY,UAAU,EAC3CpI,GAAO,UAAU,IAAMqD,GAAUzH,GAASwM,GAAY,QAAQ,CAAC,EAI/DmB,GAAW,KAAKvJ,EAAM,EAClBkH,GAAoB,IAAItL,EAAO,GACjCgL,EAAe,KAAK5G,EAAM,CAGhC,CAAC,EAEDuJ,GAAW,QAAQvJ,IAAU,CAG3B,IAAM8J,GAAoBjD,EAAkB,IAAI7G,GAAO,OAAO,EAC9D,GAAI8J,IAAqBA,GAAkB,OAAQ,CACjD,IAAMF,GAAc3J,GAAoB6J,EAAiB,EACzD9J,GAAO,cAAc4J,EAAW,CAClC,CACF,CAAC,EAIDhD,EAAe,QAAQ5G,IAAU,CAC3BA,GAAO,aACTA,GAAO,iBAAiBA,GAAO,YAAY,EAE3CA,GAAO,QAAQ,CAEnB,CAAC,EAID,QAASlB,GAAI,EAAGA,GAAI6I,GAAc,OAAQ7I,KAAK,CAC7C,IAAMlD,GAAU+L,GAAc7I,EAAC,EACzBgH,GAAUlK,GAAQwF,EAAY,EAKpC,GAJAoC,GAAY5H,GAAS4D,EAAe,EAIhCsG,IAAWA,GAAQ,aAAc,SACrC,IAAI/F,GAAU,CAAC,EAIf,GAAIgH,EAAgB,KAAM,CACxB,IAAIgD,GAAuBhD,EAAgB,IAAInL,EAAO,EAClDmO,IAAwBA,GAAqB,QAC/ChK,GAAQ,KAAK,GAAGgK,EAAoB,EAEtC,IAAIC,GAAuB,KAAK,OAAO,MAAMpO,GAAS0K,GAAuB,EAAI,EACjF,QAAS2D,GAAI,EAAGA,GAAID,GAAqB,OAAQC,KAAK,CACpD,IAAIC,GAAiBnD,EAAgB,IAAIiD,GAAqBC,EAAC,CAAC,EAC5DC,IAAkBA,GAAe,QACnCnK,GAAQ,KAAK,GAAGmK,EAAc,CAElC,CACF,CACA,IAAMC,GAAgBpK,GAAQ,OAAOoF,IAAK,CAACA,GAAE,SAAS,EAClDgF,GAAc,OAChBC,GAA8B,KAAMxO,GAASuO,EAAa,EAE1D,KAAK,iBAAiBvO,EAAO,CAEjC,CAEA,OAAA+L,GAAc,OAAS,EACvB2B,GAAY,QAAQtJ,IAAU,CAC5B,KAAK,QAAQ,KAAKA,EAAM,EACxBA,GAAO,OAAO,IAAM,CAClBA,GAAO,QAAQ,EACf,IAAME,GAAQ,KAAK,QAAQ,QAAQF,EAAM,EACzC,KAAK,QAAQ,OAAOE,GAAO,CAAC,CAC9B,CAAC,EACDF,GAAO,KAAK,CACd,CAAC,EACMsJ,EACT,CACA,WAAWjJ,EAAU,CACnB,KAAK,UAAU,KAAKA,CAAQ,CAC9B,CACA,yBAAyBA,EAAU,CACjC,KAAK,cAAc,KAAKA,CAAQ,CAClC,CACA,oBAAoBzE,EAASyO,EAAkB9I,EAAa9D,EAAa6M,EAAc,CACrF,IAAIvK,EAAU,CAAC,EACf,GAAIsK,EAAkB,CACpB,IAAME,EAAwB,KAAK,wBAAwB,IAAI3O,CAAO,EAClE2O,IACFxK,EAAUwK,EAEd,KAAO,CACL,IAAM7G,EAAiB,KAAK,iBAAiB,IAAI9H,CAAO,EACxD,GAAI8H,EAAgB,CAClB,IAAM8G,EAAqB,CAACF,GAAgBA,GAAgBxI,GAC5D4B,EAAe,QAAQ1D,GAAU,CAC3BA,EAAO,QACP,CAACwK,GAAsBxK,EAAO,aAAevC,GACjDsC,EAAQ,KAAKC,CAAM,CACrB,CAAC,CACH,CACF,CACA,OAAIuB,GAAe9D,KACjBsC,EAAUA,EAAQ,OAAOC,GACnB,EAAAuB,GAAeA,GAAevB,EAAO,aACrCvC,GAAeA,GAAeuC,EAAO,YAE1C,GAEID,CACT,CACA,sBAAsBwB,EAAa6G,EAAaO,EAAuB,CACrE,IAAMlL,EAAc2K,EAAY,YAC1BzE,EAAcyE,EAAY,QAG1BqC,EAAoBrC,EAAY,oBAAsB,OAAY7G,EAClEmJ,EAAoBtC,EAAY,oBAAsB,OAAY3K,EACxE,QAAWkN,KAAuBvC,EAAY,UAAW,CACvD,IAAMxM,EAAU+O,EAAoB,QAC9BN,GAAmBzO,IAAY+H,EAC/B5D,GAAUL,GAAqBiJ,EAAuB/M,EAAS,CAAC,CAAC,EAC/C,KAAK,oBAAoBA,EAASyO,GAAkBI,EAAmBC,EAAmBtC,EAAY,OAAO,EACrH,QAAQpI,IAAU,CAChC,IAAM4K,GAAa5K,GAAO,cAAc,EACpC4K,GAAW,eACbA,GAAW,cAAc,EAE3B5K,GAAO,QAAQ,EACfD,GAAQ,KAAKC,EAAM,CACrB,CAAC,CACH,CAGAoD,GAAYO,EAAayE,EAAY,UAAU,CACjD,CACA,gBAAgB7G,EAAa6G,EAAaO,EAAuB9B,EAAmBqC,EAAcF,EAAe,CAC/G,IAAMvL,EAAc2K,EAAY,YAC1BzE,EAAcyE,EAAY,QAG1ByC,EAAoB,CAAC,EACrBC,GAAsB,IAAI,IAC1BC,GAAiB,IAAI,IACrBC,GAAgB5C,EAAY,UAAU,IAAIuC,IAAuB,CACrE,IAAM/O,GAAU+O,GAAoB,QACpCG,GAAoB,IAAIlP,EAAO,EAE/B,IAAMkK,GAAUlK,GAAQwF,EAAY,EACpC,GAAI0E,IAAWA,GAAQ,qBAAsB,OAAO,IAAImF,GAAoBN,GAAoB,SAAUA,GAAoB,KAAK,EACnI,IAAMN,GAAmBzO,KAAY+H,EAC/BuH,GAAkBC,IAAqBxC,EAAsB,IAAI/M,EAAO,GAAKqF,IAAoB,IAAIkE,IAAKA,GAAE,cAAc,CAAC,CAAC,EAAE,OAAOA,IAAK,CAK9I,IAAMiG,GAAKjG,GACX,OAAOiG,GAAG,QAAUA,GAAG,UAAYxP,GAAU,EAC/C,CAAC,EACKmD,GAAYmK,EAAa,IAAItN,EAAO,EACpCoD,GAAagK,EAAc,IAAIpN,EAAO,EACtCqD,GAAYC,GAAqB,KAAK,YAAayL,GAAoB,UAAW5L,GAAWC,EAAU,EACvGgB,GAAS,KAAK,aAAa2K,GAAqB1L,GAAWiM,EAAe,EAMhF,GAHIP,GAAoB,aAAe9D,GACrCkE,GAAe,IAAInP,EAAO,EAExByO,GAAkB,CACpB,IAAMgB,GAAgB,IAAIrI,GAA0BzB,EAAa9D,EAAa7B,EAAO,EACrFyP,GAAc,cAAcrL,EAAM,EAClC6K,EAAkB,KAAKQ,EAAa,CACtC,CACA,OAAOrL,EACT,CAAC,EACD6K,EAAkB,QAAQ7K,IAAU,CAClCN,GAAqB,KAAK,wBAAyBM,GAAO,QAAS,CAAC,CAAC,EAAE,KAAKA,EAAM,EAClFA,GAAO,OAAO,IAAMsL,GAAmB,KAAK,wBAAyBtL,GAAO,QAASA,EAAM,CAAC,CAC9F,CAAC,EACD8K,GAAoB,QAAQlP,IAAWuG,GAASvG,GAAS2P,EAAsB,CAAC,EAChF,IAAMvL,GAASC,GAAoB+K,EAAa,EAChD,OAAAhL,GAAO,UAAU,IAAM,CACrB8K,GAAoB,QAAQlP,IAAW4H,GAAY5H,GAAS2P,EAAsB,CAAC,EACnFlI,GAAUM,EAAayE,EAAY,QAAQ,CAC7C,CAAC,EAGD2C,GAAe,QAAQnP,IAAW,CAChC8D,GAAqBmH,EAAmBjL,GAAS,CAAC,CAAC,EAAE,KAAKoE,EAAM,CAClE,CAAC,EACMA,EACT,CACA,aAAaoI,EAAanJ,EAAWiM,EAAiB,CACpD,OAAIjM,EAAU,OAAS,EACd,KAAK,OAAO,QAAQmJ,EAAY,QAASnJ,EAAWmJ,EAAY,SAAUA,EAAY,MAAOA,EAAY,OAAQ8C,CAAe,EAIlI,IAAID,GAAoB7C,EAAY,SAAUA,EAAY,KAAK,CACxE,CACF,EACMpF,GAAN,KAAgC,CAC9B,YACA,YACA,QACA,QAAuB,IAAIiI,GAC3B,oBAAsB,GACtB,iBAAgC,IAAI,IACpC,UAAY,GACZ,aAAe,KACf,iBAAmB,GACnB,SAAW,GACX,OAAS,GACT,UAAY,EACZ,YAAY1J,EAAa9D,EAAa7B,EAAS,CAC7C,KAAK,YAAc2F,EACnB,KAAK,YAAc9D,EACnB,KAAK,QAAU7B,CACjB,CACA,cAAcoE,EAAQ,CAChB,KAAK,sBACT,KAAK,QAAUA,EACf,KAAK,iBAAiB,QAAQ,CAACwL,EAAWpJ,IAAU,CAClDoJ,EAAU,QAAQnL,GAAYG,GAAeR,EAAQoC,EAAO,OAAW/B,CAAQ,CAAC,CAClF,CAAC,EACD,KAAK,iBAAiB,MAAM,EAC5B,KAAK,oBAAsB,GAC3B,KAAK,kBAAkBL,EAAO,SAAS,EACvC,KAAK,OAAS,GAChB,CACA,eAAgB,CACd,OAAO,KAAK,OACd,CACA,kBAAkByL,EAAW,CAC3B,KAAK,UAAYA,CACnB,CACA,iBAAiBzL,EAAQ,CACvB,IAAMmF,EAAI,KAAK,QACXA,EAAE,iBACJnF,EAAO,QAAQ,IAAMmF,EAAE,gBAAgB,OAAO,CAAC,EAEjDnF,EAAO,OAAO,IAAM,KAAK,OAAO,CAAC,EACjCA,EAAO,UAAU,IAAM,KAAK,QAAQ,CAAC,CACvC,CACA,YAAY9C,EAAMmD,EAAU,CAC1BX,GAAqB,KAAK,iBAAkBxC,EAAM,CAAC,CAAC,EAAE,KAAKmD,CAAQ,CACrE,CACA,OAAOvE,EAAI,CACL,KAAK,QACP,KAAK,YAAY,OAAQA,CAAE,EAE7B,KAAK,QAAQ,OAAOA,CAAE,CACxB,CACA,QAAQA,EAAI,CACN,KAAK,QACP,KAAK,YAAY,QAASA,CAAE,EAE9B,KAAK,QAAQ,QAAQA,CAAE,CACzB,CACA,UAAUA,EAAI,CACR,KAAK,QACP,KAAK,YAAY,UAAWA,CAAE,EAEhC,KAAK,QAAQ,UAAUA,CAAE,CAC3B,CACA,MAAO,CACL,KAAK,QAAQ,KAAK,CACpB,CACA,YAAa,CACX,OAAO,KAAK,OAAS,GAAQ,KAAK,QAAQ,WAAW,CACvD,CACA,MAAO,CACL,CAAC,KAAK,QAAU,KAAK,QAAQ,KAAK,CACpC,CACA,OAAQ,CACN,CAAC,KAAK,QAAU,KAAK,QAAQ,MAAM,CACrC,CACA,SAAU,CACR,CAAC,KAAK,QAAU,KAAK,QAAQ,QAAQ,CACvC,CACA,QAAS,CACP,KAAK,QAAQ,OAAO,CACtB,CACA,SAAU,CACR,KAAK,UAAY,GACjB,KAAK,QAAQ,QAAQ,CACvB,CACA,OAAQ,CACN,CAAC,KAAK,QAAU,KAAK,QAAQ,MAAM,CACrC,CACA,YAAYqJ,EAAG,CACR,KAAK,QACR,KAAK,QAAQ,YAAYA,CAAC,CAE9B,CACA,aAAc,CACZ,OAAO,KAAK,OAAS,EAAI,KAAK,QAAQ,YAAY,CACpD,CAEA,gBAAgBuG,EAAW,CACzB,IAAMvG,EAAI,KAAK,QACXA,EAAE,iBACJA,EAAE,gBAAgBuG,CAAS,CAE/B,CACF,EACA,SAASJ,GAAmBK,EAAKvP,EAAKC,EAAO,CAC3C,IAAIuP,EAAgBD,EAAI,IAAIvP,CAAG,EAC/B,GAAIwP,EAAe,CACjB,GAAIA,EAAc,OAAQ,CACxB,IAAM1L,EAAQ0L,EAAc,QAAQvP,CAAK,EACzCuP,EAAc,OAAO1L,EAAO,CAAC,CAC/B,CACI0L,EAAc,QAAU,GAC1BD,EAAI,OAAOvP,CAAG,CAElB,CACA,OAAOwP,CACT,CACA,SAASnK,GAAsBpF,EAAO,CAIpC,OAAOA,GAAwB,IACjC,CACA,SAASuJ,GAAcY,EAAM,CAC3B,OAAOA,GAAQA,EAAK,WAAgB,CACtC,CACA,SAASjE,GAAoBnC,EAAW,CACtC,OAAOA,GAAa,SAAWA,GAAa,MAC9C,CACA,SAASyL,GAAajQ,EAASS,EAAO,CACpC,IAAMyP,EAAWlQ,EAAQ,MAAM,QAC/B,OAAAA,EAAQ,MAAM,QAAUS,GAAwB,OACzCyP,CACT,CACA,SAAS7C,GAAsB8C,EAAW1G,EAAQxB,EAAUmI,EAAiBC,EAAc,CACzF,IAAMC,EAAY,CAAC,EACnBrI,EAAS,QAAQjI,GAAWsQ,EAAU,KAAKL,GAAajQ,CAAO,CAAC,CAAC,EACjE,IAAMuQ,EAAiB,CAAC,EACxBH,EAAgB,QAAQ,CAACI,EAAOxQ,IAAY,CAC1C,IAAMW,GAAS,IAAI,IACnB6P,EAAM,QAAQtP,IAAQ,CACpB,IAAMT,GAAQgJ,EAAO,aAAazJ,EAASkB,GAAMmP,CAAY,EAC7D1P,GAAO,IAAIO,GAAMT,EAAK,GAGlB,CAACA,IAASA,GAAM,QAAU,KAC5BT,EAAQwF,EAAY,EAAID,GACxBgL,EAAe,KAAKvQ,CAAO,EAE/B,CAAC,EACDmQ,EAAU,IAAInQ,EAASW,EAAM,CAC/B,CAAC,EAGD,IAAIuC,EAAI,EACR,OAAA+E,EAAS,QAAQjI,GAAWiQ,GAAajQ,EAASsQ,EAAUpN,GAAG,CAAC,CAAC,EAC1DqN,CACT,CAWA,SAAS7E,GAAa+E,EAAO7E,EAAO,CAClC,IAAM8E,EAAU,IAAI,IAEpB,GADAD,EAAM,QAAQ5E,GAAQ6E,EAAQ,IAAI7E,EAAM,CAAC,CAAC,CAAC,EACvCD,EAAM,QAAU,EAAG,OAAO8E,EAC9B,IAAMC,EAAY,EACZC,EAAU,IAAI,IAAIhF,CAAK,EACvBiF,EAAe,IAAI,IACzB,SAASC,EAAQlG,EAAM,CACrB,GAAI,CAACA,EAAM,OAAO+F,EAClB,IAAI9E,EAAOgF,EAAa,IAAIjG,CAAI,EAChC,GAAIiB,EAAM,OAAOA,EACjB,IAAM7C,EAAS4B,EAAK,WACpB,OAAI8F,EAAQ,IAAI1H,CAAM,EAEpB6C,EAAO7C,EACE4H,EAAQ,IAAI5H,CAAM,EAE3B6C,EAAO8E,EAGP9E,EAAOiF,EAAQ9H,CAAM,EAEvB6H,EAAa,IAAIjG,EAAMiB,CAAI,EACpBA,CACT,CACA,OAAAD,EAAM,QAAQhB,GAAQ,CACpB,IAAMiB,EAAOiF,EAAQlG,CAAI,EACrBiB,IAAS8E,GACXD,EAAQ,IAAI7E,CAAI,EAAE,KAAKjB,CAAI,CAE/B,CAAC,EACM8F,CACT,CACA,SAASnK,GAASvG,EAAS8L,EAAW,CACpC9L,EAAQ,WAAW,IAAI8L,CAAS,CAClC,CACA,SAASlE,GAAY5H,EAAS8L,EAAW,CACvC9L,EAAQ,WAAW,OAAO8L,CAAS,CACrC,CACA,SAAS0C,GAA8B3F,EAAQ7I,EAASmE,EAAS,CAC/DE,GAAoBF,CAAO,EAAE,OAAO,IAAM0E,EAAO,iBAAiB7I,CAAO,CAAC,CAC5E,CACA,SAASuP,GAAoBpL,EAAS,CACpC,IAAM4M,EAAe,CAAC,EACtB,OAAAC,GAA0B7M,EAAS4M,CAAY,EACxCA,CACT,CACA,SAASC,GAA0B7M,EAAS4M,EAAc,CACxD,QAAS7N,EAAI,EAAGA,EAAIiB,EAAQ,OAAQjB,IAAK,CACvC,IAAMkB,EAASD,EAAQjB,CAAC,EACpBkB,aAAkB6M,GACpBD,GAA0B5M,EAAO,QAAS2M,CAAY,EAEtDA,EAAa,KAAK3M,CAAM,CAE5B,CACF,CACA,SAASiD,GAAU8B,EAAGC,EAAG,CACvB,IAAM8H,EAAK,OAAO,KAAK/H,CAAC,EAClBgI,EAAK,OAAO,KAAK/H,CAAC,EACxB,GAAI8H,EAAG,QAAUC,EAAG,OAAQ,MAAO,GACnC,QAASjO,EAAI,EAAGA,EAAIgO,EAAG,OAAQhO,IAAK,CAClC,IAAMhC,EAAOgQ,EAAGhO,CAAC,EACjB,GAAI,CAACkG,EAAE,eAAelI,CAAI,GAAKiI,EAAEjI,CAAI,IAAMkI,EAAElI,CAAI,EAAG,MAAO,EAC7D,CACA,MAAO,EACT,CACA,SAASiM,GAAuBnN,EAASoL,EAAqBC,EAAsB,CAClF,IAAM+F,EAAY/F,EAAqB,IAAIrL,CAAO,EAClD,GAAI,CAACoR,EAAW,MAAO,GACvB,IAAIC,EAAWjG,EAAoB,IAAIpL,CAAO,EAC9C,OAAIqR,EACFD,EAAU,QAAQtK,GAAQuK,EAAS,IAAIvK,CAAI,CAAC,EAE5CsE,EAAoB,IAAIpL,EAASoR,CAAS,EAE5C/F,EAAqB,OAAOrL,CAAO,EAC5B,EACT,CACA,IAAMsR,GAAN,KAAsB,CACpB,QACA,YACA,kBACA,gBACA,cAAgB,CAAC,EAEjB,kBAAoB,CAACtR,EAASgI,IAAY,CAAC,EAC3C,YAAYuJ,EAAK3O,EAASnB,EAAa,CACrC,KAAK,QAAUmB,EACf,KAAK,YAAcnB,EACnB,KAAK,kBAAoB,IAAI+H,GAA0B+H,EAAI,KAAM3O,EAASnB,CAAW,EACrF,KAAK,gBAAkB,IAAIiB,GAAwB6O,EAAI,KAAM3O,EAASnB,CAAW,EACjF,KAAK,kBAAkB,kBAAoB,CAACzB,EAASgI,IAAY,KAAK,kBAAkBhI,EAASgI,CAAO,CAC1G,CACA,gBAAgBwJ,EAAa7L,EAAaU,EAAa/E,EAAMwB,EAAU,CACrE,IAAM2O,EAAWD,EAAc,IAAMlQ,EACjC2F,EAAU,KAAK,cAAcwK,CAAQ,EACzC,GAAI,CAACxK,EAAS,CACZ,IAAMnG,EAAS,CAAC,EACViC,EAAW,CAAC,EACZxB,GAAMyB,GAAkB,KAAK,QAASF,EAAUhC,EAAQiC,CAAQ,EACtE,GAAIjC,EAAO,OACT,MAAM4Q,GAAmBpQ,EAAMR,CAAM,EAOvCmG,EAAU5F,GAAaC,EAAMC,GAAK,KAAK,WAAW,EAClD,KAAK,cAAckQ,CAAQ,EAAIxK,CACjC,CACA,KAAK,kBAAkB,gBAAgBtB,EAAarE,EAAM2F,CAAO,CACnE,CACA,SAAStB,EAAaU,EAAa,CACjC,KAAK,kBAAkB,SAASV,EAAaU,CAAW,CAC1D,CACA,QAAQV,EAAaqC,EAAS,CAC5B,KAAK,kBAAkB,QAAQrC,EAAaqC,CAAO,CACrD,CACA,SAASrC,EAAa3F,EAASgJ,EAAQiB,EAAc,CACnD,KAAK,kBAAkB,WAAWtE,EAAa3F,EAASgJ,EAAQiB,CAAY,CAC9E,CACA,SAAStE,EAAa3F,EAASgI,EAAS,CACtC,KAAK,kBAAkB,WAAWrC,EAAa3F,EAASgI,CAAO,CACjE,CACA,kBAAkBhI,EAAS2R,EAAS,CAClC,KAAK,kBAAkB,sBAAsB3R,EAAS2R,CAAO,CAC/D,CACA,QAAQhM,EAAa3F,EAAS4R,EAAUnR,EAAO,CAC7C,GAAImR,EAAS,OAAO,CAAC,GAAK,IAAK,CAC7B,GAAM,CAAC/O,EAAIgP,CAAM,EAAIC,GAAqBF,CAAQ,EAC5C9M,EAAOrE,EACb,KAAK,gBAAgB,QAAQoC,EAAI7C,EAAS6R,EAAQ/M,CAAI,CACxD,MACE,KAAK,kBAAkB,QAAQa,EAAa3F,EAAS4R,EAAUnR,CAAK,CAExE,CACA,OAAOkF,EAAa3F,EAASwE,EAAWuN,EAAYtN,EAAU,CAE5D,GAAID,EAAU,OAAO,CAAC,GAAK,IAAK,CAC9B,GAAM,CAAC3B,EAAIgP,CAAM,EAAIC,GAAqBtN,CAAS,EACnD,OAAO,KAAK,gBAAgB,OAAO3B,EAAI7C,EAAS6R,EAAQpN,CAAQ,CAClE,CACA,OAAO,KAAK,kBAAkB,OAAOkB,EAAa3F,EAASwE,EAAWuN,EAAYtN,CAAQ,CAC5F,CACA,MAAMyE,EAAc,GAAI,CACtB,KAAK,kBAAkB,MAAMA,CAAW,CAC1C,CACA,IAAI,SAAU,CACZ,MAAO,CAAC,GAAG,KAAK,kBAAkB,QAAS,GAAG,KAAK,gBAAgB,OAAO,CAC5E,CACA,mBAAoB,CAClB,OAAO,KAAK,kBAAkB,kBAAkB,CAClD,CACA,yBAAyB8I,EAAI,CAC3B,KAAK,kBAAkB,yBAAyBA,CAAE,CACpD,CACF,EAaA,SAASC,GAA2BjS,EAASW,EAAQ,CACnD,IAAIuR,EAAc,KACdC,EAAY,KAChB,OAAI,MAAM,QAAQxR,CAAM,GAAKA,EAAO,QAClCuR,EAAcE,GAA0BzR,EAAO,CAAC,CAAC,EAC7CA,EAAO,OAAS,IAClBwR,EAAYC,GAA0BzR,EAAOA,EAAO,OAAS,CAAC,CAAC,IAExDA,aAAkB,MAC3BuR,EAAcE,GAA0BzR,CAAM,GAEzCuR,GAAeC,EAAY,IAAIE,GAAmBrS,EAASkS,EAAaC,CAAS,EAAI,IAC9F,CASA,IAAIE,IAAmC,IAAM,CAC3C,MAAMA,CAAmB,CACvB,SACA,aACA,WACA,OAAO,uBAAwC,IAAI,QACnD,OAAS,EACT,eACA,YAAYC,EAAUC,EAAcC,EAAY,CAC9C,KAAK,SAAWF,EAChB,KAAK,aAAeC,EACpB,KAAK,WAAaC,EAClB,IAAIC,EAAgBJ,EAAmB,uBAAuB,IAAIC,CAAQ,EACrEG,GACHJ,EAAmB,uBAAuB,IAAIC,EAAUG,EAAgB,IAAI,GAAK,EAEnF,KAAK,eAAiBA,CACxB,CACA,OAAQ,CACF,KAAK,OAAS,IACZ,KAAK,cACPhL,GAAU,KAAK,SAAU,KAAK,aAAc,KAAK,cAAc,EAEjE,KAAK,OAAS,EAElB,CACA,QAAS,CACP,KAAK,MAAM,EACP,KAAK,OAAS,IAChBA,GAAU,KAAK,SAAU,KAAK,cAAc,EACxC,KAAK,aACPA,GAAU,KAAK,SAAU,KAAK,UAAU,EACxC,KAAK,WAAa,MAEpB,KAAK,OAAS,EAElB,CACA,SAAU,CACR,KAAK,OAAO,EACR,KAAK,OAAS,IAChB4K,EAAmB,uBAAuB,OAAO,KAAK,QAAQ,EAC1D,KAAK,eACP7K,GAAY,KAAK,SAAU,KAAK,YAAY,EAC5C,KAAK,WAAa,MAEhB,KAAK,aACPA,GAAY,KAAK,SAAU,KAAK,UAAU,EAC1C,KAAK,WAAa,MAEpBC,GAAU,KAAK,SAAU,KAAK,cAAc,EAC5C,KAAK,OAAS,EAElB,CACF,CACA,OAAO4K,CACT,GAAG,EACH,SAASD,GAA0BzR,EAAQ,CACzC,IAAIL,EAAS,KACb,OAAAK,EAAO,QAAQ,CAACM,EAAKC,IAAS,CACxBwR,GAAqBxR,CAAI,IAC3BZ,EAASA,GAAU,IAAI,IACvBA,EAAO,IAAIY,EAAMD,CAAG,EAExB,CAAC,EACMX,CACT,CACA,SAASoS,GAAqBxR,EAAM,CAClC,OAAOA,IAAS,WAAaA,IAAS,UACxC,CACA,IAAMyR,GAAN,KAA0B,CACxB,QACA,UACA,QACA,eACA,WAAa,CAAC,EACd,YAAc,CAAC,EACf,cAAgB,CAAC,EACjB,UACA,OACA,aAAe,GACf,UAAY,GACZ,SAAW,GACX,WAAa,GACb,eAIA,mBAAqB,CAAC,EACtB,oBAAsB,CAAC,EAEvB,UACA,KAAO,EACP,aAAe,KACf,gBAA+B,IAAI,IACnC,YAAY3S,EAASqD,EAAWE,EAASqP,EAAgB,CACvD,KAAK,QAAU5S,EACf,KAAK,UAAYqD,EACjB,KAAK,QAAUE,EACf,KAAK,eAAiBqP,EACtB,KAAK,UAAYrP,EAAQ,SACzB,KAAK,OAASA,EAAQ,OAAY,EAClC,KAAK,KAAO,KAAK,UAAY,KAAK,MACpC,CACA,WAAY,CACL,KAAK,YACR,KAAK,UAAY,GACjB,KAAK,WAAW,QAAQrD,GAAMA,EAAG,CAAC,EAClC,KAAK,WAAa,CAAC,EAEvB,CACA,MAAO,CACL,KAAK,aAAa,EAClB,KAAK,0BAA0B,CACjC,CACA,cAAe,CACb,GAAI,KAAK,aAAc,OACvB,KAAK,aAAe,GACpB,IAAMmD,EAAY,KAAK,UAEvB,KAAK,UAAY,KAAK,qBAAqB,KAAK,QAASA,EAAW,KAAK,OAAO,EAChF,KAAK,eAAiBA,EAAU,OAASA,EAAUA,EAAU,OAAS,CAAC,EAAI,IAAI,IAC/E,IAAMwP,EAAW,IAAM,KAAK,UAAU,EACtC,KAAK,UAAU,iBAAiB,SAAUA,CAAQ,EAClD,KAAK,UAAU,IAAM,CAInB,KAAK,UAAU,oBAAoB,SAAUA,CAAQ,CACvD,CAAC,CACH,CACA,2BAA4B,CAEtB,KAAK,OACP,KAAK,qBAAqB,EAE1B,KAAK,UAAU,MAAM,CAEzB,CACA,0BAA0BxP,EAAW,CACnC,IAAMyP,EAAM,CAAC,EACb,OAAAzP,EAAU,QAAQ0P,GAAS,CACzBD,EAAI,KAAK,OAAO,YAAYC,CAAK,CAAC,CACpC,CAAC,EACMD,CACT,CAEA,qBAAqB9S,EAASqD,EAAWE,EAAS,CAChD,OAAOvD,EAAQ,QAAQ,KAAK,0BAA0BqD,CAAS,EAAGE,CAAO,CAC3E,CACA,QAAQrD,EAAI,CACV,KAAK,oBAAoB,KAAKA,CAAE,EAChC,KAAK,YAAY,KAAKA,CAAE,CAC1B,CACA,OAAOA,EAAI,CACT,KAAK,mBAAmB,KAAKA,CAAE,EAC/B,KAAK,WAAW,KAAKA,CAAE,CACzB,CACA,UAAUA,EAAI,CACZ,KAAK,cAAc,KAAKA,CAAE,CAC5B,CACA,MAAO,CACL,KAAK,aAAa,EACb,KAAK,WAAW,IACnB,KAAK,YAAY,QAAQA,GAAMA,EAAG,CAAC,EACnC,KAAK,YAAc,CAAC,EACpB,KAAK,SAAW,GACZ,KAAK,gBACP,KAAK,eAAe,MAAM,GAG9B,KAAK,UAAU,KAAK,CACtB,CACA,OAAQ,CACN,KAAK,KAAK,EACV,KAAK,UAAU,MAAM,CACvB,CACA,QAAS,CACP,KAAK,KAAK,EACN,KAAK,gBACP,KAAK,eAAe,OAAO,EAE7B,KAAK,UAAU,EACf,KAAK,UAAU,OAAO,CACxB,CACA,OAAQ,CACN,KAAK,qBAAqB,EAC1B,KAAK,WAAa,GAClB,KAAK,UAAY,GACjB,KAAK,SAAW,GAChB,KAAK,YAAc,KAAK,oBACxB,KAAK,WAAa,KAAK,kBACzB,CACA,sBAAuB,CACjB,KAAK,WACP,KAAK,UAAU,OAAO,CAE1B,CACA,SAAU,CACR,KAAK,MAAM,EACX,KAAK,KAAK,CACZ,CACA,YAAa,CACX,OAAO,KAAK,QACd,CACA,SAAU,CACH,KAAK,aACR,KAAK,WAAa,GAClB,KAAK,qBAAqB,EAC1B,KAAK,UAAU,EACX,KAAK,gBACP,KAAK,eAAe,QAAQ,EAE9B,KAAK,cAAc,QAAQA,GAAMA,EAAG,CAAC,EACrC,KAAK,cAAgB,CAAC,EAE1B,CACA,YAAYqJ,EAAG,CACT,KAAK,YAAc,QACrB,KAAK,KAAK,EAEZ,KAAK,UAAU,YAAcA,EAAI,KAAK,IACxC,CACA,aAAc,CAEZ,MAAO,EAAE,KAAK,UAAU,aAAe,GAAK,KAAK,IACnD,CACA,IAAI,WAAY,CACd,OAAO,KAAK,OAAS,KAAK,SAC5B,CACA,eAAgB,CACd,IAAM5I,EAAS,IAAI,IACf,KAAK,WAAW,GAII,KAAK,eACb,QAAQ,CAACM,EAAKC,IAAS,CAC/BA,IAAS,UACXP,EAAO,IAAIO,EAAM,KAAK,UAAYD,EAAM+R,GAAa,KAAK,QAAS9R,CAAI,CAAC,CAE5E,CAAC,EAEH,KAAK,gBAAkBP,CACzB,CAEA,gBAAgBmP,EAAW,CACzB,IAAMmD,EAAUnD,IAAc,QAAU,KAAK,YAAc,KAAK,WAChEmD,EAAQ,QAAQ/S,GAAMA,EAAG,CAAC,EAC1B+S,EAAQ,OAAS,CACnB,CACF,EACMC,GAAN,KAA0B,CACxB,sBAAsBhS,EAAM,CAK1B,MAAO,EACT,CACA,gCAAgCA,EAAM,CAMpC,MAAO,EACT,CACA,gBAAgBiS,EAAMC,EAAM,CAC1B,OAAOC,GAAgBF,EAAMC,CAAI,CACnC,CACA,iBAAiBpT,EAAS,CACxB,OAAOsT,GAAiBtT,CAAO,CACjC,CACA,MAAMA,EAASuT,EAAUC,EAAO,CAC9B,OAAOC,GAAYzT,EAASuT,EAAUC,CAAK,CAC7C,CACA,aAAaxT,EAASkB,EAAMwS,EAAc,CACxC,OAAOV,GAAahT,EAASkB,CAAI,CACnC,CACA,QAAQlB,EAASqD,EAAWsQ,EAAUC,EAAOC,EAAQvE,EAAkB,CAAC,EAAG,CACzE,IAAMwE,EAAOF,GAAS,EAAI,OAAS,WAC7BG,EAAgB,CACpB,SAAAJ,EACA,MAAAC,EACA,KAAAE,CACF,EAGID,IACFE,EAAc,OAAYF,GAE5B,IAAMG,EAAiB,IAAI,IACrBC,GAA8B3E,EAAgB,OAAOlL,IAAUA,cAAkBuO,EAAmB,EACtGuB,GAA+BP,EAAUC,CAAK,GAChDK,GAA4B,QAAQ7P,IAAU,CAC5CA,GAAO,gBAAgB,QAAQ,CAACnD,GAAKC,KAAS8S,EAAe,IAAI9S,GAAMD,EAAG,CAAC,CAC7E,CAAC,EAEH,IAAIkT,GAAaC,GAAmB/Q,CAAS,EAAE,IAAI1C,IAAU,IAAI,IAAIA,EAAM,CAAC,EAC5EwT,GAAaE,GAAmCrU,EAASmU,GAAYH,CAAc,EACnF,IAAMM,GAAgBrC,GAA2BjS,EAASmU,EAAU,EACpE,OAAO,IAAIxB,GAAoB3S,EAASmU,GAAYJ,EAAeO,EAAa,CAClF,CACF,EAsCA,IAAMC,GAAmB,IACnBC,GAA0B,aAC1BC,GAAN,KAA4B,CAC1B,YACA,SACA,OACA,WAGA,WAAQ,EACR,YAAYC,EAAaC,EAAUC,EAAQC,EAAY,CACrD,KAAK,YAAcH,EACnB,KAAK,SAAWC,EAChB,KAAK,OAASC,EACd,KAAK,WAAaC,CACpB,CACA,IAAI,MAAO,CACT,OAAO,KAAK,SAAS,IACvB,CACA,YAAYC,EAAM,CAChB,KAAK,SAAS,cAAcA,CAAI,CAClC,CACA,SAAU,CACR,KAAK,OAAO,QAAQ,KAAK,YAAa,KAAK,QAAQ,EACnD,KAAK,OAAO,yBAAyB,IAAM,CAGzC,eAAe,IAAM,CACnB,KAAK,SAAS,QAAQ,CACxB,CAAC,CACH,CAAC,EACD,KAAK,aAAa,CACpB,CACA,cAAcC,EAAMC,EAAW,CAC7B,OAAO,KAAK,SAAS,cAAcD,EAAMC,CAAS,CACpD,CACA,cAAcC,EAAO,CACnB,OAAO,KAAK,SAAS,cAAcA,CAAK,CAC1C,CACA,WAAWA,EAAO,CAChB,OAAO,KAAK,SAAS,WAAWA,CAAK,CACvC,CACA,YAAYC,EAAQC,EAAU,CAC5B,KAAK,SAAS,YAAYD,EAAQC,CAAQ,EAC1C,KAAK,OAAO,SAAS,KAAK,YAAaA,EAAUD,EAAQ,EAAK,CAChE,CACA,aAAaA,EAAQC,EAAUC,EAAUC,EAAS,GAAM,CACtD,KAAK,SAAS,aAAaH,EAAQC,EAAUC,CAAQ,EAErD,KAAK,OAAO,SAAS,KAAK,YAAaD,EAAUD,EAAQG,CAAM,CACjE,CACA,YAAYH,EAAQI,EAAUC,EAAe,CAKvC,KAAK,WAAWD,CAAQ,GAC1B,KAAK,OAAO,SAAS,KAAK,YAAaA,EAAU,KAAK,QAAQ,CAElE,CACA,kBAAkBE,EAAgBC,EAAiB,CACjD,OAAO,KAAK,SAAS,kBAAkBD,EAAgBC,CAAe,CACxE,CACA,WAAWX,EAAM,CACf,OAAO,KAAK,SAAS,WAAWA,CAAI,CACtC,CACA,YAAYA,EAAM,CAChB,OAAO,KAAK,SAAS,YAAYA,CAAI,CACvC,CACA,aAAaY,EAAIX,EAAME,EAAOD,EAAW,CACvC,KAAK,SAAS,aAAaU,EAAIX,EAAME,EAAOD,CAAS,CACvD,CACA,gBAAgBU,EAAIX,EAAMC,EAAW,CACnC,KAAK,SAAS,gBAAgBU,EAAIX,EAAMC,CAAS,CACnD,CACA,SAASU,EAAIX,EAAM,CACjB,KAAK,SAAS,SAASW,EAAIX,CAAI,CACjC,CACA,YAAYW,EAAIX,EAAM,CACpB,KAAK,SAAS,YAAYW,EAAIX,CAAI,CACpC,CACA,SAASW,EAAIC,EAAOV,EAAOW,EAAO,CAChC,KAAK,SAAS,SAASF,EAAIC,EAAOV,EAAOW,CAAK,CAChD,CACA,YAAYF,EAAIC,EAAOC,EAAO,CAC5B,KAAK,SAAS,YAAYF,EAAIC,EAAOC,CAAK,CAC5C,CACA,YAAYF,EAAIX,EAAME,EAAO,CACvBF,EAAK,OAAO,CAAC,GAAKR,IAAoBQ,GAAQP,GAChD,KAAK,kBAAkBkB,EAAI,CAAC,CAACT,CAAK,EAElC,KAAK,SAAS,YAAYS,EAAIX,EAAME,CAAK,CAE7C,CACA,SAASH,EAAMG,EAAO,CACpB,KAAK,SAAS,SAASH,EAAMG,CAAK,CACpC,CACA,OAAOY,EAAQC,EAAWC,EAAUC,EAAS,CAC3C,OAAO,KAAK,SAAS,OAAOH,EAAQC,EAAWC,EAAUC,CAAO,CAClE,CACA,kBAAkBC,EAAShB,EAAO,CAChC,KAAK,OAAO,kBAAkBgB,EAAShB,CAAK,CAC9C,CACF,EACMiB,GAAN,cAAgCzB,EAAsB,CACpD,QACA,YAAY0B,EAASzB,EAAaC,EAAUC,EAAQwB,EAAW,CAC7D,MAAM1B,EAAaC,EAAUC,EAAQwB,CAAS,EAC9C,KAAK,QAAUD,EACf,KAAK,YAAczB,CACrB,CACA,YAAYgB,EAAIX,EAAME,EAAO,CACvBF,EAAK,OAAO,CAAC,GAAKR,GAChBQ,EAAK,OAAO,CAAC,GAAK,KAAOA,GAAQP,IACnCS,EAAQA,IAAU,OAAY,GAAO,CAAC,CAACA,EACvC,KAAK,kBAAkBS,EAAIT,CAAK,GAEhC,KAAK,OAAO,QAAQ,KAAK,YAAaS,EAAIX,EAAK,MAAM,CAAC,EAAGE,CAAK,EAGhE,KAAK,SAAS,YAAYS,EAAIX,EAAME,CAAK,CAE7C,CACA,OAAOY,EAAQC,EAAWC,EAAUC,EAAS,CAC3C,GAAIF,EAAU,OAAO,CAAC,GAAKvB,GAAkB,CAC3C,IAAM0B,EAAUI,GAAyBR,CAAM,EAC3Cd,EAAOe,EAAU,MAAM,CAAC,EACxBQ,EAAQ,GAGZ,OAAIvB,EAAK,OAAO,CAAC,GAAKR,KACpB,CAACQ,EAAMuB,CAAK,EAAIC,GAAyBxB,CAAI,GAExC,KAAK,OAAO,OAAO,KAAK,YAAakB,EAASlB,EAAMuB,EAAOE,GAAS,CACzE,IAAMC,EAAUD,EAAM,OAAY,GAClC,KAAK,QAAQ,yBAAyBC,EAASV,EAAUS,CAAK,CAChE,CAAC,CACH,CACA,OAAO,KAAK,SAAS,OAAOX,EAAQC,EAAWC,EAAUC,CAAO,CAClE,CACF,EACA,SAASK,GAAyBR,EAAQ,CACxC,OAAQA,EAAQ,CACd,IAAK,OACH,OAAO,SAAS,KAClB,IAAK,WACH,OAAO,SACT,IAAK,SACH,OAAO,OACT,QACE,OAAOA,CACX,CACF,CACA,SAASU,GAAyBG,EAAa,CAC7C,IAAMC,EAAWD,EAAY,QAAQ,GAAG,EAClCE,EAAUF,EAAY,UAAU,EAAGC,CAAQ,EAC3CL,EAAQI,EAAY,MAAMC,EAAW,CAAC,EAC5C,MAAO,CAACC,EAASN,CAAK,CACxB,CACA,IAAMO,GAAN,KAA+B,CAC7B,SACA,OACA,MACA,WAAa,EACb,aAAe,EACf,0BAA4B,CAAC,EAC7B,eAA8B,IAAI,IAClC,cAAgB,EAChB,YAAYlC,EAAUC,EAAQkC,EAAO,CACnC,KAAK,SAAWnC,EAChB,KAAK,OAASC,EACd,KAAK,MAAQkC,EACblC,EAAO,kBAAoB,CAACqB,EAAStB,IAAa,CAChDA,GAAU,YAAY,KAAMsB,CAAO,CACrC,CACF,CACA,eAAec,EAAaC,EAAM,CAChC,IAAMC,EAAqB,GAGrBtC,EAAW,KAAK,SAAS,eAAeoC,EAAaC,CAAI,EAC/D,GAAI,CAACD,GAAe,CAACC,GAAM,MAAO,UAAc,CAC9C,IAAME,EAAQ,KAAK,eACfC,GAAWD,EAAM,IAAIvC,CAAQ,EACjC,GAAI,CAACwC,GAAU,CAGb,IAAMC,GAAoB,IAAMF,EAAM,OAAOvC,CAAQ,EACrDwC,GAAW,IAAI1C,GAAsBwC,EAAoBtC,EAAU,KAAK,OAAQyC,EAAiB,EAEjGF,EAAM,IAAIvC,EAAUwC,EAAQ,CAC9B,CACA,OAAOA,EACT,CACA,IAAME,EAAcL,EAAK,GACnBtC,EAAcsC,EAAK,GAAK,IAAM,KAAK,WACzC,KAAK,aACL,KAAK,OAAO,SAAStC,EAAaqC,CAAW,EAC7C,IAAMO,EAAkBV,GAAW,CAC7B,MAAM,QAAQA,CAAO,EACvBA,EAAQ,QAAQU,CAAe,EAE/B,KAAK,OAAO,gBAAgBD,EAAa3C,EAAaqC,EAAaH,EAAQ,KAAMA,CAAO,CAE5F,EAEA,OAD0BI,EAAK,KAAK,UAClB,QAAQM,CAAe,EAClC,IAAIpB,GAAkB,KAAMxB,EAAaC,EAAU,KAAK,MAAM,CACvE,CACA,OAAQ,CACN,KAAK,gBACD,KAAK,SAAS,OAChB,KAAK,SAAS,MAAM,CAExB,CACA,oBAAqB,CACnB,eAAe,IAAM,CACnB,KAAK,cACP,CAAC,CACH,CAEA,yBAAyB4C,EAAOC,EAAIC,EAAM,CACxC,GAAIF,GAAS,GAAKA,EAAQ,KAAK,aAAc,CAC3C,KAAK,MAAM,IAAI,IAAMC,EAAGC,CAAI,CAAC,EAC7B,MACF,CACA,IAAMC,EAA2B,KAAK,0BAClCA,EAAyB,QAAU,GACrC,eAAe,IAAM,CACnB,KAAK,MAAM,IAAI,IAAM,CACnBA,EAAyB,QAAQC,GAAS,CACxC,GAAM,CAACH,EAAIC,CAAI,EAAIE,EACnBH,EAAGC,CAAI,CACT,CAAC,EACD,KAAK,0BAA4B,CAAC,CACpC,CAAC,CACH,CAAC,EAEHC,EAAyB,KAAK,CAACF,EAAIC,CAAI,CAAC,CAC1C,CACA,KAAM,CACJ,KAAK,gBAGD,KAAK,eAAiB,GACxB,KAAK,MAAM,kBAAkB,IAAM,CACjC,KAAK,mBAAmB,EACxB,KAAK,OAAO,MAAM,KAAK,YAAY,CACrC,CAAC,EAEC,KAAK,SAAS,KAChB,KAAK,SAAS,IAAI,CAEtB,CACA,mBAAoB,CAClB,OAAO,KAAK,OAAO,kBAAkB,CACvC,CAKA,kBAAkBJ,EAAa,CAE7B,KAAK,OAAO,MAAM,EAClB,KAAK,SAAS,oBAAoBA,CAAW,CAC/C,CACF,EC56IA,IAAIO,IAA0C,IAAM,CAClD,MAAMA,UAAkCC,EAAiB,CAIvD,YAAYC,EAAKC,EAAQC,EAAY,CACnC,MAAMF,EAAKC,EAAQC,CAAU,CAC/B,CACA,aAAc,CACZ,KAAK,MAAM,CACb,CACA,OAAO,UAAO,SAA2CC,EAAmB,CAC1E,OAAO,IAAKA,GAAqBL,GAA8BM,EAASC,EAAQ,EAAMD,EAAYE,EAAe,EAAMF,EAAYG,EAAyB,CAAC,CAC/J,EACA,OAAO,WAA0BC,EAAmB,CAClD,MAAOV,EACP,QAASA,EAA0B,SACrC,CAAC,CACH,CACA,OAAOA,CACT,GAAG,EAIH,SAASW,IAAoC,CAC3C,OAAO,IAAIC,EACb,CACA,SAASC,GAA2BC,EAAUC,EAAQC,EAAM,CAC1D,OAAO,IAAIC,GAA0BH,EAAUC,EAAQC,CAAI,CAC7D,CACA,IAAME,GAA6B,CAAC,CAClC,QAAST,GACT,WAAYE,EACd,EAAG,CACD,QAASV,GACT,SAAUD,EACZ,EAAG,CACD,QAASmB,GACT,WAAYN,GACZ,KAAM,CAACO,GAAsBnB,GAAkBoB,EAAM,CACvD,CAAC,EAKKC,GAA+B,CAAC,CACpC,QAASd,GACT,WAAY,IAAM,IAAIe,EACxB,EAAG,CACD,QAASC,GACT,SAAU,mBACZ,EAAG,GAAGN,EAA0B,EAK1BO,GAAoC,CAAC,CACzC,QAASjB,GACT,SAAUkB,EACZ,EAAG,CACD,QAASF,GACT,SAAU,gBACZ,EAAG,GAAGN,EAA0B,EAO5BS,IAAwC,IAAM,CAChD,MAAMA,CAAwB,CAiB5B,OAAO,WAAWC,EAAQ,CACxB,MAAO,CACL,SAAUD,EACV,UAAWC,EAAO,kBAAoBH,GAAoCH,EAC5E,CACF,CACA,OAAO,UAAO,SAAyCjB,EAAmB,CACxE,OAAO,IAAKA,GAAqBsB,EACnC,EACA,OAAO,UAAyBE,GAAiB,CAC/C,KAAMF,CACR,CAAC,EACD,OAAO,UAAyBG,GAAiB,CAC/C,UAAWR,GACX,QAAS,CAACS,EAAa,CACzB,CAAC,CACH,CACA,OAAOJ,CACT,GAAG,ECvFH,IAAAK,GAAoB,SCpBpB,IAAAC,GAAgC,SAX5BC,GAAwC,SAAUC,EAAYC,EAAQC,EAAKC,EAAM,CACnF,IAAIC,EAAI,UAAU,OAChBC,EAAID,EAAI,EAAIH,EAASE,IAAS,KAAOA,EAAO,OAAO,yBAAyBF,EAAQC,CAAG,EAAIC,EAC3FG,EACF,GAAI,OAAO,SAAY,UAAY,OAAO,QAAQ,UAAa,WAAYD,EAAI,QAAQ,SAASL,EAAYC,EAAQC,EAAKC,CAAI,MAAO,SAASI,EAAIP,EAAW,OAAS,EAAGO,GAAK,EAAGA,KAASD,EAAIN,EAAWO,CAAC,KAAGF,GAAKD,EAAI,EAAIE,EAAED,CAAC,EAAID,EAAI,EAAIE,EAAEL,EAAQC,EAAKG,CAAC,EAAIC,EAAEL,EAAQC,CAAG,IAAMG,GAC/Q,OAAOD,EAAI,GAAKC,GAAK,OAAO,eAAeJ,EAAQC,EAAKG,CAAC,EAAGA,CAC9D,EACIG,GAAwC,SAAUC,EAAGC,EAAG,CAC1D,GAAI,OAAO,SAAY,UAAY,OAAO,QAAQ,UAAa,WAAY,OAAO,QAAQ,SAASD,EAAGC,CAAC,CACzG,EAKMC,GAAkB,OAAO,KAAS,KAAe,CAAC,CAAC,KAAK,QAC1DC,GAAsB,cAAkCC,EAAa,CACvE,YAAYC,EAAQ,CAClB,MAAM,EACFA,EACF,KAAK,cAAgBA,EAErB,KAAK,cAAgB,GAAAC,QAAQ,OAEjC,CACA,YAAYC,EAAO,CACjB,IAAMC,EAAe,CACnB,SAAU,QACV,eAAgB,CACd,KAAM,oBACR,EACA,UAAW,EACb,EACMC,EAAQ,KAAK,cAAc,MAAM,OAAOF,EAAO,GAAMC,EAAc,wBAAyB,CAAC,EAC/FD,EAAM,gBACRE,EAAM,YAAY,UAAW,CAC3B,UAAWF,EAAM,eAAe,UAChC,QAASA,EAAM,eAAe,OAChC,CAAC,EAEH,KAAK,cAAc,QAAQE,CAAK,EAChCL,GAAa,UAAU,YAAY,KAAK,KAAMG,CAAK,CACrD,CACF,EACAJ,GAAsBb,GAAW,CAACoB,GAAW,EAAGX,GAAW,oBAAqB,CAAC,SAAM,CAAC,CAAC,EAAGI,EAAmB,EClC/G,IAAMQ,GAAN,KAAgB,CACd,YAAYC,EAAQC,EAAS,CAC3B,KAAK,OAASD,EACVA,EAAO,YACTA,EAAO,WAAWC,CAAO,CAE7B,CAKA,UAAUC,EAAI,CACZ,KAAK,IAAM,KAAK,OAAO,YAAY,UAAUA,CAAE,CACjD,CAIA,aAAc,CACZ,KAAK,IAAI,YAAY,EACrB,KAAK,IAAM,IACb,CAIA,QAAS,CACP,KAAK,OAAO,OAAO,CACrB,CAIA,OAAQ,CACN,KAAK,OAAO,OAAO,CACrB,CACF,EAKMC,GAAN,KAAiB,CACf,aAAc,CACZ,KAAK,QAAU,IAAI,KACnB,KAAK,YAAc,EACrB,CAMA,GAAGC,EAAO,CACR,GAAIA,IAAU,OAAQ,CACpB,GAAI,CAACA,EACH,MAAM,IAAI,MAAM,uCAAuC,EAEzD,KAAK,QAAUA,CACjB,CACA,OAAO,KAAK,OACd,CAMA,OAAOA,EAAO,CACZ,OAAIA,IAAU,SACZ,KAAK,YAAcA,GAEd,KAAK,WACd,CAKA,KAAM,CAEJ,OAAO,IAAI,IACb,CAKA,WAAY,CACV,IAAMC,EAAS,KAAK,KAAK,EACzB,OAAOA,GAAU,MAAQA,GAAU,KAAK,IAAI,CAC9C,CACF,EAOMC,GAAN,KAAyB,CACvB,aAAc,CACZ,KAAK,WAAa,CAAC,CACrB,CAIA,IAAI,QAAS,CACX,OAAO,OAAO,KAAK,KAAK,UAAU,EAAE,MACtC,CAIA,OAAQ,CACN,KAAK,WAAa,CAAC,CACrB,CAOA,QAAQC,EAAK,CACX,OAAI,OAAO,KAAK,WAAWA,CAAG,EAAM,IAC3B,KAAK,WAAWA,CAAG,EAErB,IACT,CAOA,IAAIC,EAAO,CACT,OAAO,OAAO,KAAK,KAAK,UAAU,EAAEA,CAAK,GAAK,IAChD,CAMA,WAAWD,EAAK,CACd,KAAK,WAAWA,CAAG,EAAI,MACzB,CAOA,QAAQA,EAAKH,EAAO,CAClB,KAAK,WAAWG,CAAG,EAAIH,CACzB,CACF,EAKIK,IAA6B,IAAM,CACrC,MAAMA,CAAa,CACjB,aAAc,CACZ,KAAK,QAAU,KAAK,WAAW,CACjC,CAOA,YAAa,CACX,GAAI,CACF,IAAMC,EAAU,aAChB,OAAAA,EAAQ,QAAQ,iBAAkB,EAAE,EACpCA,EAAQ,WAAW,gBAAgB,EAC5BA,CACT,MAAc,CACZ,OAAO,IAAIJ,EACb,CACF,CAOA,QAAQC,EAAK,CACX,OAAO,KAAK,QAAQ,QAAQ,WAAaA,CAAG,CAC9C,CAMA,WAAWA,EAAK,CACd,KAAK,QAAQ,WAAW,WAAaA,CAAG,CAC1C,CAOA,QAAQA,EAAKI,EAAM,CACjB,KAAK,QAAQ,QAAQ,WAAaJ,EAAKI,CAAI,CAC7C,CAOA,UAAW,CACT,OAAO,KAAK,OACd,CACF,CACA,OAAAF,EAAa,UAAO,SAA8BG,EAAmB,CACnE,OAAO,IAAKA,GAAqBH,EACnC,EACAA,EAAa,WAA0BI,EAAmB,CACxD,MAAOJ,EACP,QAASA,EAAa,SACxB,CAAC,EACMA,CACT,GAAG,EASCK,IAAmC,IAAM,CAC3C,MAAMA,UAA2BX,EAAW,CAC1C,YAAYY,EAAc,CACxB,MAAM,EACN,KAAK,aAAeA,EACpB,KAAK,SAAW,MAClB,CAOA,KAAKX,EAAO,CACV,OAAIA,IAAU,QACZ,KAAK,UAAUA,CAAK,EAEf,KAAK,UAAU,CACxB,CACA,OAAOA,EAAO,CACZ,OAAIA,IAAU,QACZ,KAAK,UAAUA,CAAK,EAEf,KAAK,UAAU,CACxB,CAKA,aAAc,CACZ,OAAO,KAAK,QACd,CAKA,YAAYG,EAAK,CACXA,IACF,KAAK,SAAWA,EAEpB,CACA,WAAY,CACV,IAAMF,EAAS,KAAK,aAAa,QAAQ,KAAK,SAAW,SAAS,EAClE,OAAIA,EACK,IAAI,KAAK,SAASA,EAAQ,EAAE,CAAC,EAE7B,IAEX,CACA,UAAUD,EAAO,CACXA,EACF,KAAK,aAAa,QAAQ,KAAK,SAAW,UAAWA,EAAM,QAAQ,EAAE,SAAS,CAAC,EAE/E,KAAK,aAAa,WAAW,KAAK,SAAW,SAAS,CAE1D,CACA,WAAY,CACV,IAAMY,EAAS,KAAK,aAAa,QAAQ,KAAK,SAAW,SAAS,EAClE,OAAIA,EACKA,IAAW,OAEX,EAEX,CACA,UAAUZ,EAAO,CACXA,EACF,KAAK,aAAa,QAAQ,KAAK,SAAW,UAAWA,EAAM,SAAS,CAAC,EAErE,KAAK,aAAa,QAAQ,KAAK,SAAW,UAAW,OAAO,CAEhE,CACF,CACA,OAAAU,EAAmB,UAAO,SAAoCF,EAAmB,CAC/E,OAAO,IAAKA,GAAqBE,GAAuBG,EAASR,EAAY,CAAC,CAChF,EACAK,EAAmB,WAA0BD,EAAmB,CAC9D,MAAOC,EACP,QAASA,EAAmB,SAC9B,CAAC,EACMA,CACT,GAAG,EAIGI,GAAN,KAAmB,CAAC,EAKhBC,GAA0B,SAAUA,EAAY,CAIlD,OAAAA,EAAWA,EAAW,SAAc,CAAC,EAAI,WAIzCA,EAAWA,EAAW,KAAU,CAAC,EAAI,OAIrCA,EAAWA,EAAW,QAAa,CAAC,EAAI,UACjCA,CACT,EAAEA,IAAc,CAAC,CAAC,EAIdC,IAAqB,IAAM,CAC7B,MAAMA,CAAK,CACT,YAAYf,EAAQgB,EAAMC,EAE1BC,EAAY,CACV,KAAK,OAASlB,EACd,KAAK,KAAOgB,EACZ,KAAK,WAAaE,EAClB,KAAK,KAAO,GAAK,GACjB,KAAK,WAAa,GAClB,KAAK,WAAaJ,GAAW,KAC7B,KAAK,WAAa,IAAI,MACtB,KAAK,QAAU,GACf,KAAK,iBAAmB,GACxB,KAAK,YAAc,IAAIK,GACvB,KAAK,UAAY,IAAIA,GACrB,KAAK,iBAAmB,IAAIA,GAC5B,KAAK,UAAY,IAAIA,GACrB,KAAK,YAAc,IAAIA,GACnBF,IACF,KAAK,aAAeA,EACpB,KAAK,iBAAmB,IAE1B,KAAK,UAAU,EAAK,CACtB,CAMA,YAAYf,EAAK,CACf,GAAI,KAAK,kBAAkBO,GACzB,KAAK,OAAO,YAAYP,CAAG,MAE3B,OAAM,IAAI,MAAM,6EAA6E,CAEjG,CAKA,qBAAsB,CACpB,OAAO,KAAK,gBACd,CAMA,oBAAoBH,EAAO,CACzB,GAAI,CAAC,KAAK,aACR,MAAM,IAAI,MAAM,gFAAgF,EAElG,OAAO,KAAK,iBAAmBA,CACjC,CAKA,YAAa,CACX,OAAO,KAAK,UACd,CAMA,WAAWqB,EAAS,CAClB,GAAIA,IAAY,GACd,KAAK,WAAa,UACT,OAAOA,GAAY,UAAYA,GAAW,EACnD,KAAK,WAAaA,MAElB,OAAM,IAAI,MAAM,qDAAqD,EAEvE,OAAO,KAAK,UACd,CAKA,SAAU,CACR,OAAO,KAAK,IACd,CAMA,QAAQA,EAAS,CACf,GAAIA,GAAW,EACb,MAAM,IAAI,MAAM,gCAAgC,EAElD,OAAO,KAAK,KAAOA,CACrB,CAKA,eAAgB,CACd,OAAO,KAAK,UACd,CACA,cAAcrB,EAAO,CACnB,OAAO,KAAK,WAAaA,CAC3B,CAMA,cAAcsB,EAAS,CACrB,KAAK,gBAAgB,EACrB,IAAMC,EAAO,KACb,QAAW3B,KAAU0B,EAAS,CAC5B,IAAMzB,EAAU,CACd,WAAY,KAAK,UACnB,EACM2B,EAAM,IAAI7B,GAAUC,EAAQC,CAAO,EACzC2B,EAAI,UAAUC,GAAQ,CACpBF,EAAK,UAAUE,EAAK,MAAOA,EAAK,SAAS,CAC3C,CAAC,EACD,KAAK,WAAW,KAAKD,CAAG,CAC1B,CACA,OAAO,KAAK,UACd,CAKA,eAAgB,CACd,OAAO,KAAK,UACd,CAIA,iBAAkB,CAChB,QAAWA,KAAO,KAAK,WACrBA,EAAI,MAAM,EACVA,EAAI,YAAY,EAElB,KAAK,WAAW,OAAS,CAC3B,CAKA,WAAY,CACV,OAAO,KAAK,OACd,CAKA,UAAW,CACT,OAAO,KAAK,MACd,CAIA,MAAME,EAAY,CAChB,KAAK,kBAAkB,YAAY,EACnC,KAAK,kBAAkB,eAAe,EACtC,IAAMC,EAAW,KAAK,WAAiB,KAAK,WAAT,EACnC,GAAI,CAACD,EAAY,CACf,IAAM1B,EAAQ,IAAI,KAAK,KAAK,OAAO,IAAI,EAAE,QAAQ,GAAK,KAAK,KAAO2B,GAAW,GAAI,EACjF,KAAK,OAAO,KAAK3B,CAAK,CACxB,CACI,KAAK,QACP,KAAK,YAAY,EAEd,KAAK,UACR,KAAK,eAAe,EACpB,KAAK,iBAAiB,EAAI,GAE5B,KAAK,QAAU,GACf,IAAM4B,EAAU,IAAM,CACpB,KAAK,KAAK,IAAI,IAAM,CAClB,IAAMC,EAAO,KAAK,cAAcF,CAAO,EACnCE,EAAO,GACT,KAAK,kBAAkB,YAAY,EACnC,KAAK,6BAA6BD,EAASC,CAAI,GAE/C,KAAK,YAAY,CAErB,CAAC,CACH,EACA,KAAK,6BAA6BD,EAAS,KAAK,KAAO,GAAI,CAC7D,CAIA,6BAA6BA,EAASE,EAAW,CAC/C,KAAK,KAAK,kBAAkB,IAAM,CAChC,KAAK,WAAa,YAAYF,EAASE,CAAS,CAClD,CAAC,CACH,CAIA,MAAO,CACL,KAAK,cAAc,EACnB,KAAK,iBAAiB,EAAK,EAC3B,KAAK,kBAAkB,YAAY,EACnC,KAAK,kBAAkB,eAAe,EACtC,KAAK,UAAU,EAAK,EACpB,KAAK,QAAU,GACf,KAAK,OAAO,KAAK,IAAI,CACvB,CAIA,SAAU,CACR,KAAK,cAAc,EACnB,KAAK,iBAAiB,EAAK,EAC3B,KAAK,kBAAkB,YAAY,EACnC,KAAK,kBAAkB,eAAe,EACtC,KAAK,UAAU,EAAI,EACnB,KAAK,QAAU,GACf,KAAK,UAAY,EACjB,KAAK,UAAU,KAAK,IAAI,CAC1B,CAMA,UAAUC,EAAOC,EAAW,CAC1B,GAAK,KAAK,QAGV,IAAI,KAAK,YAAc,KAAK,OAAO,UAAU,EAAG,CAC9C,KAAK,QAAQ,EACb,MACF,CACA,KAAK,YAAY,KAAKA,CAAS,GAC3BD,IAAU,IAAQ,KAAK,aAAehB,GAAW,MAAQ,KAAK,aAAeA,GAAW,SAAW,CAAC,KAAK,OAAO,OAAO,IACzH,KAAK,MAAMgB,CAAK,EAEpB,CACA,UAAU/B,EAAO,CACf,KAAK,OAASA,EACd,KAAK,OAAO,OAAOA,CAAK,CAC1B,CACA,aAAc,CACZ,KAAK,UAAU,CAAC,KAAK,MAAM,EACvB,KAAK,QACP,KAAK,YAAY,KAAK,IAAI,EAC1B,KAAK,cAAc,EACf,KAAK,WAAa,IACpB,KAAK,UAAY,KAAK,WACtB,KAAK,YAAY,EACjB,KAAK,6BAA6B,IAAM,CACtC,KAAK,kBAAkB,CACzB,EAAG,GAAI,KAGT,KAAK,iBAAiB,EAAI,EAC1B,KAAK,UAAU,KAAK,IAAI,EACxB,KAAK,eAAe,GAEtB,KAAK,kBAAkB,YAAY,CACrC,CACA,6BAA6BiC,EAAYH,EAAW,CAClD,KAAK,KAAK,kBAAkB,IAAM,CAChC,KAAK,cAAgB,YAAY,IAAM,CACrCG,EAAW,CACb,EAAGH,CAAS,CACd,CAAC,CACH,CACA,iBAAiBI,EAAQ,CACvB,QAAWC,KAAa,KAAK,WACvBD,EACFC,EAAU,OAAO,EAEjBA,EAAU,MAAM,CAGtB,CACA,cAAcR,EAAS,CACrB,IAAMS,EAAM,KAAK,OAAO,IAAI,EAE5B,OADa,KAAK,OAAO,KAAK,GAAKA,GACvB,QAAQ,EAAIA,EAAI,QAAQ,EAAIT,EAAU,GACpD,CACA,mBAAoB,CAClB,KAAK,KAAK,IAAI,IAAM,CAClB,KAAK,YAAY,CACnB,CAAC,CACH,CACA,aAAc,CAEZ,GADa,KAAK,cAAc,KAAK,UAAU,EACpC,EAAG,CACZ,KAAK,kBAAkB,eAAe,EACtC,KAAK,UAAU,EAAI,EACnB,MACF,CACA,GAAK,KAAK,OAGV,IAAI,KAAK,WAAa,EAAG,CACvB,KAAK,QAAQ,EACb,MACF,CACA,KAAK,iBAAiB,KAAK,KAAK,SAAS,EACzC,KAAK,YACP,CACA,kBAAkBU,EAAY,CAC5B,IAAMC,EAAS,KAAKD,CAAU,EAC1BC,IAAW,MAAQ,OAAOA,EAAW,MACvC,cAAc,KAAKD,CAAU,CAAC,EAC9B,KAAKA,CAAU,EAAI,KAEvB,CACA,gBAAiB,CACX,CAAC,KAAK,cAAgB,CAAC,KAAK,mBAG5B,KAAK,SACP,KAAK,aAAa,KAAK,EAEzB,KAAK,aAAa,MAAM,EAC1B,CACA,eAAgB,CACV,CAAC,KAAK,cAAgB,CAAC,KAAK,kBAGhC,KAAK,aAAa,KAAK,CACzB,CAIA,aAAc,CACZ,KAAK,KAAK,EACV,KAAK,gBAAgB,CACvB,CACF,CACA,OAAArB,EAAK,UAAO,SAAsBR,EAAmB,CACnD,OAAO,IAAKA,GAAqBQ,GAASH,EAASd,EAAU,EAAMc,EAAY0B,EAAM,EAAM1B,EAASC,GAAc,CAAC,EAAMD,EAAS2B,GAAa,CAAC,CAAC,CACnJ,EACAxB,EAAK,WAA0BP,EAAmB,CAChD,MAAOO,EACP,QAASA,EAAK,SAChB,CAAC,EACMA,CACT,GAAG,EAQGyB,GAAN,KAAoB,CAClB,YAAY7C,EAAQ8C,EAAWX,EAAQ,GAAO,CAC5C,KAAK,OAASnC,EACd,KAAK,UAAY8C,EACjB,KAAK,MAAQX,CACf,CACF,EAKMY,GAAN,KAAsB,CACpB,YAAYC,EAAUC,EAAU,CAC9B,KAAK,SAAWD,EAChB,KAAK,SAAWC,EAChB,KAAK,WAAa,GAClB,KAAK,YAAc,IAAIzB,EACzB,CAIA,QAAS,CAIP,GAAI,KAAK,QAAQ,IAAI,eAAe,IAAM,GAAM,CAC9C,KAAK,QAAQ,OAAO,IAAI,IAAM,KAAK,OAAO,CAAC,EAC3C,MACF,CACI,CAAC,KAAK,YAAc,KAAK,UAC3B,KAAK,SAAS,IAAI,EAEpB,KAAK,WAAa,EACpB,CAIA,QAAS,CACH,KAAK,YAAc,KAAK,UAC1B,KAAK,SAAS,IAAI,EAEpB,KAAK,WAAa,EACpB,CACF,EACM0B,GAAuB,IAIvBC,GAAN,cAAyCJ,EAAgB,CACvD,YAAYK,EAAQC,EAAQC,EAAM,CAChC,MAAM,KAAM,IAAI,EAChB,KAAK,OAASF,EACd,KAAK,OAASC,EACd,KAAK,KAAOC,EACZ,KAAK,kBAAoB,IAAIC,GACzB,OAAO,KAAK,MAAS,WACvB,KAAK,KAAO,CACV,cAAe,KAAK,KACpB,QAAS,EACX,GAEF,KAAK,KAAO,KAAK,MAAQ,CACvB,QAAS,GACT,cAAeL,EACjB,GACI,KAAK,KAAK,gBAAkB,QAAa,KAAK,KAAK,gBAAkB,QACvE,KAAK,KAAK,cAAgBA,IAE5B,KAAK,cAAgB,KAAK,KAAK,cAC/B,KAAK,QAAU,CAAC,CAAC,KAAK,KAAK,OAC7B,CACA,WAAWjD,EAAS,CAClB,GAAIA,GAAS,YAAcuD,GAAiBvD,EAAQ,UAAU,EAC5D,OAEF,IAAMwD,EAAc,OAAO,KAAK,QAAW,WAAa,KAAK,OAAO,EAAI,KAAK,OACvEH,EAAO,KAAK,QAAU,CAC1B,QAAS,EACX,EAAI,KACEI,EAAa,KAAK,OAAO,MAAM,GAAG,EAAE,IAAIC,GAAaC,GAAUH,EAAaE,EAAWL,CAAI,CAAC,EAClG,KAAK,SAAWO,GAAM,GAAGH,CAAU,EACnC,KAAK,SAAW,KAAK,SAAS,KAAKI,GAAOhB,GAAa,CAAC,KAAK,YAAYA,CAAS,CAAC,CAAC,EAChF,KAAK,cAAgB,IACvB,KAAK,SAAW,KAAK,SAAS,KAAKiB,GAAa,KAAK,aAAa,CAAC,GAErE,IAAMC,EAAUlB,GAAa,KAAK,YAAY,KAAK,IAAID,GAAc,KAAMC,CAAS,CAAC,EACrF,KAAK,SAAW,IAAM,KAAK,kBAAoB,KAAK,SAAS,UAAUkB,CAAO,EAC9E,KAAK,SAAW,IAAM,KAAK,kBAAkB,YAAY,CAC3D,CAMA,YAAYC,EAAO,CACjB,MAAO,EACT,CAKA,IAAI,SAAU,CACZ,MAAO,CACL,QAAS,KAAK,QACd,cAAe,KAAK,aACtB,CACF,CACF,EAKMC,GAAN,cAAsCf,EAA2B,CAC/D,YAAYE,EAAQpD,EAAS,CAC3B,MAAM,IAAM,SAAS,gBAAiBoD,EAAQpD,CAAO,CACvD,CAMA,YAAYgE,EAAO,CAEjB,MAAI,GAAAA,EAAM,OAAS,cAEnBA,EAAM,eAAiBA,EAAM,cAAc,YAAc,GAAKA,EAAM,cAAc,YAAc,GAEhGA,EAAM,YAAc,QAAU,CAACA,EAAM,WAAa,CAACA,EAAM,WAI3D,CACF,EAKME,GAAN,cAAoChB,EAA2B,CAC7D,YAAYE,EAAQpD,EAAS,CAC3B,MAAM,IAAM,OAAQoD,EAAQpD,CAAO,CACrC,CACF,EAKMmE,GAAN,cAAqCD,EAAsB,CACzD,YAAYlE,EAAU,IAAK,CACzB,MAAM,UAAWA,CAAO,CAC1B,CAMA,YAAYgE,EAAO,CACjB,MAAI,EAAAA,EAAM,KAAOA,EAAM,IAAI,QAAQ,UAAU,GAAK,GAAKA,EAAM,IAAI,QAAQ,SAAS,GAAK,EAIzF,CACF,EAuBA,IAAII,IAA6B,IAAM,CACrC,MAAMA,CAAa,CACjB,OAAO,SAAU,CACf,MAAO,CACL,SAAUA,EACV,UAAW,CAACC,GAAoB,CAC9B,QAASC,GACT,YAAaD,EACf,EAAGE,EAAI,CACT,CACF,CACF,CACA,OAAAH,EAAa,UAAO,SAA8BI,EAAmB,CACnE,OAAO,IAAKA,GAAqBJ,EACnC,EACAA,EAAa,UAAyBK,GAAiB,CACrD,KAAML,CACR,CAAC,EACDA,EAAa,UAAyBM,GAAiB,CACrD,UAAW,CAACC,EAAY,CAC1B,CAAC,EACMP,CACT,GAAG,EAIH,SAASQ,GAA8BC,EAAS,CAC9C,MAAO,CAAC,IAAIC,GAAwB,oFAAqFD,CAAO,EAAG,IAAIE,GAAuBF,CAAO,CAAC,CACxK,CACA,IAAMG,GAA2BJ,GAA8B,ECj4B/D,IAAMK,GAAiB,iBACjBC,GAAU,UACVC,GAAQ,QACRC,GAAW,WACXC,GAAS,SACTC,GAAQ,QACRC,GAAgB,gBAChBC,GAAqB,qBACrBC,GAAgB,gBAChBC,GAAiB,iBACjBC,GAAe,eACfC,GAAe,eACfC,GAAkB,kBAClBC,GAAN,KAAoB,CAClB,YAAYC,EAAQC,EAAW,CAI7B,GAHA,KAAK,OAASD,EACd,KAAK,UAAYC,EACjB,KAAK,KAAOf,GACR,OAAOc,EAAO,KAAS,IACzB,MAAM,IAAI,MAAM,oFAAyF,CAE7G,CACF,EACME,GAAN,KAAc,CACZ,aAAc,CACZ,KAAK,KAAOf,EACd,CACF,EACMgB,GAAN,KAAY,CACV,YAAYF,EAAW,CACrB,KAAK,UAAYA,EACjB,KAAK,KAAOb,EACd,CACF,EACMgB,GAAN,KAAe,CACb,YAAYH,EAAW,CACrB,KAAK,UAAYA,EACjB,KAAK,KAAOZ,EACd,CACF,EACMgB,GAAN,KAAa,CACX,YAAYJ,EAAW,CACrB,KAAK,UAAYA,EACjB,KAAK,KAAOX,EACd,CACF,EACMgB,GAAN,KAAY,CACV,aAAc,CACZ,KAAK,KAAOf,EACd,CACF,EACMgB,GAAN,KAAmB,CACjB,YAAYC,EAAI,CACd,KAAK,GAAKA,EACV,KAAK,KAAOhB,EACd,CACF,EASA,IAAMiB,GAAN,KAAkB,CAChB,YAAYC,EAAO,CACjB,KAAK,MAAQA,EACb,KAAK,KAAOC,EACd,CACF,EACMC,GAAN,KAAmB,CACjB,YAAYC,EAAU,CACpB,KAAK,SAAWA,EAChB,KAAK,KAAOC,EACd,CACF,EACMC,GAAN,KAAkB,CAChB,YAAYC,EAAiB,CAC3B,KAAK,gBAAkBA,EACvB,KAAK,KAAOC,EACd,CACF,EACMC,GAAN,KAAkB,CAChB,YAAYC,EAAQ,CAClB,KAAK,OAASA,EACd,KAAK,KAAOC,EACd,CACF,EACMC,GAAN,KAAqB,CACnB,YAAYF,EAAQ,CAClB,KAAK,OAASA,EACd,KAAK,KAAOG,EACd,CACF,EAgBA,IAAMC,GAAwB,IAAIC,GAAe,8BAA8B,EAIzEC,GAAkB,IAAID,GAAe,qCAAqC,EAChF,SAASE,IAAY,CACnB,OAAO,IACT,CACA,IAAMC,GAAe,sBACrB,SAASC,GAAaC,EAAc,CAClC,IAAMC,EAAkB,CACtB,OAAQ,GACR,QAASJ,GACT,gBAAiB,OACjB,eAAgB,OAChB,KAAMC,GACN,UAAW,GACX,QAAS,GACT,UAAW,GACX,MAAO,GACP,WAAY,GAGZ,SAAU,CACR,MAAO,GAEP,KAAM,GAEN,QAAS,GAET,OAAQ,GAER,OAAQ,SAER,KAAM,GAEN,KAAM,GAEN,QAAS,GAET,SAAU,GAEV,KAAM,EACR,EACA,cAAe,EACjB,EACMI,EAAU,OAAOF,GAAiB,WAAaA,EAAa,EAAIA,EAChEG,EAAUD,EAAQ,QAAU,CAChC,MAAO,GACP,OAAQ,GACR,KAAM,EACR,EAAI,GACEE,EAAWF,EAAQ,UAAYC,GAAWF,EAAgB,SAC5DG,EAAS,SAAW,KACtBA,EAAS,OAAS,UAEpB,IAAMC,EAAS,OAAO,OAAO,CAAC,EAAGJ,EAAiB,CAChD,SAAAG,CACF,EAAGF,CAAO,EACV,GAAIG,EAAO,QAAUA,EAAO,OAAS,EACnC,MAAM,IAAI,MAAM,gDAAgDA,EAAO,MAAM,EAAE,EAEjF,OAAOA,CACT,CACA,SAASC,GAAWC,EAAOC,EAAQ,CACjC,OAAOD,EAAM,OAAOE,GAAQD,EAAO,QAAQC,CAAI,EAAI,CAAC,CACtD,CAIA,SAASC,GAAYC,EAAa,CAChC,GAAM,CACJ,eAAAC,EACA,kBAAAC,CACF,EAAIF,EAKJ,GAAIE,GAAqBD,EAAe,OAAQ,CAC9C,GAAM,CACJ,MAAAE,CACF,EAAIF,EAAeA,EAAe,OAAS,CAAC,EAC5C,OAAOE,CACT,CACA,GAAM,CACJ,MAAAA,CACF,EAAIF,EAAeC,CAAiB,EACpC,OAAOC,CACT,CAOA,SAASC,GAAWC,EAAQ,CAC1B,OAAO,IAAIC,GAAcD,EAAQ,CAAC,KAAK,IAAI,CAAC,CAC9C,CAIA,SAASE,GAAgBC,EAAiBC,EAAS,CACjD,OAAO,OAAO,KAAKA,CAAO,EAAE,OAAO,CAACC,EAAkBC,IAAc,CAClE,IAAMC,EAAM,OAAOD,CAAS,EAC5B,OAAAD,EAAiBE,CAAG,EAAIC,GAAeL,EAAiBC,EAAQG,CAAG,EAAGA,CAAG,EAClEF,CACT,EAAG,CAAC,CAAC,CACP,CAIA,SAASG,GAAeL,EAAiBH,EAAQM,EAAW,CAC1D,OAAOG,GAAAC,GAAA,GACFV,GADE,CAEL,OAAQG,EAAgBH,EAAO,OAAQM,CAAS,CAClD,EACF,CAIA,SAASK,GAAeC,EAAgBC,EAAQ,CAC9C,OAAOA,EAAO,IAAI,CAACC,EAAeP,KAAS,CACzC,MAAOQ,GAAcH,EAAgBE,EAAc,MAAOP,CAAG,EAC7D,MAAOO,EAAc,KACvB,EAAE,CACJ,CAIA,SAASC,GAAcH,EAAgBI,EAAOC,EAAU,CACtD,OAAOL,EAAeI,EAAOC,CAAQ,CACvC,CAIA,SAASC,GAAoBC,EAAQ,CACnC,OAAOA,EAAO,WAAaA,EAAO,iBAAmBA,EAAO,gBAC9D,CAIA,SAASC,GAAkBC,EAAaC,EAAWC,EAAUC,EAAW,CACtE,IAAMC,EAA0B,CAAC,EAC3BC,EAAsB,CAAC,EACvBC,EAAyB,CAAC,EAChC,OAAAN,EAAY,gBAAgB,QAAQ,CAACO,EAAIrB,IAAQ,CAC/C,IAAMsB,EAAeR,EAAY,YAAYO,CAAE,EAC1CC,IACDtB,GAAOuB,GAAiBT,EAAY,eAAed,CAAG,EAAGsB,EAAcP,EAAWC,EAAUC,CAAS,IAGzGE,EAAoBE,CAAE,EAAIC,EAC1BJ,EAAwB,KAAKG,CAAE,EAC/BD,EAAuB,KAAKN,EAAY,eAAed,CAAG,CAAC,GAC7D,CAAC,EACME,GAAAC,GAAA,GACFW,GADE,CAEL,gBAAiBI,EACjB,YAAaC,EACb,eAAgBC,CAClB,EACF,CAIA,SAASG,GAAiBd,EAAOhB,EAAQsB,EAAWC,EAAUQ,EAAa,CACzE,IAAMC,EAAiBV,GAAa,CAACA,EAAUN,EAAOhB,EAAO,MAAM,EAC7DiC,EAAgBV,GAAY,CAACvB,EAAO,OAAO,KAAK,MAAMuB,EAAS,IAAIW,GAAKC,GAAaD,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAClGE,EAAiBL,GAAe/B,EAAO,OAAO,KAAK,MAAM+B,EAAY,IAAIG,GAAKC,GAAaD,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAC9G,OAAOF,GAAkBC,GAAiBG,CAC5C,CAKA,SAASD,GAAaD,EAAG,CACvB,OAAOA,EAAE,QAAQ,sBAAuB,MAAM,CAChD,CACA,SAASG,GAAiBC,EAAe,CAEvC,MAAO,CACL,OAFaA,EAAgBC,GAAOC,EAAM,EAAI,KAG9C,cAAAF,CACF,CACF,CACA,IAAIG,IAAmC,IAAM,CAC3C,MAAMA,UAA2BC,EAAe,CAC5B,MAAO,CACvB,KAAK,WAAuB,IAAM,CAChC,IAAIC,EACJ,OAAO,SAAoCC,EAAmB,CAC5D,OAAQD,IAAoCA,EAAqCE,GAAsBJ,CAAkB,IAAIG,GAAqBH,CAAkB,CACtK,CACF,GAAG,CACL,CAEA,MAAO,CACL,KAAK,WAA0BK,EAAmB,CAChD,MAAOL,EACP,QAASA,EAAmB,SAC9B,CAAC,CACH,CACF,CACA,OAAOA,CACT,GAAG,EAIGM,GAAuB,CAC3B,MAAO,QACP,SAAU,WACV,KAAM,OACN,OAAQ,QACV,EACMC,GAA2B,IAAIC,GAAe,+CAA+C,EAC/FC,IAAkC,IAAM,CAC1C,MAAMA,CAAkB,CACtB,YAAYC,EAAmBhC,EAAQiC,EAAY,CACjD,KAAK,OAASjC,EACd,KAAK,WAAaiC,EAClB,KAAK,WAAaf,GAAiB,KAAK,OAAO,aAAa,EAC5D,KAAK,kBAAoBc,EACzB,KAAK,oBAAoB,CAC3B,CACA,OAAOnD,EAAQgB,EAAO,CACpB,GAAK,KAAK,kBAgBV,GAAIhB,EAAO,OAASqD,GAAgB,CAClC,GAAIrC,EAAM,UAAYA,EAAM,SAC1B,OAEF,IAAMsC,EAAeC,GAAYvC,CAAK,EACtC,GAAIE,GAAoB,KAAK,MAAM,GAAKY,GAAiBwB,EAActD,EAAQ,KAAK,OAAO,UAAW,KAAK,OAAO,gBAAiB,KAAK,OAAO,gBAAgB,EAC7J,OAEF,IAAMwD,EAAiB,KAAK,OAAO,eAAiBzC,GAAc,KAAK,OAAO,eAAgBuC,EAActC,EAAM,iBAAiB,EAAIsC,EACjIG,EAAkB,KAAK,OAAO,gBAAkBjD,GAAe,KAAK,OAAO,gBAAiBR,EAAQgB,EAAM,YAAY,EAAIhB,EAChI,KAAK,oBAAoB,IAAM,KAAK,oBAAoB,KAAKyD,EAAiBD,CAAc,CAAC,CAC/F,KAAO,CAEL,IAAME,EAAuBjD,GAAAC,GAAA,GACxBM,GADwB,CAE3B,gBAAiBA,EAAM,gBACvB,YAAa,KAAK,OAAO,gBAAkBd,GAAgB,KAAK,OAAO,gBAAiBc,EAAM,WAAW,EAAIA,EAAM,YACnH,eAAgB,KAAK,OAAO,eAAiBL,GAAe,KAAK,OAAO,eAAgBK,EAAM,cAAc,EAAIA,EAAM,cACxH,GACA,KAAK,oBAAoB,IAAM,KAAK,kBAAkB,KAAK,KAAM0C,EAAsB,KAAK,mBAAmB,KAAK,MAAM,CAAC,CAAC,CAC9H,CACF,CACA,yBAA0B,CACxB,OAAK,KAAK,kBAGH,IAAIC,GAAWC,GAAc,CAClC,IAAMC,EAAa,KAAK,WAAW,cAKnC,KAAK,WAAW,OAAO,kBAAkB,IAAM,KAAK,kBAAkB,QAAQ,KAAK,mBAAmB,KAAK,MAAM,CAAC,CAAC,EAAI,KAAK,kBAAkB,QAAQ,KAAK,mBAAmB,KAAK,MAAM,CAAC,EAC1L,YAAK,oBAAsBA,EAC3BA,EAAW,KAAK,EAChBA,EAAW,UAAUC,GAAUF,EAAW,KAAKE,CAAM,CAAC,EAC/CD,EAAW,WACpB,CAAC,EAbQE,CAcX,CACA,qBAAsB,CAEpB,IAAMC,EAAW,KAAK,wBAAwB,EAAE,KAAKC,GAAM,CAAC,EAEtDC,EAASF,EAAS,KAAKG,GAAOL,GAAUA,EAAO,OAASf,GAAqB,KAAK,CAAC,EAEnFqB,EAAQJ,EAAS,KAAKG,GAAOL,GAAUA,EAAO,OAASf,GAAqB,IAAI,CAAC,EAEjFsB,EAAiBL,EAAS,KAAKG,GAAOL,GAAUA,EAAO,OAASf,GAAqB,QAAQ,EAAGuB,EAAIR,GAAU,KAAK,aAAaA,EAAO,OAAO,CAAC,EAAGS,GAAUvE,GAC5JA,EAAO,OAASwE,GASX,KAAK,WAAW,KAAKL,GAAOnE,IAAUA,GAAO,OAASyE,EAAM,EAAGC,GAAQ,GAAI,EAAGC,GAAa,GAAI,EAAGL,EAAI,IAAMtE,CAAM,EAAG4E,EAAW,IAAMC,GAAG7E,CAAM,CAAC,EAAG8E,GAAK,CAAC,CAAC,EAE1JD,GAAG7E,CAAM,CAEnB,CAAC,EAGI+E,EADWf,EAAS,KAAKG,GAAOL,GAAUA,EAAO,OAASf,GAAqB,MAAM,EAAGuB,EAAIR,GAAU,KAAK,aAAaA,EAAO,OAAO,CAAC,CAAC,EAC3G,KAAKkB,GAAUZ,CAAK,CAAC,EAClDa,EAAmBZ,EAAe,KAAKW,GAAUZ,CAAK,CAAC,EAC7D,KAAK,OAASF,EAAO,KAAKc,GAAUZ,CAAK,CAAC,EAE1C,KAAK,SAAW,KAAK,OAAO,KAAKc,EAAU,IAAMH,CAAiB,CAAC,EACnE,KAAK,eAAiB,KAAK,OAAO,KAAKG,EAAU,IAAMD,CAAgB,CAAC,CAC1E,CACA,aAAajF,EAAQ,CAEnB,OAAO,OAAOA,GAAW,YAAe,MAAM,IAAIA,CAAM,GAAG,EAAIA,CACjE,CACA,mBAAmBmB,EAAQ,CACzB,IAAMgE,EAAmB,CACvB,KAAMhE,EAAO,KACb,SAAUA,EAAO,SACjB,UAAWA,EAAO,UAClB,UAAWA,EAAO,WAAa,GAC/B,MAAOA,EAAO,OAAS,GACvB,WAAYA,EAAO,YAAc,EAQnC,EACA,OAAIA,EAAO,SAAW,KACpBgE,EAAiB,OAAShE,EAAO,QAE5BgE,CACT,CACA,oBAAoBC,EAAM,CACxB,GAAI,CACFA,EAAK,CACP,OAASC,EAAK,CACZ,QAAQ,KAAK,uEAAwEA,CAAG,CAC1F,CACF,CAEA,MAAO,CACL,KAAK,UAAO,SAAmCzC,EAAmB,CAChE,OAAO,IAAKA,GAAqBM,GAAsBoC,EAAStC,EAAwB,EAAMsC,EAASC,EAAqB,EAAMD,EAAS7C,EAAkB,CAAC,CAChK,CACF,CAEA,MAAO,CACL,KAAK,WAA0BK,EAAmB,CAChD,MAAOI,EACP,QAASA,EAAkB,SAC7B,CAAC,CACH,CACF,CACA,OAAOA,CACT,GAAG,EAIGsC,GAAc,CAClB,KAAMC,EACR,EACMC,GAAY,iCACZC,GAAmB,CACvB,KAAMD,EACR,EAIA,SAASE,GAAiBC,EAAS7F,EAAQgB,EAAO8E,EAAOC,EAAc,CACrE,GAAID,EACF,MAAO,CACL,MAAA9E,EACA,MAAO,sCACT,EAEF,IAAIgF,EAAYhF,EACZiF,EACJ,GAAI,CACFD,EAAYH,EAAQ7E,EAAOhB,CAAM,CACnC,OAASqF,EAAK,CACZY,EAAYZ,EAAI,SAAS,EACzBU,EAAa,YAAYV,CAAG,CAC9B,CACA,MAAO,CACL,MAAOW,EACP,MAAOC,CACT,CACF,CAIA,SAASC,GAAgBC,EAAgBC,EAA0BP,EAASQ,EAAgBC,EAAaC,EAAiBC,EAAkBT,EAAcU,EAAU,CAGlK,GAAIL,GAA4BD,EAAe,QAAUA,EAAe,SAAWI,EAAgB,OACjG,OAAOJ,EAET,IAAMO,EAAqBP,EAAe,MAAM,EAAGC,CAAwB,EAGrEO,GAAuBJ,EAAgB,QAAUE,EAAW,EAAI,GACtE,QAASG,GAAIR,EAA0BQ,GAAID,GAAsBC,KAAK,CACpE,IAAMC,GAAWN,EAAgBK,EAAC,EAC5B5G,GAASsG,EAAYO,EAAQ,EAAE,OAC/BC,GAAgBJ,EAAmBE,GAAI,CAAC,EACxCG,GAAgBD,GAAgBA,GAAc,MAAQT,EACtDW,GAAgBF,GAAgBA,GAAc,MAAQ,OAEtDG,GADaT,EAAiB,QAAQK,EAAQ,EAAI,GAC7BC,GAAgBlB,GAAiBC,EAAS7F,GAAQ+G,GAAeC,GAAejB,CAAY,EACvHW,EAAmB,KAAKO,EAAK,CAC/B,CAGA,OAAIR,GACFC,EAAmB,KAAKP,EAAeA,EAAe,OAAS,CAAC,CAAC,EAE5DO,CACT,CACA,SAASQ,GAAiBC,EAAuBC,EAAgB,CAC/D,MAAO,CACL,aAAcA,EAAe,OAAW,CAAC,CAAC,EAC1C,aAAc,EACd,YAAa,CACX,EAAGrH,GAAWyF,EAAW,CAC3B,EACA,gBAAiB,CAAC,CAAC,EACnB,iBAAkB,CAAC,EACnB,eAAgB2B,EAChB,kBAAmB,EACnB,eAAgB,CAAC,EACjB,SAAU,GACV,SAAU,EACZ,CACF,CAIA,SAASE,GAAgBF,EAAuBG,EAAoBvB,EAAcqB,EAAgBG,EAAU,CAAC,EAAG,CAI9G,OAAO1B,GAAW,CAACxE,EAAaQ,IAAiB,CAC/C,GAAI,CACF,aAAA2F,EACA,YAAAlB,EACA,aAAAmB,GACA,gBAAAlB,GACA,iBAAAC,GACA,eAAAH,GACA,kBAAAqB,GACA,eAAAvB,GACA,SAAAwB,GACA,SAAAlB,EACF,EAAIpF,GAAeiG,EACdjG,IAEHiF,EAAc,OAAO,OAAOA,CAAW,GAEzC,SAASsB,GAAoBC,GAAG,CAE9B,IAAIC,GAASD,GACTE,GAAcxB,GAAgB,MAAM,EAAGuB,GAAS,CAAC,EACrD,QAASlB,GAAI,EAAGA,GAAImB,GAAY,OAAQnB,KACtC,GAAIT,GAAeS,GAAI,CAAC,EAAE,MAAO,CAE/BkB,GAASlB,GACTmB,GAAcxB,GAAgB,MAAM,EAAGuB,GAAS,CAAC,EACjD,KACF,MACE,OAAOxB,EAAYyB,GAAYnB,EAAC,CAAC,EAGrCJ,GAAmBA,GAAiB,OAAO5E,IAAMmG,GAAY,QAAQnG,EAAE,IAAM,EAAE,EAC/E2E,GAAkB,CAAC,EAAG,GAAGA,GAAgB,MAAMuB,GAAS,CAAC,CAAC,EAC1DzB,GAAiBF,GAAe2B,EAAM,EAAE,MACxC3B,GAAiBA,GAAe,MAAM2B,EAAM,EAC5CJ,GAAoBA,GAAoBI,GAASJ,GAAoBI,GAAS,CAChF,CACA,SAASE,IAAgB,CAGvB1B,EAAc,CACZ,EAAGvG,GAAWyF,EAAW,CAC3B,EACAiC,GAAe,EACflB,GAAkB,CAAC,CAAC,EACpBC,GAAmB,CAAC,EACpBH,GAAiBF,GAAeuB,EAAiB,EAAE,MACnDA,GAAoB,EACpBvB,GAAiB,CAAC,CACpB,CAIA,IAAIC,GAA2B,EAC/B,OAAQvE,EAAa,KAAM,CACzB,KAAKoG,GACH,CACEN,GAAW9F,EAAa,OACxBuE,GAA2B,IAC3B,KACF,CACF,KAAK8B,GACH,CACEzB,GAAW5E,EAAa,OACpB4E,IAIFF,GAAkB,CAAC,GAAGA,GAAiBkB,EAAY,EACnDnB,EAAYmB,EAAY,EAAI,IAAIxH,GAAc,CAC5C,KAAM,sBACR,EAAG,CAAC,KAAK,IAAI,CAAC,EACdwH,KACArB,GAA2BG,GAAgB,OAAS,EACpDJ,GAAiBA,GAAe,OAAOA,GAAeA,GAAe,OAAS,CAAC,CAAC,EAC5EuB,KAAsBnB,GAAgB,OAAS,GACjDmB,KAEFtB,GAA2B,KAE3B4B,GAAc,EAEhB,KACF,CACF,KAAKG,GACH,CAEE7B,EAAc,CACZ,EAAGvG,GAAWyF,EAAW,CAC3B,EACAiC,GAAe,EACflB,GAAkB,CAAC,CAAC,EACpBC,GAAmB,CAAC,EACpBH,GAAiBc,EACjBO,GAAoB,EACpBvB,GAAiB,CAAC,EAClB,KACF,CACF,KAAKiC,GACH,CACEJ,GAAc,EACd,KACF,CACF,KAAKK,GACH,CAGE/B,EAAc,CACZ,EAAGvG,GAAWyF,EAAW,CAC3B,EACAiC,GAAe,EACflB,GAAkB,CAAC,CAAC,EACpBC,GAAmB,CAAC,EACpBkB,GAAoB,EACpBvB,GAAiB,CAAC,EAClB,KACF,CACF,KAAKmC,GACH,CAGE,GAAM,CACJ,GAAIzB,EACN,EAAIhF,EACU2E,GAAiB,QAAQK,EAAQ,IACjC,GACZL,GAAmB,CAACK,GAAU,GAAGL,EAAgB,EAEjDA,GAAmBA,GAAiB,OAAO5E,IAAMA,KAAOiF,EAAQ,EAGlET,GAA2BG,GAAgB,QAAQM,EAAQ,EAC3D,KACF,CACF,KAAK0B,GACH,CAGE,GAAM,CACJ,MAAAC,GACA,IAAAC,GACA,OAAAC,EACF,EAAI7G,EACE8G,GAAY,CAAC,EACnB,QAAS/B,GAAI4B,GAAO5B,GAAI6B,GAAK7B,KAAK+B,GAAU,KAAK/B,EAAC,EAC9C8B,GACFlC,GAAmBoC,GAAWpC,GAAkBmC,EAAS,EAEzDnC,GAAmB,CAAC,GAAGA,GAAkB,GAAGmC,EAAS,EAGvDvC,GAA2BG,GAAgB,QAAQiC,EAAK,EACxD,KACF,CACF,KAAKK,GACH,CAGEnB,GAAoB7F,EAAa,MAEjCuE,GAA2B,IAC3B,KACF,CACF,KAAK0C,GACH,CAGE,IAAMC,GAAQxC,GAAgB,QAAQ1E,EAAa,QAAQ,EACvDkH,KAAU,KAAIrB,GAAoBqB,IACtC3C,GAA2B,IAC3B,KACF,CACF,KAAK4C,GACH,CAEEzC,GAAkBqC,GAAWrC,GAAiBC,EAAgB,EAC9DA,GAAmB,CAAC,EACpBkB,GAAoB,KAAK,IAAIA,GAAmBnB,GAAgB,OAAS,CAAC,EAC1E,KACF,CACF,KAAKlD,GACH,CAEE,GAAIsE,GACF,OAAOtG,GAAeiG,EAExB,GAAIb,IAAYpF,GAAeS,GAAiBT,EAAY,eAAeqG,EAAiB,EAAG7F,EAAc0F,EAAQ,UAAWA,EAAQ,gBAAiBA,EAAQ,gBAAgB,EAAG,CAKlL,IAAM0B,GAAY9C,GAAeA,GAAe,OAAS,CAAC,EAC1DA,GAAiB,CAAC,GAAGA,GAAe,MAAM,EAAG,EAAE,EAAGP,GAAiBC,EAAShE,EAAa,OAAQoH,GAAU,MAAOA,GAAU,MAAOlD,CAAY,CAAC,EAChJK,GAA2B,IAC3B,KACF,CAEImB,EAAQ,QAAUhB,GAAgB,SAAWgB,EAAQ,QACvDK,GAAoB,CAAC,EAEnBF,KAAsBnB,GAAgB,OAAS,GACjDmB,KAEF,IAAMb,GAAWY,KAGjBnB,EAAYO,EAAQ,EAAIhF,EACxB0E,GAAkB,CAAC,GAAGA,GAAiBM,EAAQ,EAE/CT,GAA2BG,GAAgB,OAAS,EACpD,KACF,CACF,KAAK/B,GACH,EAEG,CACC,aAAAgD,EACA,YAAAlB,EACA,aAAAmB,GACA,gBAAAlB,GACA,iBAAAC,GACA,eAAAH,GACA,kBAAAqB,GACA,eAAAvB,GACA,SAAAwB,GACA,SAAAlB,EACF,EAAI5E,EAAa,iBACjB,KACF,CACF,KAAK4D,GACH,CAEEW,GAA2B,EACvBmB,EAAQ,QAAUhB,GAAgB,OAASgB,EAAQ,SAErDpB,GAAiBD,GAAgBC,GAAgBC,GAA0BP,EAASQ,GAAgBC,EAAaC,GAAiBC,GAAkBT,EAAcU,EAAQ,EAC1KmB,GAAoBrB,GAAgB,OAASgB,EAAQ,MAAM,EAE3DnB,GAA2B,KAE7B,KACF,CACF,KAAK3B,GACH,CAEE,GADuB0B,GAAe,OAAOnF,IAASA,GAAM,KAAK,EAAE,OAAS,EAG1EoF,GAA2B,EACvBmB,EAAQ,QAAUhB,GAAgB,OAASgB,EAAQ,SAErDpB,GAAiBD,GAAgBC,GAAgBC,GAA0BP,EAASQ,GAAgBC,EAAaC,GAAiBC,GAAkBT,EAAcU,EAAQ,EAC1KmB,GAAoBrB,GAAgB,OAASgB,EAAQ,MAAM,EAE3DnB,GAA2B,SAExB,CAGL,GAAI,CAACK,IAAY,CAACkB,GAAU,CACtBD,KAAsBnB,GAAgB,OAAS,GACjDmB,KAGF,IAAMb,GAAWY,KACjBnB,EAAYO,EAAQ,EAAI,IAAI5G,GAAc4B,EAAc,CAAC,KAAK,IAAI,CAAC,EACnE0E,GAAkB,CAAC,GAAGA,GAAiBM,EAAQ,EAC/CT,GAA2BG,GAAgB,OAAS,EACpDJ,GAAiBD,GAAgBC,GAAgBC,GAA0BP,EAASQ,GAAgBC,EAAaC,GAAiBC,GAAkBT,EAAcU,EAAQ,CAC5K,CAEAN,GAAiBA,GAAe,IAAI+C,IAAQzI,GAAAC,GAAA,GACvCwI,IADuC,CAE1C,MAAOrD,EAAQqD,GAAI,MAAOvD,EAAgB,CAC5C,EAAE,EACF+B,GAAoBnB,GAAgB,OAAS,EACzCgB,EAAQ,QAAUhB,GAAgB,OAASgB,EAAQ,QACrDK,GAAoBrB,GAAgB,OAASgB,EAAQ,MAAM,EAG7DnB,GAA2B,GAC7B,CACA,KACF,CACF,QACE,CAGEA,GAA2B,IAC3B,KACF,CACJ,CACA,OAAAD,GAAiBD,GAAgBC,GAAgBC,GAA0BP,EAASQ,GAAgBC,EAAaC,GAAiBC,GAAkBT,EAAcU,EAAQ,EAC1Ke,EAAeJ,EAAeI,EAAc3F,CAAY,EACjD,CACL,aAAA2F,EACA,YAAAlB,EACA,aAAAmB,GACA,gBAAAlB,GACA,iBAAAC,GACA,eAAAH,GACA,kBAAAqB,GACA,eAAAvB,GACA,SAAAwB,GACA,SAAAlB,EACF,CACF,CACF,CACA,IAAI0C,IAA8B,IAAM,CACtC,MAAMA,CAAc,CAClB,YAAY/F,EAAYgG,EAAUC,EAAWC,EAAWC,EAAgBxD,EAAcyD,EAAcrI,EAAQ,CAC1G,IAAMsI,GAAqBvC,GAAiBsC,EAAcrI,EAAO,OAAO,EAClEuI,GAAcrC,GAAgBmC,EAAcC,GAAoB1D,EAAc5E,EAAO,QAASA,CAAM,EACpGwI,GAAgBC,GAAMA,GAAMR,EAAS,aAAa,EAAE,KAAKS,GAAK,CAAC,CAAC,EAAGP,EAAU,QAAQ,EAAE,KAAKhF,EAAIvE,EAAU,CAAC,EAAGqD,EAAYkG,EAAU,cAAc,EAAE,KAAKQ,GAAUC,EAAc,CAAC,EAClLC,GAAiBX,EAAU,KAAK/E,EAAIoF,EAAW,CAAC,EAChDO,GAAa5H,GAAiBlB,EAAO,aAAa,EAClD+I,GAAqB,IAAIC,GAAc,CAAC,EAC9C,KAAK,wBAA0BR,GAAc,KAAKS,GAAeJ,EAAc,EAO/EK,GAAWJ,EAAU,EAAGK,GAAK,CAAC,CAC5B,MAAOjJ,EACT,EAAG,CAACrB,GAAQ6F,EAAO,IAAM,CACvB,IAAI0E,GAAqB1E,GAAQxE,GAAarB,EAAM,EAGpD,OAAIA,GAAO,OAASqD,IAAkBnC,GAAoBC,CAAM,IAC9DoJ,GAAqBnJ,GAAkBmJ,GAAoBpJ,EAAO,UAAWA,EAAO,gBAAiBA,EAAO,gBAAgB,GAG9HmI,EAAU,OAAOtJ,GAAQuK,EAAkB,EACpC,CACL,MAAOA,GACP,OAAAvK,EACF,CACF,EAAG,CACD,MAAOyJ,GACP,OAAQ,IACV,CAAC,CAAC,EAAE,UAAU,CAAC,CACb,MAAAzI,GACA,OAAAhB,EACF,IAAM,CAEJ,GADAkK,GAAmB,KAAKlJ,EAAK,EACzBhB,GAAO,OAASqD,GAAgB,CAClC,IAAMmH,GAAiBxK,GAAO,OAC9BuJ,EAAe,KAAKiB,EAAc,CACpC,CACF,CAAC,EACD,KAAK,2BAA6BlB,EAAU,OAAO,KAAKe,GAAWJ,EAAU,CAAC,EAAE,UAAU,IAAM,CAC9F,KAAK,QAAQ,CACf,CAAC,EACD,IAAMQ,GAAeP,GAAmB,aAAa,EAC/CQ,GAASD,GAAa,KAAKnG,EAAIf,EAAW,CAAC,EACjD,OAAO,eAAemH,GAAQ,QAAS,CACrC,MAAOC,GAASD,GAAQ,CACtB,cAAe,GACf,YAAa,EACf,CAAC,CACH,CAAC,EACD,KAAK,WAAatH,EAClB,KAAK,YAAcqH,GACnB,KAAK,MAAQC,EACf,CACA,aAAc,CAMZ,KAAK,wBAAwB,YAAY,EACzC,KAAK,2BAA2B,YAAY,CAC9C,CACA,SAAS1K,EAAQ,CACf,KAAK,WAAW,KAAKA,CAAM,CAC7B,CACA,KAAKA,EAAQ,CACX,KAAK,WAAW,KAAKA,CAAM,CAC7B,CACA,MAAM8F,EAAO,CAAC,CACd,UAAW,CAAC,CACZ,cAAc9F,EAAQ,CACpB,KAAK,SAAS,IAAIC,GAAcD,EAAQ,CAAC,KAAK,IAAI,CAAC,CAAC,CACtD,CACA,SAAU,CACR,KAAK,SAAS,IAAI4K,EAAS,CAC7B,CACA,OAAQ,CACN,KAAK,SAAS,IAAIC,GAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CACtC,CACA,UAAW,CACT,KAAK,SAAS,IAAIC,GAAS,CAAC,KAAK,IAAI,CAAC,CAAC,CACzC,CACA,QAAS,CACP,KAAK,SAAS,IAAIC,GAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CACvC,CACA,OAAQ,CACN,KAAK,SAAS,IAAIC,EAAO,CAC3B,CACA,aAAapJ,EAAI,CACf,KAAK,SAAS,IAAIqJ,GAAarJ,CAAE,CAAC,CACpC,CACA,aAAaiF,EAAU,CACrB,KAAK,SAAS,IAAIqE,GAAarE,CAAQ,CAAC,CAC1C,CACA,YAAYkC,EAAO,CACjB,KAAK,SAAS,IAAIoC,GAAYpC,CAAK,CAAC,CACtC,CACA,YAAYqC,EAAiB,CAC3B,KAAK,SAAS,IAAIC,GAAYD,CAAe,CAAC,CAChD,CACA,YAAYE,EAAQ,CAClB,KAAK,SAAS,IAAIC,GAAYD,CAAM,CAAC,CACvC,CACA,eAAeA,EAAQ,CACrB,KAAK,SAAS,IAAIE,GAAeF,CAAM,CAAC,CAC1C,CAEA,MAAO,CACL,KAAK,UAAO,SAA+B1I,EAAmB,CAC5D,OAAO,IAAKA,GAAqBuG,GAAkB7D,EAAS7C,EAAkB,EAAM6C,EAAY5C,EAAc,EAAM4C,EAAYmG,EAAiB,EAAMnG,EAASpC,EAAiB,EAAMoC,EAAYoG,EAAqB,EAAMpG,EAAYqG,EAAY,EAAMrG,EAASsG,EAAa,EAAMtG,EAASC,EAAqB,CAAC,CACzT,CACF,CAEA,MAAO,CACL,KAAK,WAA0BzC,EAAmB,CAChD,MAAOqG,EACP,QAASA,EAAc,SACzB,CAAC,CACH,CACF,CACA,OAAOA,CACT,GAAG,EAQH,SAASkB,GAAW,CAClB,OAAAwB,EACA,cAAAvJ,CACF,EAAG,CACD,OAAOwJ,GAAUxJ,EAAgB,IAAIqB,GAAWC,GAAckI,EAAO,UAAU,CAC7E,KAAMC,GAASF,EAAO,IAAI,IAAMjI,EAAW,KAAKmI,CAAK,CAAC,EACtD,MAAOjG,GAAS+F,EAAO,IAAI,IAAMjI,EAAW,MAAMkC,CAAK,CAAC,EACxD,SAAU,IAAM+F,EAAO,IAAI,IAAMjI,EAAW,SAAS,CAAC,CACxD,CAAC,CAAC,EAAIkI,CACR,CACA,IAAME,GAAkC,IAAI/I,GAAe,+DAA+D,EAC1H,SAASgJ,GAAkC3C,EAAWnI,EAAQ,CAC5D,MAAO,EAAQmI,GAAcnI,EAAO,UAAY+K,EAClD,CACA,SAASC,IAA+B,CACtC,IAAMC,EAAe,+BACrB,OAAI,OAAO,QAAW,UAAY,OAAO,OAAOA,CAAY,EAAM,IACzD,OAAOA,CAAY,EAEnB,IAEX,CACA,SAASC,GAAsBC,EAAU,CACvC,OAAOA,EAAS,KAClB,CAiBA,SAASC,GAAqBhF,EAAU,CAAC,EAAG,CAC1C,OAAOiF,GAAyB,CAACtJ,GAAmBT,GAAoB0G,GAAe,CACrF,QAASsD,GACT,SAAUlF,CACZ,EAAG,CACD,QAASyE,GACT,KAAM,CAAChJ,GAA0BuC,EAAqB,EACtD,WAAY0G,EACd,EAAG,CACD,QAASjJ,GACT,WAAYmJ,EACd,EAAG,CACD,QAAS5G,GACT,KAAM,CAACkH,EAAe,EACtB,WAAYC,EACd,EAAG,CACD,QAASC,GACT,KAAM,CAACxD,EAAa,EACpB,WAAYkD,EACd,EAAG,CACD,QAASO,GACT,YAAanK,EACf,CAAC,CAAC,CACJ,CACA,IAAIoK,IAAoC,IAAM,CAC5C,MAAMA,CAAoB,CACxB,OAAO,WAAWtF,EAAU,CAAC,EAAG,CAC9B,MAAO,CACL,SAAUsF,EACV,UAAW,CAACN,GAAqBhF,CAAO,CAAC,CAC3C,CACF,CAEA,MAAO,CACL,KAAK,UAAO,SAAqC3E,EAAmB,CAClE,OAAO,IAAKA,GAAqBiK,EACnC,CACF,CAEA,MAAO,CACL,KAAK,UAAyBC,GAAiB,CAC7C,KAAMD,CACR,CAAC,CACH,CAEA,MAAO,CACL,KAAK,UAAyBE,GAAiB,CAAC,CAAC,CACnD,CACF,CACA,OAAOF,CACT,GAAG,ECtkCH,IAAIG,IAAoC,IAAM,CAC5C,MAAMA,CAAoB,CACxB,KACA,OACA,OACA,YAAYC,EAAMC,EAAS,gBAAiBC,EAAS,QAAS,CAC5D,KAAK,KAAOF,EACZ,KAAK,OAASC,EACd,KAAK,OAASC,CAChB,CAIA,eAAeC,EAAM,CACnB,OAAO,KAAK,KAAK,IAAI,GAAG,KAAK,MAAM,GAAGA,CAAI,GAAG,KAAK,MAAM,EAAE,CAC5D,CACA,OAAO,UAAO,SAAqCC,EAAmB,CACpE,OAAO,IAAKA,GAAqBL,GAAwBM,EAAYC,EAAU,EAAMD,EAAS,MAAM,EAAMA,EAAS,MAAM,CAAC,CAC5H,EACA,OAAO,WAA0BE,EAAmB,CAClD,MAAOR,EACP,QAASA,EAAoB,SAC/B,CAAC,CACH,CACA,OAAOA,CACT,GAAG,ECpBH,IAAMS,GAAqB,IAAIC,GAAe,oBAAoB,EAE5DC,GAAqB,IAAID,GAAe,oBAAoB,EAE5DE,GAAkB,IAAIF,GAAe,qBAAqB,EAC1DG,GAAqB,IAAIH,GAAe,oBAAoB,EAC5DI,GAAwB,IAAIJ,GAAe,uBAAuB,EAIlEK,GAA2B,IAAIL,GAAe,0BAA0B,EAC9E,SAASM,GAAWC,EAAYC,EAAcC,EAAU,CACtD,IAAAC,EACA,KAAAC,EACA,MAAAC,CACF,EAAI,CAAC,EAAG,CACN,OAAO,mBAAqB,IAAM,CAChCH,EAAS,UAAU,CACrB,EACA,IAAMI,EAAS,SAAS,cAAc,QAAQ,EAC9CA,EAAO,UAAY,GACnB,GAAM,CACJ,IAAKC,EACL,MAAOC,CACT,EAAIP,EAAa,IAAI,IAAIE,GAAO,yCAAyC,CAAC,EAC1EI,EAAQ,aAAa,IAAI,SAAUP,IAAe,WAAaA,EAAaA,EAAW,GAAG,EAC1FO,EAAQ,aAAa,IAAI,SAAU,oBAAoB,EACvDA,EAAQ,aAAa,IAAI,eAAgB,MAAM,EAC3CH,GACFG,EAAQ,aAAa,IAAI,KAAMH,CAAI,EAErCE,EAAO,IAAMC,EAAQ,KACrB,IAAME,EAAaD,GAAqBH,EACpCI,GACFH,EAAO,aAAa,QAASG,CAAU,EAEzCH,EAAO,MAAQ,GACfA,EAAO,MAAQ,GACf,SAAS,KAAK,YAAYA,CAAM,CAClC,CACA,SAASI,GAAc,CACrB,UAAAC,EACA,aAAAV,EACA,SAAAC,CACF,EAAG,CACD,IAAMF,EAAaW,EAAY,CAC7B,IAAKA,CACP,EAAI,WACJC,GAAO,WAAWZ,EAAYC,EAAcC,CAAQ,CACtD,CACA,IAAMU,GAAS,CACb,WAAAb,GACA,cAAAW,EACF,EACA,SAASG,GAAoBC,EAAS,CACpC,OAAOA,EAAQ,aAAa,EAAE,KAAKC,GAAOC,GAASA,IAAU,IAAI,CAAC,CACpE,CACA,IAAIC,IAAuC,IAAM,CAC/C,MAAMA,CAAuB,CAK3B,MAAO,CACL,KAAK,MAAQ,IACf,CACA,YAEAC,EAEAC,EAEAZ,EAEAF,EAAOM,EAAWS,EAAS,CACzB,KAAK,WAAaF,EAClB,KAAK,SAAWC,EAChB,KAAK,QAAUZ,EACf,KAAK,MAAQF,EACb,KAAK,UAAYM,EACjB,KAAK,QAAUS,EACf,IAAMN,EAAU,KAAK,KAAK,EAC1B,KAAK,MAAQA,EAAUD,GAAoBC,CAAO,EAAIO,GAAG,CAC3D,CAEA,MAAO,CACL,GAAIJ,EAAuB,MACzB,OAAOA,EAAuB,MAEhC,GAAI,CAACK,GAAkB,KAAK,UAAU,EACpC,OAEF,IAAMR,EAAU,IAAIS,GAAgB,IAAI,EACxC,OAAAN,EAAuB,MAAQH,EAC/BF,GAAO,cAAc,CACnB,UAAW,KAAK,UAChB,aAAcT,GAAO,CACnB,GAAI,KAAK,SAAS,aAChB,OAAO,KAAK,QAAQ,aAAaA,CAAG,EAEtC,IAAMqB,EAAS,IAAI,IAAI,KAAK,SAAWrB,CAAG,EAC1C,OAAI,KAAK,UACPqB,EAAO,aAAa,IAAI,KAAM,KAAK,QAAQ,EAEtC,CACL,IAAKA,EACL,MAAO,KAAK,KACd,CACF,EACA,SAAUC,GAAa,CACrB,IAAIT,EAAQS,EACR,KAAK,SAAS,WAChBT,EAAQ,KAAK,QAAQ,SAASS,CAAS,GAEzCX,EAAQ,KAAKE,CAAK,CACpB,CACF,CAAC,EACMF,CACT,CACA,MAAO,CACL,KAAK,UAAO,SAAwCY,EAAmB,CACrE,OAAO,IAAKA,GAAqBT,GAA2BU,EAASC,EAAW,EAAMD,EAASnC,GAAoB,CAAC,EAAMmC,EAASjC,GAAoB,CAAC,EAAMiC,EAAShC,GAAiB,CAAC,EAAMgC,EAAS9B,GAAuB,CAAC,EAAM8B,EAAS7B,GAA0B,CAAC,CAAC,CAC7Q,CACF,CACA,MAAO,CACL,KAAK,WAA0B+B,EAAmB,CAChD,MAAOZ,EACP,QAASA,EAAuB,SAClC,CAAC,CACH,CACF,CACA,OAAOA,CACT,GAAG,EAiOH,IAAIa,IAAmC,IAAM,CAC3C,MAAMA,CAAmB,CACvB,YAAYC,EAAMC,EAAiBC,EAAS,CAC1C,KAAK,gBAAkBD,EACvB,KAAK,KAAOD,EACZ,KAAK,QAAUE,EACf,KAAK,KAAK,CACZ,CACA,IAAI,WAAY,CACd,OAAK,KAAK,mBACR,KAAK,iBAAmB,IAAIC,GAC5B,KAAK,oBAAsB,KAAK,iBAAiB,aAAa,GAEzD,KAAK,mBACd,CACA,IAAI,gBAAiB,CACnB,OAAK,KAAK,wBACR,KAAK,sBAAwB,IAAIA,GACjC,KAAK,yBAA2B,KAAK,sBAAsB,aAAa,GAEnE,KAAK,wBACd,CAYA,QAAQC,EAAQ,CACd,IAAMC,EAAU,IAAIF,GACpB,OAAK,KAAK,WAMR,KAAK,yBAAyBC,EAAQC,CAAO,GALxC,KAAK,gBACR,KAAK,cAAgB,CAAC,GAExB,KAAK,cAAc,KAAK,CAACD,EAAQC,CAAO,CAAC,GAIpCA,EAAQ,aAAa,CAC9B,CAEA,yBAAyBD,EAAQC,EAAS,CAExC,IAAMC,EAAUC,GAAS,CACvB,KAAK,KAAK,IAAI,IAAM,CAClBF,EAAQ,MAAME,CAAK,EACf,KAAK,uBAGP,KAAK,sBAAsB,KAAK,CAC9B,OAAAH,EACA,MAAAG,CACF,CAAC,CAEL,CAAC,CACH,EACA,KAAK,KAAK,kBAAkB,IAAM,CAChC,GAAI,CACF,KAAK,WAAW,QAAQ,KAAK,QAAS,CACpC,OAAAH,CACF,CAAC,EAAE,KAAKI,GAAS,CACf,KAAK,KAAK,IAAI,IAAM,CAClBH,EAAQ,KAAKG,CAAK,EAClBH,EAAQ,SAAS,EACb,KAAK,kBACP,KAAK,iBAAiB,KAAK,CACzB,OAAAD,EACA,MAAAI,CACF,CAAC,CAEL,CAAC,CACH,EAAGF,CAAO,CACZ,OAASG,EAAG,CACVH,EAAQG,CAAC,CACX,CACF,CAAC,CACH,CAEA,MAAO,CACL,KAAK,gBAAgB,MAAM,UAAUC,GAAS,CAC5C,KAAK,WAAaA,EACd,KAAK,eAAiB,KAAK,cAAc,OAAS,IACpD,KAAK,cAAc,QAAQ,CAAC,CAACN,EAAQC,CAAO,IAAM,KAAK,yBAAyBD,EAAQC,CAAO,CAAC,EAChG,KAAK,cAAgB,OAEzB,CAAC,CACH,CACA,MAAO,CACL,KAAK,UAAO,SAAoCM,EAAmB,CACjE,OAAO,IAAKA,GAAqBZ,GAAuBa,EAAYC,EAAM,EAAMD,EAASE,EAAsB,EAAMF,EAASG,EAAqB,CAAC,CACtJ,CACF,CACA,MAAO,CACL,KAAK,WAA0BC,EAAmB,CAChD,MAAOjB,EACP,QAASA,EAAmB,SAC9B,CAAC,CACH,CACF,CACA,OAAOA,CACT,GAAG,EAICkB,IAAkC,IAAM,CAC1C,MAAMA,CAAkB,CACtB,MAAO,CACL,KAAK,UAAO,SAAmCN,EAAmB,CAChE,OAAO,IAAKA,GAAqBM,EACnC,CACF,CACA,MAAO,CACL,KAAK,UAAyBC,GAAiB,CAC7C,KAAMD,CACR,CAAC,CACH,CACA,MAAO,CACL,KAAK,UAAyBE,GAAiB,CAC7C,UAAW,CAACpB,GAAoBe,EAAsB,CACxD,CAAC,CACH,CACF,CACA,OAAOG,CACT,GAAG,ECxeI,IAAMG,GAAoBC,GAA+CC,EAAU,EAE7EC,GAAiBC,EAAeJ,GAAoBK,GAAUA,EAAMC,kBAAkB,EAEtFC,GAAuBH,EAClCD,GACCE,GAA+BA,EAAMG,KAAK,ECP7C,IAAMC,GAAM,CAAC,OAAO,EAChBC,IAA+B,IAAM,CACvC,MAAMA,CAAe,CACnB,aAAc,CACZ,KAAK,MAAQC,GAAM,EACnB,KAAK,YAAcA,GAAM,EACzB,KAAK,OAASA,GAAM,EACpB,KAAK,WAAaA,GAAM,EACxB,KAAK,OAASA,GAAM,EACpB,KAAK,OAASA,GAAM,EACpB,KAAK,OAASA,GAAM,EACpB,KAAK,OAASA,GAAM,EACpB,KAAK,QAAUA,GAAM,EACrB,KAAK,OAASA,GAAM,EACpB,KAAK,KAAOA,GAAM,EAClB,KAAK,QAAUA,GAAM,EACrB,KAAK,YAAcA,GAAM,EACzB,KAAK,WAAaA,GAAM,EACxB,KAAK,MAAQA,GAAM,EACnB,KAAK,MAAQA,GAAM,EACnB,KAAK,mBAAqBA,GAAM,EAChC,KAAK,KAAOA,GAAM,EAClB,KAAK,OAASA,GAAM,EACpB,KAAK,MAAQA,GAAM,EACnB,KAAK,SAAWA,GAAM,EACtB,KAAK,MAAQA,GAAM,EACnB,KAAK,iBAAmBA,GAAM,EAAI,EAClC,KAAK,WAAaC,GAAO,EAKzB,KAAK,cAAgBC,GAAO,IAAI,EAChC,KAAK,aAAeC,GAAU,SAAS,OAAO,EAC9C,KAAK,OAASC,GAAOC,EAAM,EAC3B,KAAK,UAAYC,GAAkBF,GAAOG,EAAW,CAAC,CACxD,CACA,YAAYC,EAAS,CACd,KAAK,WACV,KAAK,OAAO,kBAAkB,IAAM,CAClCC,GAAc,SAAS,IAAM,KAAK,QAAQD,CAAO,CAAC,CACpD,CAAC,CACH,CACA,aAAc,CACZ,KAAK,QAAQ,CACf,CACA,QAAQA,EAAS,CAEf,GAD2B,KAAK,iBAAiB,GAAK,OAAO,KAAKA,CAAO,EAAE,OAAOE,GAAKA,IAAM,QAAQ,EAAE,SAAW,EAC1F,CACtB,KAAK,aAAa,KAAK,OAAO,EAAG,EAAI,EACrC,MACF,CACA,KAAK,cAAc,CACrB,CACM,eAAgB,QAAAC,GAAA,sBACpB,GAAM,CACJ,QAASC,CACX,EAAI,KAAM,QAAO,qBAAY,EAC7B,OAAO,aAAeA,EACtB,IAAMC,EAAU,CAAC,EACE,CAAC,cAAe,QAAS,SAAU,aAAc,SAAU,SAAU,SAAU,SAAU,OAAQ,UAAW,cAAe,aAAc,UAAW,SAAU,QAAS,QAAS,qBAAsB,OAAQ,SAAU,QAAS,WAAY,OAAO,EAC5P,QAAQC,GAAY,CAC7B,IAAMC,EAAQ,KAAKD,CAAQ,EAAE,EACzBC,IACFF,EAAQC,CAAQ,EAAIC,EAExB,CAAC,EACD,KAAK,QAAQ,EACb,IAAMC,EAAgB,KAAK,OAAO,kBAAkB,IAAM,IAAIJ,EAAW,KAAK,aAAa,EAAE,cAAeC,CAAO,CAAC,EACpH,KAAK,cAAc,IAAIG,CAAa,EACpC,KAAK,OAAO,EACZ,KAAK,WAAW,KAAK,CACnB,SAAUA,CACZ,CAAC,CACH,GACA,QAAS,CACP,OAAO,KAAK,OAAO,kBAAkB,IAAM,KAAK,cAAc,GAAG,OAAO,CAAC,CAC3E,CACA,cAAcH,EAASI,EAAaC,EAASC,EAAoB,CAC/D,OAAO,KAAK,OAAO,kBAAkB,IAAM,KAAK,cAAc,GAAG,cAAcN,EAASI,EAAaC,EAASC,CAAkB,CAAC,CACnI,CACA,aAAaC,EAAWF,EAAS,CAC/B,OAAO,KAAK,OAAO,kBAAkB,IAAM,KAAK,cAAc,GAAG,aAAaE,EAAWF,CAAO,CAAC,CACnG,CACA,aAAaE,EAAWF,EAAS,CAC/B,KAAK,OAAO,kBAAkB,IAAM,KAAK,cAAc,GAAG,aAAaE,EAAWF,CAAO,CAAC,CAC5F,CACA,WAAWG,EAAS,CAClB,KAAK,OAAO,kBAAkB,IAAM,KAAK,cAAc,GAAG,WAAWA,CAAO,CAAC,CAC/E,CACA,gBAAgBC,EAAY,CAC1B,OAAO,KAAK,OAAO,kBAAkB,IAAM,KAAK,cAAc,GAAG,gBAAgBA,CAAU,CAAC,CAC9F,CACA,aAAaA,EAAY,CACvB,OAAO,KAAK,OAAO,kBAAkB,IAAM,KAAK,cAAc,GAAG,aAAaA,CAAU,CAAC,CAC3F,CACA,WAAWA,EAAY,CACrB,KAAK,OAAO,kBAAkB,IAAM,KAAK,cAAc,GAAG,WAAWA,CAAU,CAAC,CAClF,CACA,WAAWA,EAAY,CACrB,KAAK,OAAO,kBAAkB,IAAM,KAAK,cAAc,GAAG,WAAWA,CAAU,CAAC,CAClF,CACA,aAAc,CACZ,KAAK,OAAO,kBAAkB,IAAM,KAAK,cAAc,GAAG,YAAY,CAAC,CACzE,CACA,MAAMC,EAAKC,EAAK,CACd,KAAK,OAAO,kBAAkB,IAAM,KAAK,cAAc,GAAG,MAAMD,EAAKC,CAAG,CAAC,CAC3E,CACA,yBAAyBC,EAAaC,EAAgB,CACpD,KAAK,OAAO,kBAAkB,IAAM,KAAK,cAAc,GAAG,yBAAyBD,EAAaC,CAAc,CAAC,CACjH,CACA,SAAU,CACR,KAAK,cAAc,GAAG,QAAQ,EAC9B,KAAK,cAAc,IAAI,IAAI,CAC7B,CACA,UAAUC,EAAY,CACpB,KAAK,OAAO,kBAAkB,IAAM,KAAK,cAAc,GAAG,UAAUA,CAAU,CAAC,CACjF,CACA,OAAQ,CACN,KAAK,OAAO,kBAAkB,IAAM,KAAK,cAAc,GAAG,MAAM,CAAC,CACnE,CACA,mBAAmBd,EAASe,EAAcC,EAAS,CACjD,KAAK,OAAO,kBAAkB,IAAM,KAAK,cAAc,GAAG,mBAAmBhB,EAASe,EAAcC,CAAO,CAAC,CAC9G,CACA,mBAAmBhB,EAASe,EAAcC,EAAS,CACjD,KAAK,OAAO,kBAAkB,IAAM,KAAK,cAAc,GAAG,mBAAmBhB,EAASe,EAAcC,CAAO,CAAC,CAC9G,CACA,mBAAmBhB,EAASe,EAAcC,EAAS,CACjD,KAAK,OAAO,kBAAkB,IAAM,KAAK,cAAc,GAAG,mBAAmBhB,EAASe,EAAcC,CAAO,CAAC,CAC9G,CACA,iBAAiBC,EAAIjB,EAAS,CAC5B,KAAK,OAAO,kBAAkB,IAAM,KAAK,cAAc,GAAG,iBAAiBiB,EAAIjB,CAAO,CAAC,CACzF,CACA,iBAAiBA,EAAS,CACxB,KAAK,OAAO,kBAAkB,IAAM,KAAK,cAAc,GAAG,iBAAiBA,CAAO,CAAC,CACrF,CACA,QAAQA,EAAS,CACf,OAAO,KAAK,cAAc,GAAG,QAAQA,CAAO,CAC9C,CAEA,MAAO,CACL,KAAK,UAAO,SAAgCkB,EAAmB,CAC7D,OAAO,IAAKA,GAAqBhC,EACnC,CACF,CAEA,MAAO,CACL,KAAK,UAAyBiC,EAAkB,CAC9C,KAAMjC,EACN,UAAW,CAAC,CAAC,WAAW,CAAC,EACzB,UAAW,SAA8BkC,EAAIC,EAAK,CAC5CD,EAAK,GACJE,GAAkBD,EAAI,aAAcpC,GAAK,CAAC,EAE3CmC,EAAK,GACJG,GAAe,CAEtB,EACA,OAAQ,CACN,MAAO,CAAC,EAAG,OAAO,EAClB,YAAa,CAAC,EAAG,aAAa,EAC9B,OAAQ,CAAC,EAAG,QAAQ,EACpB,WAAY,CAAC,EAAG,YAAY,EAC5B,OAAQ,CAAC,EAAG,QAAQ,EACpB,OAAQ,CAAC,EAAG,QAAQ,EACpB,OAAQ,CAAC,EAAG,QAAQ,EACpB,OAAQ,CAAC,EAAG,QAAQ,EACpB,QAAS,CAAC,EAAG,SAAS,EACtB,OAAQ,CAAC,EAAG,QAAQ,EACpB,KAAM,CAAC,EAAG,MAAM,EAChB,QAAS,CAAC,EAAG,SAAS,EACtB,YAAa,CAAC,EAAG,aAAa,EAC9B,WAAY,CAAC,EAAG,YAAY,EAC5B,MAAO,CAAC,EAAG,OAAO,EAClB,MAAO,CAAC,EAAG,OAAO,EAClB,mBAAoB,CAAC,EAAG,oBAAoB,EAC5C,KAAM,CAAC,EAAG,MAAM,EAChB,OAAQ,CAAC,EAAG,QAAQ,EACpB,MAAO,CAAC,EAAG,OAAO,EAClB,SAAU,CAAC,EAAG,UAAU,EACxB,MAAO,CAAC,EAAG,OAAO,EAClB,iBAAkB,CAAC,EAAG,kBAAkB,CAC1C,EACA,QAAS,CACP,WAAY,YACd,EACA,SAAU,CAAIC,EAAoB,EAClC,MAAO,EACP,KAAM,EACN,OAAQ,CAAC,CAAC,QAAS,EAAE,CAAC,EACtB,SAAU,SAAiCJ,EAAIC,EAAK,CAC9CD,EAAK,GACJK,EAAU,EAAG,MAAO,KAAM,CAAC,CAElC,EACA,cAAe,EACf,gBAAiB,CACnB,CAAC,CACH,CACF,CACA,OAAOvC,CACT,GAAG,EAKH,IAAIwC,IAAmC,IAAM,CAC3C,MAAMA,CAAmB,CACL,MAAO,CACvB,KAAK,UAAO,SAAoCC,EAAmB,CACjE,OAAO,IAAKA,GAAqBD,EACnC,CACF,CAEA,MAAO,CACL,KAAK,UAAyBE,GAAiB,CAC7C,KAAMF,CACR,CAAC,CACH,CAEA,MAAO,CACL,KAAK,UAAyBG,GAAiB,CAAC,CAAC,CACnD,CACF,CACA,OAAOH,CACT,GAAG,8CEtNGI,EAAA,EAAA,OAAA,EAAmD,EAAA,IAAA,EAC7C,EAAA,IAAA,EACEC,EAAA,CAAA,cAA8BC,EAAA,EAClCF,EAAA,EAAA,IAAA,EAAIC,EAAA,CAAA,kBAAqBC,EAAA,EAAK,EAC3B,0BAFCC,EAAA,CAAA,EAAAC,EAAAC,GAAA,EAAA,EAAAC,EAAAC,EAAA,YAAA,CAAA,EACAJ,EAAA,CAAA,EAAAC,EAAAI,EAAA,EAAA,EAAAF,EAAAG,CAAA,CAAA,GDiCd,IAAaC,IACX,IAAA,CADI,MAAOA,UACHC,CAAa,CAYrBC,YAAmBC,EAAqC,CACtD,MAAK,EADY,KAAAA,MAAAA,EATnB,KAAAC,OAAS,IAAIC,GACb,KAAAC,OAAS,KAAKH,MAAMI,KAAKC,EAAOC,EAAoB,CAAC,EACrD,KAAAC,iBAAmB,KAAKP,MAAMI,KAC5BC,EAAOG,EAAqC,CAAC,EAQ7C,KAAKC,aAAe,CAClBC,QAAS,CACPC,QAAS,IAEXC,OAAQ,CACN,CACEC,KAAM,aACNC,KAAM,CAAA,EACP,EAGHC,MAAO,CACLC,OAAQ,IACRC,KAAM,OACNC,KAAM,CACJP,QAAS,KAGbQ,WAAY,CACVR,QAAS,IAEXS,OAAQ,CACNC,MAAO,YAETC,MAAO,CACLC,KAAM,GACNC,MAAO,QAETC,KAAM,CACJC,IAAK,CACHC,OAAQ,CAAC,UAAW,aAAa,EACjCC,QAAS,KAGbC,MAAO,CACLC,OAAQ,CACNC,UAAW,SAAUC,EAAK,CACxB,MAAO,IAAMA,CACf,IAGJC,MAAO,CACLhB,KAAM,YAGZ,CAEAiB,UAAQ,CACN,MAAMC,aAAY,EAElB,KAAKC,IAAM,KAAK7B,iBAAiB8B,UAAW3C,GAAK,CAC3CA,GACF,KAAK4C,SAAS,KAAKtC,MAAOuC,GAAc,CAAEC,UAAW9C,EAAE8C,SAAS,CAAE,CAAC,CAEvE,CAAC,EAED,KAAKJ,IAAM,KAAKjC,OAAOkC,UAAW3C,GAAK,CACjCA,GAAK,KAAKqB,OACZ,KAAKA,MAAM0B,aAAa,CACtB,CACE3B,KAAMpB,EAAEoB,KACT,CACF,CAEL,CAAC,CACH,CAEA4B,aAAW,CACT,MAAMC,gBAAe,CACvB,iDApFW9C,GAAuB+C,EAAAC,CAAA,CAAA,CAAA,CAAA,+BAAvBhD,EAAuBiD,UAAA,CAAA,CAAA,sBAAA,CAAA,EAAAC,UAAA,SAAAC,EAAAC,EAAA,IAAAD,EAAA,wSCnDpC7D,EAAA,EAAA,MAAA,CAAA,EAEE+D,EAAA,EAAA,YAAA,EAAA,CAAA,EAME/D,EAAA,EAAA,OAAA,mBACEA,EAAA,EAAA,OAAA,EAAO,EAAA,IAAA,EACD,EAAA,IAAA,EACEC,EAAA,EAAA,MAAA,EAAIC,EAAA,EACRF,EAAA,EAAA,IAAA,EAAIC,EAAA,GAAA,YAAA,EAAUC,EAAA,EAAK,EAChB,EAEP8D,EAAA,GAAAC,GAAA,EAAA,EAAA,QAAA,CAAA,gBAMF/D,EAAA,EAAQ,cAnB2BC,EAAA,EAAA+D,EAAA,SAAAJ,EAAAxC,aAAAG,MAAA,EAA8B,QAAAqC,EAAAxC,aAAAM,KAAA,EAA6B,QAAAkC,EAAAxC,aAAAwB,KAAA,EAClE,QAAAgB,EAAAxC,aAAAoB,KAAA,EAA6B,aAAAoB,EAAAxC,aAAAU,UAAA,EAAuC,OAAA8B,EAAAxC,aAAAgB,IAAA,EACtE,SAAAwB,EAAAxC,aAAAW,MAAA,EAA+B,QAAA6B,EAAAxC,aAAAa,KAAA,EAA6B,UAAA2B,EAAAxC,aAAAC,OAAA,EAI/EpB,EAAA,CAAA,EAAAgE,GAAA,SAAA3D,EAAA,EAAA,GAAA,kCAAA,EAAA,YAAA,EAOmBL,EAAA,CAAA,EAAA+D,EAAA,WAAAE,EAAA5D,EAAA,GAAA,GAAAsD,EAAA9C,MAAA,IAAA,KAAA,KAAAoD,EAAAzC,IAAA,kBD2B1B0C,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,EAAS,EAAAC,OAAA,CAAA,qEAAA,CAAA,CAAA,CAAA,SAGAlE,CACX,GAAA,EE1BF,IAAamE,IACX,IAAA,CADI,MAAOA,UACHC,CAAa,CAGrBC,YAAmBC,EAAsB,CACvC,MAAK,EADY,KAAAA,MAAAA,CAEnB,CAEAC,UAAQ,CACN,MAAMC,aAAY,CACpB,CAEAC,aAAW,CACT,MAAMC,gBAAe,CACvB,iDAdWP,GAAmBQ,EAAAC,CAAA,CAAA,CAAA,CAAA,+BAAnBT,EAAmBU,UAAA,CAAA,CAAA,iBAAA,CAAA,EAAAC,UAAA,CAAA,EAAA,OAAA,EAAAC,SAAA,CAAAC,CAAA,EAAAC,MAAA,GAAAC,KAAA,EAAAC,OAAA,CAAA,CAAA,KAAA,uBAAA,EAAA,CAAA,EAAA,aAAA,EAAA,CAAA,OAAA,aAAA,EAAA,CAAA,OAAA,QAAA,EAAA,SAAA,aAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,gBAAA,GAAA,EAAA,cAAA,EAAA,CAAA,OAAA,WAAA,SAAA,MAAA,CAAA,EAAAC,SAAA,SAAAC,EAAAC,EAAA,CAAAD,EAAA,IC1BhCE,EAAA,EAAA,MAAA,CAAA,EAAgC,EAAA,MAAA,CAAA,EACL,EAAA,sBAAA,CAAA,EACiB,EAAA,MAAA,CAAA,EACO,EAAA,MAAA,CAAA,EAClBC,EAAA,CAAA,uBAAiCC,EAAA,EAAM,EAE5D,EACc,EAExBF,EAAA,EAAA,MAAA,CAAA,EAAwC,EAAA,wBAAA,CAAA,EAGe,EAAA,MAAA,CAAA,EAEjDG,EAAA,GAAA,sBAAA,EACFD,EAAA,EAAM,EACgB,EAGpB,SAfyBE,EAAA,CAAA,EAAAC,EAAA,IAAAC,EAAA,EAAA,EAAA,aAAA,EAAA,EAAA,kBDe7BC,GACAC,GACAC,GACAC,GACAC,EAAmB,EAAAC,OAAA,CAAA,gEAAA,CAAA,CAAA,CAAA,SAGVhC,CACX,GAAA,EEVF,IAAaiC,IACX,IAAA,CADI,MAAOA,UACHC,CAAa,CAGrBC,YAAmBC,EAAsB,CACvC,MAAK,EADY,KAAAA,MAAAA,CAEnB,CAEAC,UAAQ,CACN,MAAMC,aAAY,CACpB,CAEAC,aAAW,CACT,MAAMC,gBAAe,CACvB,iDAdWP,GAAqBQ,EAAAC,CAAA,CAAA,CAAA,CAAA,+BAArBT,EAAqBU,UAAA,CAAA,CAAA,kBAAA,CAAA,EAAAC,UAAA,CAAA,EAAA,OAAA,EAAAC,SAAA,CAAAC,CAAA,EAAAC,MAAA,IAAAC,KAAA,EAAAC,OAAA,CAAA,CAAA,KAAA,yBAAA,gBAAA,GAAA,EAAA,OAAA,OAAA,EAAA,CAAA,OAAA,eAAA,EAAA,CAAA,OAAA,QAAA,EAAA,SAAA,aAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,cAAA,CAAA,EAAAC,SAAA,SAAAC,EAAAC,EAAA,CAAAD,EAAA,ICjBlCE,EAAA,EAAA,MAAA,CAAA,EAAkE,EAAA,sBAAA,CAAA,EACtB,EAAA,MAAA,CAAA,EACK,EAAA,MAAA,CAAA,EACnBC,EAAA,EAAA,sBAAA,EAAoBC,EAAA,EAAM,EAC9C,EAGRF,EAAA,EAAA,MAAA,CAAA,EACEC,EAAA,EAAA,mBAAA,EAAgBE,EAAA,EAAA,IAAA,EAChBF,EAAA,EAAA,mBAAA,EAAgBE,EAAA,EAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,GAAA,mBAAA,EAAgBE,EAAA,GAAA,IAAA,EAChBF,EAAA,IAAA,mBAAA,EAAgBE,EAAA,IAAA,IAAA,EAChBF,EAAA,IAAA,mBAAA,EAAgBE,EAAA,IAAA,IAAA,EAChBF,EAAA,IAAA,mBAAA,EAAgBE,EAAA,IAAA,IAAA,EAChBF,EAAA,IAAA,mBAAA,EAAgBE,EAAA,IAAA,IAAA,EAChBF,EAAA,IAAA,mBAAA,EAAgBE,EAAA,IAAA,IAAA,EAChBF,EAAA,IAAA,mBAAA,EAAgBE,EAAA,IAAA,IAAA,EAChBF,EAAA,IAAA,mBAAA,EAAgBE,EAAA,IAAA,IAAA,EAChBF,EAAA,IAAA,mBAAA,EAAgBE,EAAA,IAAA,IAAA,EAChBF,EAAA,IAAA,mBAAA,EAAgBE,EAAA,IAAA,IAAA,EAChBF,EAAA,IAAA,mBAAA,EAAgBE,EAAA,IAAA,IAAA,EAChBF,EAAA,IAAA,mBAAA,EAAgBE,EAAA,IAAA,IAAA,EAChBF,EAAA,IAAA,mBAAA,EAAgBE,EAAA,IAAA,IAAA,EAChBF,EAAA,IAAA,mBAAA,EAAgBE,EAAA,IAAA,IAAA,EAChBF,EAAA,IAAA,mBAAA,EAAgBE,EAAA,IAAA,IAAA,EAChBF,EAAA,IAAA,mBAAA,EAAgBE,EAAA,IAAA,IAAA,EAChBF,EAAA,IAAA,mBAAA,EAAgBE,EAAA,IAAA,IAAA,EAChBF,EAAA,IAAA,mBAAA,EAAgBE,EAAA,IAAA,IAAA,EAChBF,EAAA,IAAA,mBAAA,EAAgBE,EAAA,IAAA,IAAA,EAChBF,EAAA,IAAA,mBAAA,EAAgBE,EAAA,IAAA,IAAA,EAChBF,EAAA,IAAA,mBAAA,EAAgBE,EAAA,IAAA,IAAA,EAChBF,EAAA,IAAA,mBAAA,EAAgBE,EAAA,IAAA,IAAA,EAChBF,EAAA,IAAA,mBAAA,EAAgBE,EAAA,IAAA,IAAA,EAChBF,EAAA,IAAA,mBAAA,EAAgBE,EAAA,IAAA,IAAA,EAChBF,EAAA,IAAA,mBAAA,EAAgBE,EAAA,IAAA,IAAA,EAChBF,EAAA,IAAA,mBAAA,EAAgBE,EAAA,IAAA,IAAA,EAChBF,EAAA,IAAA,mBAAA,EAAgBE,EAAA,IAAA,IAAA,EAChBF,EAAA,IAAA,mBAAA,EAAgBE,EAAA,IAAA,IAAA,EAChBF,EAAA,IAAA,mBAAA,EAAgBE,EAAA,IAAA,IAAA,EAChBF,EAAA,IAAA,mBAAA,EAAgBE,EAAA,IAAA,IAAA,EAChBF,EAAA,IAAA,mBAAA,EAAgBE,EAAA,IAAA,IAAA,EAChB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","names":["require_bugsnag","__commonJSMin","exports","module","f","g","define","_$breadcrumbTypes_17","_$reduce_26","arr","fn","accum","val","i","len","_$filter_21","item","_$includes_22","x","_$isArray_23","obj","_hasDontEnumBug","_dontEnums","_$keys_24","result","prop","_$intRange_33","min","max","value","_$listOfFunctions_34","_$stringWithLength_35","_$config_14","defaultErrorTypes","providedKeys","defaultKeys","k","endpoints","maybeType","key","method","s","p","feature","_$assign_20","target","source","_$map_25","_extends","schema","_$config_10","getPrefixedConsole","logger","consoleLog","consoleMethod","Breadcrumb","message","metadata","type","timestamp","_proto","_$Breadcrumb_12","_$stackframe_9","root","factory","_isNumber","n","_capitalize","str","_getter","booleanProps","numericProps","stringProps","arrayProps","objectProps","props","StackFrame","v","fileName","lineNumber","columnNumber","functionName","argsStartIndex","argsEndIndex","args","locationString","parts","j","_$stackGenerator_8","opts","stack","maxStackSize","curr","_$errorStackParser_6","FIREFOX_SAFARI_STACK_REGEXP","CHROME_IE_STACK_REGEXP","SAFARI_NATIVE_CODE_REGEXP","error","urlLike","regExp","filtered","line","sanitizedLine","location","tokens","locationParts","functionNameRegex","matches","e","lineRE","lines","match","functionCall","argsRaw","_$errorStackParser_19","_$safeJsonStringify_5","data","replacer","space","redactedKeys","redactedPaths","prepareObjForSerialization","MAX_DEPTH","MAX_EDGES","MIN_PRESERVED_DEPTH","REPLACEMENT_NODE","isError","o","throwsMessage","err","find","haystack","needle","isDescendent","paths","path","shouldRedact","patterns","__isArray_5","safelyGetProp","seen","edges","visit","edgesExceeded","fResult","er","eResult","aResult","add","existingFeatures","existingFeatureKeys","name","variant","existingIndex","merge","newFeatures","toEventApi","featureFlags","_ref","flag","clear","features","featuresIndex","_$featureFlagDelegate_27","_$hasStack_28","_$isError_7","__isError_7","_$iserror_29","__add_31","state","section","keyOrObj","maybeVal","_updates","updates","__clear_31","get","_$metadataDelegate_31","___extends_15","Event","errorClass","errorMessage","stacktrace","handledState","originalError","defaultHandledState","createBugsnagError","traceId","spanId","id","email","formatStackframe","frame","normaliseFunctionName","ensureString","getCauseStack","errorFramesToSkip","backtraceFramesToSkip","maybeError","tolerateNonErrors","component","_normaliseError","normaliseError","internalFrames","event","makeSerialisable","_event$errors","causes","normalisedCauses","cause","_normaliseError2","createAndLogInputError","reason","verb","hasNecessaryFields","_$Event_15","_$asyncEvery_16","cb","index","next","_$callbackRunner_18","callbacks","onCallbackError","runMaybeAsyncCallback","ret","_$syncCallbackRunner_32","callbackArg","callbackType","ignore","cbs","_$pad_4","num","size","env","globalCount","mimeTypesLength","clientId","_$fingerprint_2","_$isCuid_3","c","blockSize","base","discreteValues","randomBlock","safeCounter","cuid","letter","counter","print","random","_$cuid_1","Session","_$Session_36","__add_13","__clear_13","__merge_13","noop","Client","configuration","internalPlugins","notifier","_this","pl","self","notify","plugin","_reduce","defaultValue","valid","errors","config","generateConfigErrorMessage","d","session","front","crumb","types","onError","postReportCallback","_this2","originalSeverity","shouldSend","rawInput","stringify","_$Client_13","_$jsonPayload_30","EVENT_REDACTION_PATHS","payload","_$delivery_37","client","win","url","getApiUrl","body","req","endpoint","version","isoDate","matchPageProtocol","pageProtocol","getIntegrityHeaderValue","windowOrWorkerGlobalScope","requestBody","msgUint8","hashBuffer","hashArray","hashHex","b","_$delivery_38","status","_err","integrity","_err2","appStart","reset","_$app_39","now","_$context_40","BUGSNAG_ANONYMOUS_ID_KEY","getDeviceId","storage","_$device_41","nav","device","setDefaultUserId","eventOrSession","user","_$request_42","_$session_43","sessionDelegate","sessionClient","_$clientIp_44","_$consoleBreadcrumbs_45","isDev","CONSOLE_LOG_METHODS","original","_len","_key","arg","stringified","MAX_LINE_LENGTH","MAX_SCRIPT_LENGTH","_$inlineScriptContent_46","doc","originalLocation","html","isOldIe","DOMContentLoaded","getHtml","prev","_lastScript","updateLastScript","script","getCurrentScript","scripts","addSurroundingCode","htmlLines","zeroBasedLine","start","end","cleanUrl","currentScript","content","_map","__proxy","__traceOriginalScript","_setTimeout","eventTargetCallbackAccessor","callbackAccessor","alsoCallOriginal","cba","host","replacement","isEventHandlerObj","_$interactionBreadcrumbs_47","targetText","targetSelector","getNodeText","getNodeSelector","trim","el","text","_$navigationBreadcrumbs_48","drop","relativeLocation","getCurrentState","wrapHistoryFn","a","stateChangeToMetadata","title","currentPath","resetEventCount","orig","BREADCRUMB_TYPE","_$networkBreadcrumbs_49","_ignoredUrls","restoreFunctions","ignoredUrls","monkeyPatchXMLHttpRequest","monkeyPatchFetch","trackedRequests","requestHandlers","originalOpen","originalSend","requestData","listeners","requestStart","handleXHRError","getDuration","load","handleXHRLoad","duration","oldFetch","_arguments","urlOrRequest","options","resolve","reject","response","handleFetchSuccess","handleFetchError","startTime","_$throttle_50","_$stripQueryString_51","allFrames","strip","_$onerror_52","onerror","messageOrEvent","lineNo","charNo","decorateStack","prevOnError","culprit","isActualNumber","_listener","_$unhandledRejection_53","listener","evt","isBluebird","unhandled","fixBluebirdStacktrace","_event$addMetadata","promise","_$notifier_11","__schema_11","Bugsnag","bugsnag","m","require_notifier","__commonJSMin","exports","module","invalidTimingValue","exp","RuntimeError","negativeStepValue","negativeDelayValue","invalidStyleParams","varName","invalidParamValue","invalidNodeType","nodeType","invalidCssUnitValue","userProvidedProperty","value","invalidTrigger","invalidDefinition","invalidState","metadataName","missingSubs","invalidStyleValue","invalidParallelAnimation","prop","firstStart","firstEnd","secondStart","secondEnd","RuntimeError","invalidKeyframes","invalidOffset","keyframeOffsetsOutOfOrder","keyframesMissingOffsets","invalidStagger","invalidQuery","selector","invalidExpression","expr","invalidTransitionAlias","alias","triggerBuildFailed","name","errors","RuntimeError","animationFailed","registerFailed","missingOrDestroyedAnimation","createAnimationFailed","missingPlayer","id","missingTrigger","phase","missingEvent","unsupportedTriggerEvent","unregisteredTrigger","triggerTransitionsFailed","transitionFailed","name","errors","RuntimeError","optimizeGroupPlayer","players","NoopAnimationPlayer","AnimationGroupPlayer","normalizeKeyframes$1","normalizer","keyframes","preStyles","postStyles","errors","normalizedKeyframes","previousOffset","previousKeyframe","kf","offset","isSameOffset","normalizedKeyframe","val","prop","normalizedProp","normalizedValue","ɵPRE_STYLE","AUTO_STYLE","animationFailed","listenOnPlayer","player","eventName","event","callback","copyAnimationEvent","e","phaseName","totalTime","disabled","makeAnimationEvent","data","element","triggerName","fromState","toState","getOrSetDefaultValue","map","key","defaultValue","value","parseTimelineCommand","command","separatorPos","id","action","documentElement","getParentElement","parent","containsVendorPrefix","_CACHED_BODY","_IS_WEBKIT","validateStyleProperty","getBodyNode","result","getBodyNode","containsElement","elm1","elm2","getParentElement","invokeQuery","element","selector","multi","elem","NoopAnimationDriver","prop","validateStyleProperty","elm1","elm2","containsElement","element","getParentElement","selector","multi","invokeQuery","defaultValue","keyframes","duration","delay","easing","previousPlayers","scrubberAccessRequested","NoopAnimationPlayer","__ngFactoryType__","ɵɵdefineInjectable","AnimationDriver","AnimationStyleNormalizer","ONE_SECOND","SUBSTITUTION_EXPR_START","SUBSTITUTION_EXPR_END","ENTER_CLASSNAME","LEAVE_CLASSNAME","NG_TRIGGER_CLASSNAME","NG_TRIGGER_SELECTOR","NG_ANIMATING_CLASSNAME","NG_ANIMATING_SELECTOR","resolveTimingValue","value","matches","_convertTimeValueToMS","unit","resolveTiming","timings","errors","allowNegativeValues","parseTimeExpression","exp","regex","duration","delay","easing","invalidTimingValue","delayMatch","easingVal","containsErrors","startIndex","negativeStepValue","negativeDelayValue","normalizeKeyframes","keyframes","kf","setStyles","element","styles","formerStyles","val","prop","camelProp","dashCaseToCamelCase","eraseStyles","_","normalizeAnimationEntry","steps","sequence","validateStyleParams","value","options","errors","params","matches","extractStyleParams","varName","invalidStyleParams","PARAM_REGEX","SUBSTITUTION_EXPR_START","SUBSTITUTION_EXPR_END","match","interpolateParams","original","str","localVal","invalidParamValue","DASH_CASE_REGEXP","input","m","allowPreviousPlayerStylesMerge","duration","delay","balancePreviousStylesIntoKeyframes","element","keyframes","previousStyles","startingKeyframe","missingStyleProps","val","prop","i","kf","computeStyle","visitDslNode","visitor","node","context","AnimationMetadataType","invalidNodeType","DIMENSIONAL_PROP_SET","WebAnimationsStyleNormalizer","AnimationStyleNormalizer","propertyName","errors","dashCaseToCamelCase","userProvidedProperty","normalizedProperty","value","unit","strVal","valAndSuffixMatch","invalidCssUnitValue","ANY_STATE","parseTransitionExpr","transitionValue","errors","expressions","str","parseInnerTransitionStr","eventStr","result","parseAnimationAlias","match","invalidExpression","fromState","separator","toState","makeLambdaFromStates","isFullAnyStateExpr","alias","invalidTransitionAlias","TRUE_BOOLEAN_VALUES","FALSE_BOOLEAN_VALUES","lhs","rhs","LHS_MATCH_BOOLEAN","RHS_MATCH_BOOLEAN","lhsMatch","rhsMatch","SELF_TOKEN","SELF_TOKEN_REGEX","buildAnimationAst","driver","metadata","warnings","AnimationAstBuilderVisitor","ROOT_SELECTOR","_driver","context","AnimationAstBuilderContext","visitDslNode","normalizeAnimationEntry","queryCount","depCount","states","transitions","invalidTrigger","def","AnimationMetadataType","stateDef","name","n","transition","invalidDefinition","styleAst","astParams","missingSubs","params","style","value","extractStyleParams","sub","invalidState","animation","matchers","normalizeAnimationOptions","s","currentTime","furthestTime","steps","step","innerAst","timingAst","constructTimingAst","styleMetadata","isEmpty","newStyleData","_styleAst","ast","styles","metadataStyles","styleTuple","AUTO_STYLE","invalidStyleValue","containsDynamicStyles","collectedEasing","styleData","SUBSTITUTION_EXPR_START","timings","endTime","startTime","tuple","prop","collectedStyles","collectedEntry","updateCollectedStyle","invalidParallelAnimation","validateStyleParams","invalidKeyframes","MAX_KEYFRAME_OFFSET","totalKeyframesWithOffsets","offsets","offsetsOutOfOrder","keyframesOutOfRange","previousOffset","keyframes","offsetVal","consumeOffset","offset","invalidOffset","keyframeOffsetsOutOfOrder","length","generatedOffset","keyframesMissingOffsets","limit","currentAnimateTimings","animateDuration","kf","i","durationUpToThisFrame","parentSelector","options","selector","includeSelf","normalizeSelector","getOrSetDefaultValue","invalidStagger","resolveTiming","hasAmpersand","token","NG_TRIGGER_SELECTOR","NG_ANIMATING_SELECTOR","normalizeParams","obj","__spreadValues","duration","makeTimingAst","strValue","v","delay","easing","createTimelineInstruction","element","preStyleProps","postStyleProps","subTimeline","ElementInstructionMap","instructions","existingInstructions","ONE_FRAME_IN_MILLISECONDS","ENTER_TOKEN","ENTER_TOKEN_REGEX","LEAVE_TOKEN","LEAVE_TOKEN_REGEX","buildAnimationTimelines","rootElement","enterClassName","leaveClassName","startingStyles","finalStyles","subInstructions","AnimationTimelineBuilderVisitor","AnimationTimelineContext","resolveTimingValue","timelines","timeline","lastRootTimeline","elementInstructions","innerContext","animationsRefsOptions","animationRefOptions","animationDelay","animationDelayValue","interpolateParams","instruction","instructionTimings","subContextCount","ctx","DEFAULT_NOOP_PREVIOUS_NODE","innerTimelines","timingValue","innerTimeline","elms","sameElementTimeline","parentContext","tl","maxTime","startingTime","_AnimationTimelineContext","_enterClassName","_leaveClassName","initialTimeline","TimelineBuilder","skipIfExists","newOptions","optionsToUpdate","newParams","paramsToUpdate","oldParams","newTime","target","updatedTimings","builder","SubTimelineBuilder","time","originalSelector","optional","results","multi","elements","invalidQuery","_TimelineBuilder","_elementTimelineStylesLookup","hasPreStyleStep","input","flattenStyles","val","properties","details1","details0","finalKeyframes","keyframe","finalKeyframe","ɵPRE_STYLE","preProps","postProps","kf0","kf1","_stretchStartingKeyframe","newKeyframes","totalTime","startingGap","newFirstKeyframe","oldFirstKeyframe","roundOffset","oldOffset","timeAtKeyframe","decimalPoints","mult","allStyles","allProperties","createTransitionInstruction","triggerName","isRemovalTransition","fromStyles","toStyles","queriedElements","EMPTY_OBJECT","AnimationTransitionFactory","_triggerName","_stateStyles","currentState","nextState","oneOrMoreTransitionsMatch","stateName","styler","currentOptions","nextOptions","skipAstBuild","transitionAnimationParams","currentAnimationParams","currentStateStyles","nextAnimationParams","nextStateStyles","preStyleMap","postStyleMap","isRemoval","animationOptions","applyParamDefaults","elm","oneOrMoreTransitionsMatch","matchFns","currentState","nextState","element","params","fn","applyParamDefaults","userParams","defaults","result","__spreadValues","key","value","AnimationStateStyles","styles","defaultParams","normalizer","errors","finalStyles","combinedParams","val","prop","interpolateParams","normalizedProp","buildTrigger","name","ast","AnimationTrigger","_normalizer","balanceProperties","AnimationTransitionFactory","createFallbackTransition","triggerName","states","matchers","fromState","toState","animation","AnimationMetadataType","transition","stateMap","key1","key2","EMPTY_INSTRUCTION_MAP","ElementInstructionMap","TimelineAnimationEngine","bodyNode","_driver","id","metadata","warnings","buildAnimationAst","registerFailed","i","preStyles","postStyles","keyframes","normalizeKeyframes$1","options","instructions","autoStylesMap","buildAnimationTimelines","ENTER_CLASSNAME","LEAVE_CLASSNAME","inst","getOrSetDefaultValue","missingOrDestroyedAnimation","createAnimationFailed","_","AUTO_STYLE","players","player","optimizeGroupPlayer","index","missingPlayer","eventName","callback","baseEvent","makeAnimationEvent","listenOnPlayer","command","args","QUEUED_CLASSNAME","QUEUED_SELECTOR","DISABLED_CLASSNAME","DISABLED_SELECTOR","STAR_CLASSNAME","STAR_SELECTOR","EMPTY_PLAYER_ARRAY","NULL_REMOVAL_STATE","NULL_REMOVED_QUERIED_STATE","REMOVAL_FLAG","StateValue","input","namespaceId","isObj","normalizeTriggerValue","_a","__objRest","newParams","oldParams","VOID_VALUE","DEFAULT_STATE_VALUE","AnimationTransitionNamespace","hostElement","_engine","addClass","phase","missingTrigger","missingEvent","isTriggerEventValid","unsupportedTriggerEvent","listeners","data","triggersWithStates","NG_TRIGGER_CLASSNAME","trigger","unregisteredTrigger","defaultToFallback","TransitionAnimationPlayer","objEquals","fromStyles","toStyles","eraseStyles","setStyles","playersOnElement","isFallbackTransition","removeClass","entry","elementPlayers","rootElement","context","elements","NG_TRIGGER_SELECTOR","elm","namespaces","ns","destroyAfterComplete","triggerStates","previousTriggersValues","state","elementStates","visitedTriggers","listener","engine","containsPotentialParentTransition","currentPlayers","parent","removalFlag","microtaskId","a","b","d0","d1","p","TransitionAnimationEngine","driver","namespaceList","namespacesByHostElement","found","ancestor","ancestorNs","stateValue","isElementNode","insertBefore","details","hostNS","hasAnimation","subTimelines","enterClassName","leaveClassName","skipBuildAst","containerElement","NG_ANIMATING_SELECTOR","resolve","node","cleanupFns","quietFns","triggerTransitionsFailed","skippedPlayers","skippedPlayersMap","queuedInstructions","queriedElements","allPreStyleElements","allPostStyleElements","disabledElementsSet","nodesThatAreDisabled","allTriggerElements","enterNodeMap","buildRootMap","enterNodeMapIds","nodes","root","className","allLeaveNodes","mergedLeaveNodes","leaveNodesWithoutAnimations","leaveNodeMapIds","leaveNodeMap","allPlayers","erroneousTransitions","previousValue","nodeIsOrphaned","instruction","timelines","tl","tuple","stringMap","setVal","transitionFailed","allPreviousPlayersMap","animationElementMap","prevPlayer","replaceNodes","replacePostStylesAsPre","postStylesMap","cloakAndComputeStyles","preStylesMap","ɵPRE_STYLE","post","pre","rootPlayers","subPlayers","NO_PARENT_ANIMATION_ELEMENT_DETECTED","parentWithAnimation","parentsToAdd","detectedParent","innerPlayer","parentPlayers","playersForElement","queriedPlayerResults","queriedInnerElements","j","queriedPlayers","activePlayers","removeNodesAfterAnimationDone","isQueriedElement","toStateValue","queriedElementPlayers","isRemovalAnimation","targetNameSpaceId","targetTriggerName","timelineInstruction","realPlayer","allQueriedPlayers","allConsumedElements","allSubElements","allNewPlayers","NoopAnimationPlayer","previousPlayers","flattenGroupPlayers","pp","wrappedPlayer","deleteOrUnsetInMap","NG_ANIMATING_CLASSNAME","callbacks","totalTime","phaseName","map","currentValues","cloakElement","oldValue","valuesMap","elementPropsMap","defaultStyle","cloakVals","failedElements","props","roots","rootMap","NULL_NODE","nodeSet","localRootMap","getRoot","finalPlayers","_flattenGroupPlayersRecur","AnimationGroupPlayer","k1","k2","postEntry","preEntry","AnimationEngine","doc","componentId","cacheKey","triggerBuildFailed","disable","property","action","parseTimelineCommand","eventPhase","cb","packageNonAnimatableStyles","startStyles","endStyles","filterNonAnimatableStyles","SpecialCasedStyles","_element","_startStyles","_endStyles","initialStyles","isNonAnimatableStyle","WebAnimationsPlayer","_specialStyles","onFinish","kfs","frame","computeStyle","methods","WebAnimationsDriver","elm1","elm2","containsElement","getParentElement","selector","multi","invokeQuery","defaultValue","duration","delay","easing","fill","playerOptions","previousStyles","previousWebAnimationPlayers","allowPreviousPlayerStylesMerge","_keyframes","normalizeKeyframes","balancePreviousStylesIntoKeyframes","specialStyles","ANIMATION_PREFIX","DISABLE_ANIMATIONS_FLAG","BaseAnimationRenderer","namespaceId","delegate","engine","_onDestroy","node","name","namespace","value","parent","newChild","refChild","isMove","oldChild","isHostElement","selectorOrNode","preserveContent","el","style","flags","target","eventName","callback","options","element","AnimationRenderer","factory","onDestroy","resolveElementFromTarget","phase","parseTriggerCallbackName","event","countId","triggerName","dotIndex","trigger","AnimationRendererFactory","_zone","hostElement","type","EMPTY_NAMESPACE_ID","cache","renderer","onRendererDestroy","componentId","registerTrigger","count","fn","data","animationCallbacksBuffer","tuple","InjectableAnimationEngine","AnimationEngine","doc","driver","normalizer","__ngFactoryType__","ɵɵinject","DOCUMENT","AnimationDriver","AnimationStyleNormalizer","ɵɵdefineInjectable","instantiateDefaultStyleNormalizer","WebAnimationsStyleNormalizer","instantiateRendererFactory","renderer","engine","zone","AnimationRendererFactory","SHARED_ANIMATION_PROVIDERS","RendererFactory2","DomRendererFactory2","NgZone","BROWSER_ANIMATIONS_PROVIDERS","WebAnimationsDriver","ANIMATION_MODULE_TYPE","BROWSER_NOOP_ANIMATIONS_PROVIDERS","NoopAnimationDriver","BrowserAnimationsModule","config","ɵɵdefineNgModule","ɵɵdefineInjector","BrowserModule","import_js","import_js","__decorate","decorators","target","key","desc","c","r","d","i","__metadata","k","v","isNgZoneEnabled","BugsnagErrorHandler","ErrorHandler","client","Bugsnag","error","handledState","event","Injectable","Interrupt","source","options","fn","IdleExpiry","value","expiry","AlternativeStorage","key","index","LocalStorage","storage","data","__ngFactoryType__","ɵɵdefineInjectable","LocalStorageExpiry","localStorage","idling","ɵɵinject","KeepaliveSvc","AutoResume","Idle","zone","keepaliveSvc","platformId","EventEmitter","seconds","sources","self","sub","args","skipExpiry","timeout","watchFn","diff","frequency","force","eventArgs","intervalFn","resume","interrupt","now","handleName","handle","NgZone","PLATFORM_ID","InterruptArgs","innerArgs","InterruptSource","attachFn","detachFn","defaultThrottleDelay","EventTargetInterruptSource","target","events","opts","Subscription","isPlatformServer","eventTarget","fromEvents","eventName","fromEvent","merge","filter","throttleTime","handler","event","DocumentInterruptSource","WindowInterruptSource","StorageInterruptSource","NgIdleModule","LocalStorageExpiry","IdleExpiry","Idle","__ngFactoryType__","ɵɵdefineNgModule","ɵɵdefineInjector","LocalStorage","createDefaultInterruptSources","options","DocumentInterruptSource","StorageInterruptSource","DEFAULT_INTERRUPTSOURCES","PERFORM_ACTION","REFRESH","RESET","ROLLBACK","COMMIT","SWEEP","TOGGLE_ACTION","SET_ACTIONS_ACTIVE","JUMP_TO_STATE","JUMP_TO_ACTION","IMPORT_STATE","LOCK_CHANGES","PAUSE_RECORDING","PerformAction","action","timestamp","Refresh","Reset","Rollback","Commit","Sweep","ToggleAction","id","JumpToState","index","JUMP_TO_STATE","JumpToAction","actionId","JUMP_TO_ACTION","ImportState","nextLiftedState","IMPORT_STATE","LockChanges","status","LOCK_CHANGES","PauseRecording","PAUSE_RECORDING","STORE_DEVTOOLS_CONFIG","InjectionToken","INITIAL_OPTIONS","noMonitor","DEFAULT_NAME","createConfig","optionsInput","DEFAULT_OPTIONS","options","logOnly","features","config","difference","first","second","item","unliftState","liftedState","computedStates","currentStateIndex","state","liftAction","action","PerformAction","sanitizeActions","actionSanitizer","actions","sanitizedActions","actionIdx","idx","sanitizeAction","__spreadProps","__spreadValues","sanitizeStates","stateSanitizer","states","computedState","sanitizeState","state","stateIdx","shouldFilterActions","config","filterLiftedState","liftedState","predicate","safelist","blocklist","filteredStagedActionIds","filteredActionsById","filteredComputedStates","id","liftedAction","isActionFiltered","blockedlist","predicateMatch","safelistMatch","s","escapeRegExp","blocklistMatch","injectZoneConfig","connectInZone","inject","NgZone","DevtoolsDispatcher","ActionsSubject","ɵDevtoolsDispatcher_BaseFactory","__ngFactoryType__","ɵɵgetInheritedFactory","ɵɵdefineInjectable","ExtensionActionTypes","REDUX_DEVTOOLS_EXTENSION","InjectionToken","DevtoolsExtension","devtoolsExtension","dispatcher","PERFORM_ACTION","currentState","unliftState","sanitizedState","sanitizedAction","sanitizedLiftedState","Observable","subscriber","connection","change","EMPTY","changes$","share","start$","filter","stop$","liftedActions$","map","concatMap","IMPORT_STATE","UPDATE","timeout","debounceTime","catchError","of","take","actionsUntilStop$","takeUntil","liftedUntilStop$","switchMap","extensionOptions","send","err","ɵɵinject","STORE_DEVTOOLS_CONFIG","INIT_ACTION","INIT","RECOMPUTE","RECOMPUTE_ACTION","computeNextEntry","reducer","error","errorHandler","nextState","nextError","recomputeStates","computedStates","minInvalidatedStateIndex","committedState","actionsById","stagedActionIds","skippedActionIds","isPaused","nextComputedStates","lastIncludedActionId","i","actionId","previousEntry","previousState","previousError","entry","liftInitialState","initialCommittedState","monitorReducer","liftReducerWith","initialLiftedState","options","monitorState","nextActionId","currentStateIndex","isLocked","commitExcessActions","n","excess","idsToDelete","commitChanges","LOCK_CHANGES","PAUSE_RECORDING","RESET","COMMIT","ROLLBACK","TOGGLE_ACTION","SET_ACTIONS_ACTIVE","start","end","active","actionIds","difference","JUMP_TO_STATE","JUMP_TO_ACTION","index","SWEEP","lastState","cmp","StoreDevtools","actions$","reducers$","extension","scannedActions","initialState","liftedInitialState","liftReducer","liftedAction$","merge","skip","observeOn","queueScheduler","liftedReducer$","zoneConfig","liftedStateSubject","ReplaySubject","withLatestFrom","emitInZone","scan","reducedLiftedState","unliftedAction","liftedState$","state$","toSignal","Refresh","Reset","Rollback","Commit","Sweep","ToggleAction","JumpToAction","JumpToState","nextLiftedState","ImportState","status","LockChanges","PauseRecording","ReducerObservable","ScannedActionsSubject","ErrorHandler","INITIAL_STATE","ngZone","source","value","IS_EXTENSION_OR_MONITOR_PRESENT","createIsExtensionOrMonitorPresent","noMonitor","createReduxDevtoolsExtension","extensionKey","createStateObservable","devtools","provideStoreDevtools","makeEnvironmentProviders","INITIAL_OPTIONS","createConfig","StateObservable","ReducerManagerDispatcher","StoreDevtoolsModule","ɵɵdefineNgModule","ɵɵdefineInjector","TranslateHttpLoader","http","prefix","suffix","lang","__ngFactoryType__","ɵɵinject","HttpClient","ɵɵdefineInjectable","RECAPTCHA_LANGUAGE","InjectionToken","RECAPTCHA_BASE_URL","RECAPTCHA_NONCE","RECAPTCHA_SETTINGS","RECAPTCHA_V3_SITE_KEY","RECAPTCHA_LOADER_OPTIONS","loadScript","renderMode","onBeforeLoad","onLoaded","url","lang","nonce","script","baseUrl","onBeforeLoadNonce","nonceValue","newLoadScript","v3SiteKey","loader","toNonNullObservable","subject","filter","value","RecaptchaLoaderService","platformId","language","options","of","isPlatformBrowser","BehaviorSubject","newUrl","recaptcha","__ngFactoryType__","ɵɵinject","PLATFORM_ID","ɵɵdefineInjectable","ReCaptchaV3Service","zone","recaptchaLoader","siteKey","Subject","action","subject","onError","error","token","e","value","__ngFactoryType__","ɵɵinject","NgZone","RecaptchaLoaderService","RECAPTCHA_V3_SITE_KEY","ɵɵdefineInjectable","RecaptchaV3Module","ɵɵdefineNgModule","ɵɵdefineInjector","memberPortalState","createFeatureSelector","featureKey","unitPricesView","createSelector","state","unitPriceViewState","unitPricesView_Model","model","_c0","ChartComponent","input","output","signal","viewChild","inject","NgZone","isPlatformBrowser","PLATFORM_ID","changes","asapScheduler","c","__async","ApexCharts","options","property","value","chartInstance","redrawPaths","animate","updateSyncedCharts","newSeries","newData","seriesName","min","max","seriesIndex","dataPointIndex","localeName","pushToMemory","context","id","__ngFactoryType__","ɵɵdefineComponent","rf","ctx","ɵɵviewQuerySignal","ɵɵqueryAdvance","ɵɵNgOnChangesFeature","ɵɵelement","NgApexchartsModule","__ngFactoryType__","ɵɵdefineNgModule","ɵɵdefineInjector","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","ɵɵpipeBind2","data_r1","x","ɵɵpipeBind1","y","UnitPricesViewComponent","ComponentBase","constructor","store","helper","Helper","model$","pipe","select","unitPricesView_Model","selectedAccount$","memberAccountDropdown_SelectedAccount","chartOptions","tooltip","enabled","series","name","data","chart","height","type","zoom","dataLabels","stroke","curve","title","text","align","grid","row","colors","opacity","yaxis","labels","formatter","value","xaxis","ngOnInit","ngOnInitBase","sub","subscribe","dispatch","RequestAction","accountId","updateSeries","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","selectors","viewQuery","rf","ctx","ɵɵelement","ɵɵtemplate","UnitPricesViewComponent_tbody_11_Template","ɵɵproperty","ɵɵclassMapInterpolate1","tmp_11_0","TranslatePipe","ChartComponent","NgApexchartsModule","DatePipe","CurrencyPipe","NgFor","AsyncPipe","styles","UnitPricesComponent","ComponentBase","constructor","store","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵtextInterpolate1","ɵɵpipeBind1","UnitPricesViewComponent","AppComponentWrapperComponent","AppToolbarOptionsComponent","TextTransformPipe","AnimateCssDirective","styles","TransactionsComponent","ComponentBase","constructor","store","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","AppToolbarOptionsComponent","AnimateCssDirective","styles","NotLoggedInMasterComponent","ComponentBase","constructor","store","titleService","dialog","meta","router","setTitle","addTag","name","content","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","Title","MatDialog","Meta","Router","selectors","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","RouterOutlet","styles","MainLayoutEffects","constructor","store","actions$","ɵɵinject","Store","Actions","factory","ɵfac","CircleProgressComponent__svg_svg_0__svg_linearGradient_2_Template","rf","ctx","ɵɵnamespaceSVG","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ctx_r1","ɵɵnextContext","ɵɵattribute","ɵɵadvance","CircleProgressComponent__svg_svg_0__svg_radialGradient_3_Template","CircleProgressComponent__svg_svg_0__svg_ng_container_4__svg_circle_1_Template","CircleProgressComponent__svg_svg_0__svg_ng_container_4__svg_circle_2_Template","ɵɵattributeInterpolate2","CircleProgressComponent__svg_svg_0__svg_ng_container_4_Template","ɵɵelementContainerStart","ɵɵtemplate","ɵɵelementContainerEnd","ɵɵproperty","CircleProgressComponent__svg_svg_0__svg_circle_5_Template","CircleProgressComponent__svg_svg_0__svg_ng_container_6__svg_path_1_Template","CircleProgressComponent__svg_svg_0__svg_ng_container_6__svg_path_2_Template","CircleProgressComponent__svg_svg_0__svg_ng_container_6_Template","CircleProgressComponent__svg_svg_0__svg_text_7__svg_ng_container_1__svg_tspan_1_Template","ɵɵtext","tspan_r3","ɵɵtextInterpolate","CircleProgressComponent__svg_svg_0__svg_text_7__svg_ng_container_1_Template","CircleProgressComponent__svg_svg_0__svg_text_7__svg_tspan_2_Template","CircleProgressComponent__svg_svg_0__svg_text_7__svg_ng_container_3__svg_tspan_1_Template","tspan_r4","CircleProgressComponent__svg_svg_0__svg_text_7__svg_ng_container_3_Template","CircleProgressComponent__svg_svg_0__svg_text_7_Template","CircleProgressComponent__svg_svg_0__svg_image_8_Template","CircleProgressComponent__svg_svg_0_Template","_r1","ɵɵgetCurrentView","ɵɵlistener","$event","ɵɵrestoreView","ɵɵresetView","CircleProgressOptions","CircleProgressComponent","defaultOptions","ngZone","elRef","injector","EventEmitter","centerX","centerY","radius","angleInDegrees","angleInRadius","x","y","percent","circlePercent","boxSize","centre","startPoint","endPoint","largeArcFlag","sweepFlag","titlePercent","titleTextPercent","subtitlePercent","title","formatted","subtitle","units","rowCount","rowNum","span","previousPercent","currentPercent","times","step","interval","fromPercent","toPercent","delta","count","timer","name","a","b","dt","uuid","c","r","previousValue","event","oldValue","newValue","_timer","DOCUMENT","tags","el","rect","parent","parentRect","changes","__ngFactoryType__","ɵɵdirectiveInject","NgZone","ElementRef","Injector","ɵɵdefineComponent","ɵɵNgOnChangesFeature","NgForOf","NgIf","NgCircleProgressModule","options","ɵɵdefineNgModule","ɵɵdefineInjector","CommonModule","_c0","_c1","MatToolbarRow","__ngFactoryType__","ɵɵdefineDirective","MatToolbar","inject","ElementRef","Platform","DOCUMENT","ɵɵdefineComponent","rf","ctx","dirIndex","ɵɵcontentQuery","_t","ɵɵqueryRefresh","ɵɵloadQuery","ɵɵclassMap","ɵɵclassProp","ɵɵprojectionDef","ɵɵprojection","MatToolbarModule","__ngFactoryType__","ɵɵdefineNgModule","ɵɵdefineInjector","MatCommonModule","BADGE_CONTENT_CLASS","_MatBadgeStyleLoader","__ngFactoryType__","ɵɵdefineComponent","rf","ctx","MatBadge","inject","NgZone","ElementRef","AriaDescriber","Renderer2","ANIMATION_MODULE_TYPE","_IdGenerator","value","newContent","newDescription","InteractivityChecker","DOCUMENT","styleLoader","_CdkPrivateStyleLoader","_VisuallyHiddenLoader","badgeElement","activeClass","newContentNormalized","colorPalette","classList","badges","ɵɵdefineDirective","ɵɵclassProp","booleanAttribute","MatBadgeModule","ɵɵdefineNgModule","ɵɵdefineInjector","A11yModule","MatCommonModule","MatCardModule","__ngFactoryType__","ɵɵdefineNgModule","ɵɵdefineInjector","MatCommonModule","MAT_CHIPS_DEFAULT_OPTIONS","InjectionToken","MatChipsModule","__ngFactoryType__","ɵɵdefineNgModule","ɵɵdefineInjector","ErrorStateMatcher","MAT_CHIPS_DEFAULT_OPTIONS","MatCommonModule","MatRippleModule","MaterialModule","MatButtonModule","MatRadioModule","MatCheckboxModule","MatDialogModule","MatSelectModule","MatInputModule","MatIconModule","MatProgressSpinnerModule","ClipboardModule","MatTooltipModule","MatDatepickerModule","MatNativeDateModule","MatProgressBarModule","MatToolbarModule","MatSlideToggleModule","MatSidenavModule","MatExpansionModule","MatBottomSheetModule","TextFieldModule","MatStepperModule","MatAutocompleteModule","MatMenuModule","MatBadgeModule","MatButtonToggleModule","MatCardModule","MatChipsModule","BaseService","constructor","toastr","headers","HttpHeaders","multiPartheaders","showError","errors","forEach","element","error","showOk","message","success","AccessYourSuperService","BaseService","constructor","http","toastr","store","getApplicationList","accountId","get","environment","apiUrl","headers","getApplicationTypes","accountType","submitApplicationTypeSelection","applicationType","post","getApplicationSpecificData","cancelApplication","applicationId","put","continueApplication","draftApplication","updateCurrentStep","currentStep","saveLastEmployerData","obj","searchBankName","bsb","saveBankDetails","payload","saveDocument","documentTypeId","deleteDocument","uploadedDocumentId","delete","completeDocuments","getCustomSectionData","applicationTypeId","saveRetirementCustomSectionData","saveCeasedWorkSixtyCustomSectionData","savePermanentlyRetiredPreservationCustomSectionData","saveCeasedPaidEmploymentCustomSectionData","savePensionCommutationsCustomSectionData","saveTerminalMedicalConditionCustomSectionData","saveSevereFinancialHardshipCustomSectionData","saveCompassionateGroundsCustomSectionData","saveUnrestrictedNonPreservedCustomSectionData","submitApplication","getKiwiSaverSectionData","getSfhSectionData","saveKiwiSaverSectionData","ɵɵinject","HttpClient","ToastrService","Store","factory","ɵfac","AccessYourSuperBankDetailsComponentEffects","constructor","store","actions$","service","searchBankName$","createEffect","pipe","ofType","SearchBankNameAction","switchMap","action","searchBankName","bsb","map","data","SetBankNameAction","payload","catchError","err","EMPTY","saveBankDetails$","SaveBankDetailsAction","saveBankDetails","accountId","applicationId","SetBankDetailsSavedAction","ɵɵinject","Store","Actions","AccessYourSuperService","factory","ɵfac","AccessYourSuperCeasedPaidEmploymentComponentEffects","constructor","store","actions$","service","getCustomSectionData$","createEffect","pipe","ofType","RequestAction","switchMap","action","getCustomSectionData","accountId","applicationId","applicationTypeId","map","data","ResponseAction","payload","catchError","err","EMPTY","saveCustomSectionData$","SaveFormDataAction","saveCeasedPaidEmploymentCustomSectionData","SavedFormDataAction","ɵɵinject","Store","Actions","AccessYourSuperService","factory","ɵfac","AccessYourSuperCeasedWorkSixtyComponentEffects","constructor","store","actions$","service","getCustomSectionData$","createEffect","pipe","ofType","RequestAction","switchMap","action","getCustomSectionData","accountId","applicationId","applicationTypeId","map","data","ResponseAction","payload","catchError","err","EMPTY","saveCustomSectionData$","SaveFormDataAction","saveCeasedWorkSixtyCustomSectionData","SavedFormDataAction","ɵɵinject","Store","Actions","AccessYourSuperService","factory","ɵfac","AccessYourSuperCompassionateGroundsComponentEffects","constructor","store","actions$","service","getCustomSectionData$","createEffect","pipe","ofType","RequestAction","switchMap","action","getCustomSectionData","accountId","applicationId","applicationTypeId","map","data","ResponseAction","payload","catchError","err","EMPTY","saveCustomSectionData$","SaveFormDataAction","saveCompassionateGroundsCustomSectionData","SavedFormDataAction","ɵɵinject","Store","Actions","AccessYourSuperService","factory","ɵfac","AccessYourSuperKiwiSaverComponentEffects","constructor","store","actions$","service","getCustomSectionData$","createEffect","pipe","ofType","RequestAction","switchMap","action","getKiwiSaverSectionData","accountId","applicationId","map","data","ResponseAction","payload","catchError","err","EMPTY","saveCustomSectionData$","SaveFormDataAction","saveKiwiSaverSectionData","SavedFormDataAction","ɵɵinject","Store","Actions","AccessYourSuperService","factory","ɵfac","AccessYourSuperPensionCommutationsComponentEffects","constructor","store","actions$","service","getCustomSectionData$","createEffect","pipe","ofType","RequestAction","switchMap","action","getCustomSectionData","accountId","applicationId","applicationTypeId","map","data","ResponseAction","payload","catchError","err","EMPTY","saveCustomSectionData$","SaveFormDataAction","savePensionCommutationsCustomSectionData","SavedFormDataAction","ɵɵinject","Store","Actions","AccessYourSuperService","factory","ɵfac","AccessYourSuperPermanentRetirementPreservationComponentEffects","constructor","store","actions$","service","getCustomSectionData$","createEffect","pipe","ofType","RequestAction","switchMap","action","getCustomSectionData","accountId","applicationId","applicationTypeId","map","data","ResponseAction","payload","catchError","err","EMPTY","saveCustomSectionData$","SaveFormDataAction","savePermanentlyRetiredPreservationCustomSectionData","SavedFormDataAction","ɵɵinject","Store","Actions","AccessYourSuperService","factory","ɵfac","AccessYourSuperRetirementComponentEffects","constructor","store","actions$","service","getCustomSectionData$","createEffect","pipe","ofType","RequestAction","switchMap","action","getCustomSectionData","accountId","applicationId","applicationTypeId","map","data","ResponseAction","payload","catchError","err","EMPTY","saveCustomSectionData$","SaveFormDataAction","saveRetirementCustomSectionData","SavedFormDataAction","ɵɵinject","Store","Actions","AccessYourSuperService","factory","ɵfac","AccessYourSuperSevereFinancialHardshipComponentEffects","constructor","store","actions$","service","getCustomSectionData$","createEffect","pipe","ofType","RequestAction","switchMap","action","getSfhSectionData","accountId","applicationId","map","data","ResponseAction","payload","catchError","err","EMPTY","saveCustomSectionData$","SaveFormDataAction","saveSevereFinancialHardshipCustomSectionData","SavedFormDataAction","ɵɵinject","Store","Actions","AccessYourSuperService","factory","ɵfac","AccessYourSuperTerminalMedicalConditionComponentEffects","constructor","store","actions$","service","getCustomSectionData$","createEffect","pipe","ofType","RequestAction","switchMap","action","getCustomSectionData","accountId","applicationId","applicationTypeId","map","data","ResponseAction","payload","catchError","err","EMPTY","saveCustomSectionData$","SaveFormDataAction","saveTerminalMedicalConditionCustomSectionData","SavedFormDataAction","ɵɵinject","Store","Actions","AccessYourSuperService","factory","ɵfac","AccessYourSuperUnrestrictedNonPreservedComponentEffects","constructor","store","actions$","service","getCustomSectionData$","createEffect","pipe","ofType","RequestAction","switchMap","action","getCustomSectionData","accountId","applicationId","applicationTypeId","map","data","ResponseAction","payload","catchError","err","EMPTY","saveCustomSectionData$","SaveFormDataAction","saveUnrestrictedNonPreservedCustomSectionData","SavedFormDataAction","ɵɵinject","Store","Actions","AccessYourSuperService","factory","ɵfac","AccessYourSuperDocumentsComponentEffects","constructor","store","actions$","service","saveDocument$","createEffect","pipe","ofType","SaveDocumentAction","mergeMap","action","saveDocument","accountId","applicationId","documentTypeId","payload","draftApplication","map","data","UpdateSavedDocumentAction","uploadedDocumentId","fileName","documentIndex","controlId","catchError","err","caught","of","SetFileRequestFailedAction","file","deleteDocument$","DeleteDocumentAction","switchMap","deleteDocument","UpdateDeletedDocumentAction","overviewIndex","uploadIndex","EMPTY","replaceDocument$","ReplaceDocumentAction","UpdateReplacedDocumentAction","originalFile","completeDocumentsComponent$","CompleteDocumentsAction","completeDocuments","submission","DocumentsCompletedAction","ɵɵinject","Store","Actions","AccessYourSuperService","factory","ɵfac","AccessYourSuperFormComponentEffects","constructor","store","actions$","service","getApplicationTypes$","createEffect","pipe","ofType","GetApplicationTypesRequestAction","switchMap","action","getApplicationTypes","accountType","accountId","map","data","GetApplicationTypesResponseAction","payload","catchError","err","EMPTY","updateCurrentStep$","UpdateCurrentStepAction","updateCurrentStep","currentStep","applicationId","CurrentStepUpdatedAction","ɵɵinject","Store","Actions","AccessYourSuperService","factory","ɵfac","AccessYourSuperLastEmployerComponentEffects","constructor","store","actions$","service","saveFormData$","createEffect","pipe","ofType","SaveLastEmployerDetailsAction","switchMap","action","saveLastEmployerData","accountId","applicationId","lastEmployerDetails","map","LastEmployerDetailsSavedAction","catchError","err","EMPTY","ɵɵinject","Store","Actions","AccessYourSuperService","factory","ɵfac","AccessYourSuperReviewComponentEffects","constructor","store","actions$","service","getCustomData$","createEffect","pipe","ofType","GetCustomDataAction","switchMap","action","getCustomSectionData","accountId","applicationId","applicationTypeId","map","data","SaveCustomDataAction","payload","catchError","err","EMPTY","getKiwiSaverData$","GetKiwiSaverDataAction","getKiwiSaverSectionData","getSfhData$","GetSfhDataAction","getSfhSectionData","submitApplication$","SubmitApplicationAction","submitApplication","ApplicationSubmittedAction","ɵɵinject","Store","Actions","AccessYourSuperService","factory","ɵfac","AccessYourSuperStartComponentEffects","constructor","store","actions$","router","service","getApplicationList$","createEffect","pipe","ofType","RequestAction","switchMap","action","getApplicationList","accountId","map","data","ResponseAction","payload","catchError","err","EMPTY","cancelApplication$","CancelApplicationAction","cancelApplication","applicationId","SetApplicationToCancelledAction","continueApplication$","RequestContinueApplicationAction","continueApplication","draftApplication","ContinueApplicationAction","model","UpdateSubmittedApplicationAction","ɵɵinject","Store","Actions","Router","AccessYourSuperService","factory","ɵfac","AccessYourSuperTypeSelectionComponentEffects","constructor","store","actions$","service","submitApplicationSelection$","createEffect","pipe","ofType","SelectApplicationTypeAction","switchMap","action","submitApplicationTypeSelection","accountId","applicationType","map","data","SaveApplicationIdAction","applicationId","catchError","err","EMPTY","getApplicationData$","GetApplicationDataAction","getApplicationSpecificData","SaveApplicationDataAction","model","ɵɵinject","Store","Actions","AccessYourSuperService","factory","ɵfac","AccessYourSuperUpdateSubmittedComponentEffects","constructor","store","actions$","service","getCustomData$","createEffect","pipe","ofType","GetCustomDataAction","switchMap","action","getCustomSectionData","accountId","applicationId","applicationTypeId","map","data","SaveCustomDataAction","payload","catchError","err","EMPTY","getKiwiSaverData$","GetKiwiSaverDataAction","getKiwiSaverSectionData","getSfhData$","GetSfhDataAction","getSfhSectionData","ɵɵinject","Store","Actions","AccessYourSuperService","factory","ɵfac","AccountsService","BaseService","constructor","http","toastr","store","getAccounts","get","environment","apiUrl","headers","getAccountSummary","accountId","getAccountFees","ɵɵinject","HttpClient","ToastrService","Store","factory","ɵfac","AccountFeesEffects","constructor","store","actions$","router","service","getData$","createEffect","pipe","ofType","RequestAction","switchMap","action","getAccountFees","accountId","map","data","ResponseAction","payload","catchError","err","EMPTY","ɵɵinject","Store","Actions","Router","AccountsService","factory","ɵfac","AccountSummaryEffects","constructor","actions$","accountsService","getAccountSummary$","createEffect","pipe","ofType","AccountSummaryRequestAction","switchMap","action","getAccountSummary","accountId","map","response","AccountSummaryResponseAction","payload","data","catchError","err","EMPTY","ɵɵinject","Actions","AccountsService","factory","ɵfac","UnderlyingInvestmentService","BaseService","constructor","http","toastr","store","getUnderlyingInvestment","accountId","get","environment","apiUrl","headers","getUnderlyingInvestmentSummary","ɵɵinject","HttpClient","ToastrService","Store","factory","ɵfac","AccountUnderlyingInvestmentSummaryViewEffects","constructor","store","actions$","router","service","getSummaryData$","createEffect","pipe","ofType","RequestUnderlyingInvestmentSummaryAction","switchMap","action","getUnderlyingInvestmentSummary","accountId","map","data","ResponseUnderlyingInvestmentSummaryAction","payload","catchError","err","EMPTY","ɵɵinject","Store","Actions","Router","UnderlyingInvestmentService","factory","ɵfac","AccountUnderlyingViewEffects","constructor","store","actions$","router","service","getData$","createEffect","pipe","ofType","RequestAction","switchMap","action","getUnderlyingInvestment","accountId","map","data","ResponseAction","payload","catchError","err","EMPTY","ɵɵinject","Store","Actions","Router","UnderlyingInvestmentService","factory","ɵfac","BeneficiaryService","BaseService","constructor","http","toastr","store","getMemberBeneficiaries","accountId","get","environment","apiUrl","headers","updateBeneficiaries","obj","put","ɵɵinject","HttpClient","ToastrService","Store","factory","ɵfac","BeneficiariesEditEffects","constructor","store","actions$","router","toastr","service","getData$","createEffect","pipe","ofType","RequestAction","switchMap","action","getMemberBeneficiaries","accountId","map","data","ResponseAction","payload","catchError","err","EMPTY","submit$","SubmitRequestAction","updateBeneficiaries","success","message","SubmitResponseAction","ɵɵinject","Store","Actions","Router","ToastrService","BeneficiaryService","factory","ɵfac","BeneficiariesViewEffects","constructor","store","actions$","router","service","getData$","createEffect","pipe","ofType","RequestAction","switchMap","action","getMemberBeneficiaries","accountId","map","data","ResponseAction","payload","catchError","err","EMPTY","ɵɵinject","Store","Actions","Router","BeneficiaryService","factory","ɵfac","BPAYDetailsService","BaseService","constructor","http","toastr","store","getAccountBPAYDetails","accountId","get","environment","apiUrl","headers","ɵɵinject","HttpClient","ToastrService","Store","factory","ɵfac","BPAYDetailsEffects","constructor","store","actions$","router","service","getData$","createEffect","pipe","ofType","RequestAction","switchMap","action","getAccountBPAYDetails","accountId","map","data","ResponseAction","payload","catchError","err","EMPTY","ɵɵinject","Store","Actions","Router","BPAYDetailsService","factory","ɵfac","TransactionService","BaseService","constructor","http","toastr","store","getMemberTransactions","accountId","page","filter","params","HttpParams","set","toString","get","environment","apiUrl","headers","getMemberTransactionTypes","getMemberTransactionDescription","getContributions","ɵɵinject","HttpClient","ToastrService","Store","factory","ɵfac","CashTransactionsEffects","constructor","store","actions$","transactionervice","getTransactionsView$","createEffect","pipe","ofType","CashTransactionsRequestAction","switchMap","action","getMemberTransactions","accountId","page","filter","map","data","CashTransactionsResponseAction","payload","catchError","err","EMPTY","getTransactionTypesView$","CashTransactionsTypesRequestAction","getMemberTransactionTypes","CashTransactionsTypesResponseAction","getTransactionDescriptionView$","CashTransactionsDescriptionRequestAction","getMemberTransactionDescription","CashTransactionsDescriptionResponseAction","ɵɵinject","Store","Actions","TransactionService","factory","ɵfac","ChatService","BaseService","constructor","http","toastr","store","details","get","environment","apiUrl","headers","closeChat","newChat","deleteChat","ɵɵinject","HttpClient","ToastrService","Store","factory","ɵfac","ChatViewEffects","constructor","store","actions$","service","getData$","createEffect","pipe","ofType","RequestAction","switchMap","action","details","map","data","ResponseAction","payload","catchError","err","EMPTY","chatClosed$","RequestChatClosedAction","closeChat","ResponseChatClosedAction","deleteChat$","RequestDeleteChatAction","deleteChat","ResponseDeleteChatAction","newClosed$","RequestNewChatAction","newChat","ɵɵinject","Store","Actions","ChatService","factory","ɵfac","RollInService","BaseService","constructor","http","toastr","store","providerSearch","q","params","HttpParams","set","get","environment","apiUrl","headers","submit","accountId","obj","post","requestedTransfers","ɵɵinject","HttpClient","ToastrService","Store","factory","ɵfac","ConsolidateSuperEffects","constructor","store","actions$","service","getData$","createEffect","pipe","ofType","RequestAction","switchMap","action","requestedTransfers","accountId","map","data","ResponseAction","payload","catchError","err","EMPTY","ɵɵinject","Store","Actions","RollInService","factory","ɵfac","ContributionsLimitsEffects","constructor","store","actions$","transactionervice","getContributions$","createEffect","pipe","ofType","RequestAction","switchMap","action","getContributions","accountId","map","response","ResponseAction","payload","data","catchError","err","EMPTY","ɵɵinject","Store","Actions","TransactionService","factory","ɵfac","DocumentsService","BaseService","constructor","http","toastr","store","getDocuments","accountId","category","get","environment","apiUrl","headers","Error","getDocument","correspondenceSource","correspondenceId","ɵɵinject","HttpClient","ToastrService","Store","factory","ɵfac","DocumentViewerEffects","constructor","store","actions$","service","getMemberCorrespondenceView$","createEffect","pipe","ofType","RequestAction","switchMap","action","getDocuments","accountId","category","map","data","ResponseAction","payload","catchError","err","EMPTY","ɵɵinject","Store","Actions","DocumentsService","factory","ɵfac","HistoricalDataService","BaseService","constructor","http","toastr","store","pipe","DatePipe","getDataGraph","accountId","from","to","params","HttpParams","set","toString","undefined","transform","get","environment","apiUrl","headers","ɵɵinject","HttpClient","ToastrService","Store","factory","ɵfac","HistoricalChartViewEffects","constructor","actions$","service","getData$","createEffect","pipe","ofType","RequestAction","switchMap","action","getDataGraph","accountId","from","to","map","data","ResponseAction","payload","catchError","err","EMPTY","ɵɵinject","Actions","HistoricalDataService","factory","ɵfac","InsuranceService","BaseService","constructor","http","toastr","store","details","accountId","get","environment","apiUrl","headers","reduceInsurance","submission","post","cancelInsurance","getHistory","page","ɵɵinject","HttpClient","ToastrService","Store","factory","ɵfac","InsuranceDetailsEffects","constructor","store","actions$","router","service","getData$","createEffect","pipe","ofType","RequestAction","switchMap","action","details","accountId","map","data","ResponseAction","payload","catchError","err","EMPTY","ɵɵinject","Store","Actions","Router","InsuranceService","factory","ɵfac","InsuranceQuestionnaireService","BaseService","constructor","http","toastr","store","showQuestionnaire","accountId","get","environment","apiUrl","headers","submit","obj","post","confirm","params","HttpParams","set","toString","ɵɵinject","HttpClient","ToastrService","Store","factory","ɵfac","InsuranceQuestionnaireEffects","constructor","store","actions$","router","service","showQuestionnaire$","createEffect","pipe","ofType","ShowQuestionnaireRequestAction","switchMap","action","showQuestionnaire","accountId","map","data","ShowQuestionnaireResponseAction","payload","catchError","err","EMPTY","ɵɵinject","Store","Actions","Router","InsuranceQuestionnaireService","factory","ɵfac","InsuranceQuestionnaireStartEffects","constructor","store","actions$","router","toastr","service","submit$","createEffect","pipe","ofType","SubmitRequestAction","switchMap","action","submit","accountId","data","map","SubmitResponseAction","catchError","err","EMPTY","confirm$","ConfirmRequestAction","confirm","showOk","message","ConfirmResponseAction","ɵɵinject","Store","Actions","Router","ToastrService","InsuranceQuestionnaireService","factory","ɵfac","InsuranceUpdateHistoryComponentEffects","constructor","actions$","service","getHistory$","createEffect","pipe","ofType","RequestAction","switchMap","action","getHistory","accountId","page","map","data","ResponseAction","insuranceHistory","catchError","_err","of","RequestErrorAction","ɵɵinject","Actions","InsuranceService","factory","ɵfac","InsuranceUpdateComponentEffects","constructor","actions$","service","reduceInsurance$","createEffect","pipe","ofType","SubmitInsuranceToReduceAction","switchMap","action","reduceInsurance","accountId","submission","map","data","SubmissionSuccessAction","catchError","_err","of","SubmissionErrorAction","cancelInsurance$","SubmitInsuranceToCancelAction","cancelInsurance","ɵɵinject","Actions","InsuranceService","factory","ɵfac","InvestmentService","BaseService","constructor","http","toastr","store","getMemberSwitchTransactions","memberId","accountId","page","params","HttpParams","set","toString","get","environment","apiUrl","headers","getHistory","filter","getInvestmentSwitch","getCurrentInvestmentSwitch","getInvestmentOptionsSwitch","submitInvestment","obj","post","ɵɵinject","HttpClient","ToastrService","Store","factory","ɵfac","EditInvestmentEffects","constructor","actions$","toastr","service","getCurrentById$","createEffect","pipe","ofType","RequestCurrentDataAction","switchMap","action","getCurrentInvestmentSwitch","account","map","data","ResponseCurrentDataAction","payload","catchError","err","EMPTY","getOptions$","RequestOptionsDataAction","getInvestmentOptionsSwitch","ResponseOptionsDataAction","submit$","SubmitRequestAction","submitInvestment","accountId","obj","success","message","SubmitResponseAction","ɵɵinject","Actions","ToastrService","InvestmentService","factory","ɵfac","InvestmentOptionsEffects","constructor","store","actions$","toastr","router","service","getCurrentById$","createEffect","pipe","ofType","RequestCurrentDataAction","switchMap","action","getCurrentInvestmentSwitch","account","map","data","ResponseCurrentDataAction","payload","catchError","err","EMPTY","ɵɵinject","Store","Actions","ToastrService","Router","InvestmentService","factory","ɵfac","InvestmentSwitchHistoryEffects","constructor","actions$","toastr","service","getHistory$","createEffect","pipe","ofType","RequestAction","switchMap","action","getHistory","accountId","page","filter","map","data","ResponseAction","catchError","err","EMPTY","ɵɵinject","Actions","ToastrService","InvestmentService","factory","ɵfac","MemberAccountDropdownEffects","constructor","store","actions$","toastr","router","service","getById$","createEffect","pipe","ofType","RequestAction","switchMap","action","getAccounts","map","data","ResponseAction","payload","catchError","err","EMPTY","ɵɵinject","Store","Actions","ToastrService","Router","AccountsService","factory","ɵfac","MembersService","BaseService","constructor","http","toastr","store","getView","get","environment","apiUrl","headers","updateMemberDetails","obj","put","getAlerts","accountId","ɵɵinject","HttpClient","ToastrService","Store","factory","ɵfac","MemberAlertViewEffects","constructor","store","actions$","service","getData$","createEffect","pipe","ofType","RequestAction","switchMap","action","getAlerts","accountId","map","data","ResponseAction","payload","catchError","err","EMPTY","ɵɵinject","Store","Actions","MembersService","factory","ɵfac","EditMemberEffects","constructor","store","actions$","toastr","router","service","getById$","createEffect","pipe","ofType","RequestAction","switchMap","action","getView","map","data","ResponseAction","payload","catchError","err","EMPTY","submit$","SubmitRequestAction","updateMemberDetails","success","message","SubmitResponseAction","ɵɵinject","Store","Actions","ToastrService","Router","MembersService","factory","ɵfac","MemberPensionService","BaseService","constructor","http","toastr","store","getPension","accountId","get","environment","apiUrl","headers","getPaymentScheduleData","savePaymentScheduleData","submissionData","put","getSubmittedRequests","ɵɵinject","HttpClient","ToastrService","Store","factory","ɵfac","MemberPensionEffects","constructor","store","actions$","router","service","beneficiaryService","getData$","createEffect","pipe","ofType","RequestAction","switchMap","action","getPension","accountId","map","data","ResponseAction","payload","catchError","err","EMPTY","getBeneficiaryData$","RequestBeneficiariesAction","getMemberBeneficiaries","ResponseBeneficiariesAction","ɵɵinject","Store","Actions","Router","MemberPensionService","BeneficiaryService","factory","ɵfac","MemberViewOverviewEffects","constructor","store","actions$","router","service","getData$","createEffect","pipe","ofType","RequestAction","switchMap","action","getView","map","data","ResponseAction","payload","catchError","err","EMPTY","ɵɵinject","Store","Actions","Router","MembersService","factory","ɵfac","MemberEffects","constructor","store","actions$","service","ɵɵinject","Store","Actions","MembersService","factory","ɵfac","NoticeOfIntentTaxDeductionService","BaseService","constructor","http","toastr","store","getApplicationList","accountId","get","environment","apiUrl","headers","getFormData","submitForm","body","post","ɵɵinject","HttpClient","ToastrService","Store","factory","ɵfac","NoticeOfIntentTaxDeductionContainerComponentEffects","constructor","store","actions$","router","service","getApplicationList$","createEffect","pipe","ofType","RequestAction","switchMap","action","getApplicationList","accountId","map","data","ResponseAction","payload","catchError","err","EMPTY","getFormData$","GetFormDataAction","getFormData","SetFormDataAction","formData","ɵɵinject","Store","Actions","Router","NoticeOfIntentTaxDeductionService","factory","ɵfac","NoticeOfIntentTaxDeductionFormComponentEffects","constructor","store","actions$","router","service","submitForm$","createEffect","pipe","ofType","RequestAction","switchMap","action","submitForm","accountId","payload","map","data","ResponseAction","catchError","err","EMPTY","ɵɵinject","Store","Actions","Router","NoticeOfIntentTaxDeductionService","factory","ɵfac","NotificationService","BaseService","constructor","http","toastr","store","getNewNotification","accountId","get","environment","apiUrl","headers","getNotification","ɵɵinject","HttpClient","ToastrService","Store","factory","ɵfac","NotificationDropdownEffects","constructor","store","actions$","toastr","router","service","getNotifications$","createEffect","pipe","ofType","RequestAction","switchMap","action","getNewNotification","accountId","map","data","ResponseAction","payload","catchError","err","EMPTY","ɵɵinject","Store","Actions","ToastrService","Router","NotificationService","factory","ɵfac","PensionChangePaymentScheduleRequestsEffects","constructor","store","actions$","toastr","service","getData$","createEffect","pipe","ofType","GetChangePaymentScheduleRequestsRequestAction","switchMap","action","getSubmittedRequests","accountId","map","data","GetChangePaymentScheduleRequestsResponseAction","requests","catchError","err","EMPTY","ɵɵinject","Store","Actions","ToastrService","MemberPensionService","factory","ɵfac","PensionChangePaymentScheduleEffects","constructor","store","actions$","toastr","service","getData$","createEffect","pipe","ofType","GetPaymentScheduleRequestAction","switchMap","action","getPaymentScheduleData","accountId","map","data","GetPaymentScheduleResponseAction","scheduleData","catchError","err","EMPTY","submit$","SubmitPaymentScheduleRequestAction","savePaymentScheduleData","submissionData","SubmitPaymentScheduleResponseAction","of","SubmitPaymentScheduleErrorResponseAction","ɵɵinject","Store","Actions","ToastrService","MemberPensionService","factory","ɵfac","PersonalContributionService","BaseService","constructor","http","toastr","store","submitData","accountId","obj","post","environment","apiUrl","headers","bankDetails","get","ɵɵinject","HttpClient","ToastrService","Store","factory","ɵfac","PersonalContributionEditEffects","constructor","store","actions$","toastr","service","submit$","createEffect","pipe","ofType","SubmitRequestAction","switchMap","action","submitData","accountId","payload","map","data","showOk","message","SubmitResponseAction","catchError","err","EMPTY","bankDetails$","BankDetailsRequestAction","bankDetails","console","log","BankDetailsResponseAction","ɵɵinject","Store","Actions","ToastrService","PersonalContributionService","factory","ɵfac","EmploymentService","BaseService","constructor","http","toastr","store","getBalances","accountId","get","environment","apiUrl","headers","getCurrentEmployment","getRecentEmploymentDetails","ɵɵinject","HttpClient","ToastrService","Store","factory","ɵfac","RecentEmploymentDetailsEffects","constructor","store","actions$","router","service","getData$","createEffect","pipe","ofType","RequestAction","switchMap","action","getRecentEmploymentDetails","accountId","map","data","ResponseAction","payload","catchError","err","EMPTY","ɵɵinject","Store","Actions","Router","EmploymentService","factory","ɵfac","RollInEditEffects","constructor","store","actions$","service","submit$","createEffect","pipe","ofType","SubmitRequestAction","switchMap","action","submit","accountId","payload","map","data","showOk","message","SubmitResponseAction","catchError","err","EMPTY","ɵɵinject","Store","Actions","RollInService","factory","ɵfac","StartAPensionService","BaseService","constructor","http","toastr","getApplicationList","accountId","get","environment","apiUrl","headers","cancelApplication","applicationId","put","getInitialFormData","createBaseApplication","conditionId","submission","post","getApplicationData","draft","incrementCurrentStep","saveAccountDetails","savePaymentDetails","searchBankName","bsb","saveBankDetails","saveBeneficiary","saveDocument","documentTypeId","payload","deleteDocument","uploadedDocumentId","delete","completeDocuments","submitApplication","ɵɵinject","HttpClient","ToastrService","factory","ɵfac","StartAPensionFormComponentEffects","constructor","actions$","service","getInitialFormData$","createEffect","pipe","ofType","GetInitialFormDataRequestAction","switchMap","action","getInitialFormData","accountId","map","data","GetInitialFormDataResponseAction","catchError","_err","EMPTY","getApplicationData$","ApplicationDataRequestAction","getApplicationData","applicationId","ApplicationDataResponseAction","applicationData","incrementCurrentStep$","IncrementCurrentStepWithApiRequestAction","incrementCurrentStep","_data","IncrementCurrentStepWithApiResponseAction","ɵɵinject","Actions","StartAPensionService","factory","ɵfac","StartAPensionAccountDetailsFormComponentEffects","constructor","actions$","service","saveAccountDetails$","createEffect","pipe","ofType","SubmitFormAction","switchMap","action","saveAccountDetails","accountId","applicationId","submission","map","_data","SetApplicationSavedAccountDetailsAction","accountDetails","catchError","_err","of","SubmitFormErrorAction","ɵɵinject","Actions","StartAPensionService","factory","ɵfac","StartAPensionBankDetailsFormComponentEffects","constructor","actions$","service","searchBankName$","createEffect","pipe","ofType","SearchBankNameAction","switchMap","action","searchBankName","bsb","map","data","SetBankNameAction","payload","catchError","err","EMPTY","saveBankDetails$","SubmitFormAction","saveBankDetails","accountId","applicationId","submission","_data","SetApplicationSavedBankDetailsAction","bankDetails","_err","of","SubmitFormErrorAction","ɵɵinject","Actions","StartAPensionService","factory","ɵfac","StartAPensionBeneficiaryFormComponentEffects","constructor","actions$","service","saveBeneficiary$","createEffect","pipe","ofType","SubmitFormAction","switchMap","action","saveBeneficiary","accountId","applicationId","submission","map","_data","SetApplicationSavedBeneficiaryAction","beneficiary","catchError","_err","of","SubmitFormErrorAction","ɵɵinject","Actions","StartAPensionService","factory","ɵfac","StartAPensionDocumentsFormComponentEffects","constructor","actions$","service","saveDocument$","createEffect","pipe","ofType","SaveDocumentAction","mergeMap","action","saveDocument","accountId","applicationId","documentTypeId","payload","draft","map","data","UpdateSavedDocumentAction","uploadedDocumentId","fileName","documentIndex","controlId","catchError","err","caught","of","SetFileRequestFailedAction","file","deleteDocument$","DeleteDocumentAction","switchMap","deleteDocument","UpdateDeletedDocumentAction","overviewIndex","uploadIndex","EMPTY","replaceDocument$","ReplaceDocumentAction","UpdateReplacedDocumentAction","originalFile","completeDocumentsComponent$","SubmitFormAction","completeDocuments","SetApplicationSavedDocumentsAction","_err","ɵɵinject","Actions","StartAPensionService","factory","ɵfac","StartAPensionEligibilityFormComponentEffects","constructor","actions$","service","createBaseApplication$","createEffect","pipe","ofType","SubmitFormAction","switchMap","action","createBaseApplication","accountId","conditionId","submission","map","data","SetApplicationIdAction","applicationId","catchError","_err","of","SubmitFormErrorAction","ɵɵinject","Actions","StartAPensionService","factory","ɵfac","StartAPensionPaymentDetailsFormComponentEffects","constructor","actions$","service","savePaymentDetails$","createEffect","pipe","ofType","SubmitFormAction","switchMap","action","savePaymentDetails","accountId","applicationId","submission","map","_data","SetApplicationSavedPaymentDetailsAction","paymentDetails","catchError","_err","of","SubmitFormErrorAction","ɵɵinject","Actions","StartAPensionService","factory","ɵfac","StartAPensionReviewComponentEffects","constructor","store","actions$","service","submitApplication$","createEffect","pipe","ofType","SubmitApplicationAction","switchMap","action","submitApplication","accountId","applicationId","map","data","ApplicationSubmittedAction","catchError","err","EMPTY","ɵɵinject","Store","Actions","StartAPensionService","factory","ɵfac","StartAPensionStartComponentEffects","constructor","actions$","service","getApplicationList$","createEffect","pipe","ofType","RequestAction","switchMap","action","getApplicationList","accountId","map","data","ResponseAction","payload","catchError","err","EMPTY","cancelApplication$","CancelApplicationAction","cancelApplication","applicationId","SetApplicationToCancelledAction","continueApplication$","ContinueApplicationRequestAction","getApplicationData","ApplicationDataResponseAction","applicationData","_err","updateSubmitted$","UpdateSubmittedApplicationRequestAction","SaveApplicationDataForUpdateSubmittedAction","model","ɵɵinject","Actions","StartAPensionService","factory","ɵfac","StartAPensionUpdateSubmittedComponentEffects","constructor","factory","ɵfac","SuperannuationProviderSearchEffects","constructor","store","actions$","toastr","router","service","providerSearch$","createEffect","pipe","ofType","RequestAction","switchMap","action","providerSearch","q","map","data","ResponseAction","payload","catchError","err","EMPTY","ɵɵinject","Store","Actions","ToastrService","Router","RollInService","factory","ɵfac","SwitchInvestmentsService","BaseService","constructor","http","toastr","store","getOptions","accountId","get","environment","apiUrl","headers","submit","selectedId","obj","selected","post","ɵɵinject","HttpClient","ToastrService","Store","factory","ɵfac","SwitchInvestmentsEffects","constructor","store","actions$","toastr","router","service","getOptions$","createEffect","pipe","ofType","RequestOptionsAction","switchMap","action","getOptions","accountId","map","data","ResponseOptionsAction","payload","catchError","err","EMPTY","submit$","RequestSwitchOptionAction","submit","selectedId","success","message","ResponseSwitchOptionAction","ɵɵinject","Store","Actions","ToastrService","Router","SwitchInvestmentsService","factory","ɵfac","UnitPriceService","BaseService","constructor","http","toastr","store","unitPrices","accountId","get","environment","apiUrl","headers","ɵɵinject","HttpClient","ToastrService","Store","factory","ɵfac","UnitPricesViewEffects","constructor","store","actions$","service","getData$","createEffect","pipe","ofType","RequestAction","switchMap","action","unitPrices","accountId","map","data","ResponseAction","payload","catchError","err","EMPTY","ɵɵinject","Store","Actions","UnitPriceService","factory","ɵfac","memberPortalSharedRoutes","MemberPortalSharedRoutingModule","RouterModule","forChild","MemberPortalSharedModule","provideHttpClient","withInterceptorsFromDi","imports","CommonModule","NgApexchartsModule","PdfJsViewerModule","IfaaUiComponentsModule","MemberPortalSharedRoutingModule","MaterialModule","NgrxFormsModule","ReactiveFormsModule","StoreModule","forFeature","featureKey","reducers","metaReducers","localStorageSyncMetaReducer","EffectsModule","MemberEffects","MemberViewOverviewEffects","AccountUnderlyingViewEffects","AccountUnderlyingInvestmentSummaryViewEffects","BeneficiariesViewEffects","BPAYDetailsEffects","EditMemberEffects","EditInvestmentEffects","BeneficiariesEditEffects","CashTransactionsEffects","MemberAccountDropdownEffects","HistoricalChartViewEffects","InsuranceQuestionnaireStartEffects","InsuranceQuestionnaireEffects","InvestmentOptionsEffects","InsuranceDetailsEffects","SwitchInvestmentsEffects","RollInEditEffects","ContributionsLimitsEffects","SuperannuationProviderSearchEffects","PersonalContributionEditEffects","ConsolidateSuperEffects","UnitPricesViewEffects","DocumentViewerEffects","NotificationDropdownEffects","MemberPensionEffects","AccessYourSuperStartComponentEffects","AccessYourSuperTypeSelectionComponentEffects","AccessYourSuperFormComponentEffects","AccessYourSuperLastEmployerComponentEffects","AccessYourSuperBankDetailsComponentEffects","AccessYourSuperDocumentsComponentEffects","AccessYourSuperRetirementComponentEffects","AccessYourSuperCeasedWorkSixtyComponentEffects","AccessYourSuperPermanentRetirementPreservationComponentEffects","AccessYourSuperCeasedPaidEmploymentComponentEffects","AccessYourSuperPensionCommutationsComponentEffects","AccessYourSuperReviewComponentEffects","RecentEmploymentDetailsEffects","AccountSummaryEffects","AccessYourSuperTerminalMedicalConditionComponentEffects","AccessYourSuperSevereFinancialHardshipComponentEffects","AccessYourSuperCompassionateGroundsComponentEffects","AccessYourSuperUnrestrictedNonPreservedComponentEffects","AccessYourSuperKiwiSaverComponentEffects","ChatViewEffects","AccessYourSuperUpdateSubmittedComponentEffects","NoticeOfIntentTaxDeductionContainerComponentEffects","NoticeOfIntentTaxDeductionFormComponentEffects","MemberAlertViewEffects","AccountFeesEffects","PensionChangePaymentScheduleEffects","PensionChangePaymentScheduleRequestsEffects","InvestmentSwitchHistoryEffects","StartAPensionStartComponentEffects","StartAPensionFormComponentEffects","StartAPensionEligibilityFormComponentEffects","StartAPensionAccountDetailsFormComponentEffects","StartAPensionPaymentDetailsFormComponentEffects","StartAPensionBankDetailsFormComponentEffects","StartAPensionBeneficiaryFormComponentEffects","StartAPensionDocumentsFormComponentEffects","StartAPensionReviewComponentEffects","StartAPensionUpdateSubmittedComponentEffects","InsuranceUpdateComponentEffects","InsuranceUpdateHistoryComponentEffects","TranslateModule","forChild","NgCircleProgressModule","forRoot","radius","outerStrokeWidth","innerStrokeWidth","animationDuration","backgroundPadding","animation","memberPortalState","createFeatureSelector","featureKey","consolidateSuper","createSelector","state","consolidateSuperState","consolidateSuper_List","list","ɵɵelement","ɵɵproperty","ɵɵpureFunction1","_c0","i_r1","ɵɵelementStart","ɵɵtemplate","ConsolidateSuperComponent_div_0_div_7_ol_1_li_1_Template","ɵɵelementEnd","ɵɵadvance","list_r2","ɵɵtext","ConsolidateSuperComponent_div_0_div_7_div_3_mat_icon_3_Template","ConsolidateSuperComponent_div_0_div_7_div_3_mat_icon_4_Template","ConsolidateSuperComponent_div_0_div_7_div_3_mat_icon_5_Template","i_r4","ɵɵpureFunction3","_c1","item_r3","status","ɵɵtextInterpolate1","ɵɵtextInterpolate","transferringFund","accountNumber","ConsolidateSuperComponent_div_0_div_7_ol_1_Template","ConsolidateSuperComponent_div_0_div_7_div_3_Template","ConsolidateSuperComponent_div_0_div_7_a_4_Template","ConsolidateSuperComponent_div_0_div_7_a_5_Template","length","ConsolidateSuperComponent_div_0_app_no_items_5_Template","ConsolidateSuperComponent_div_0_div_7_Template","ɵɵpipeBind1","ctx_r4","list$","ConsolidateSuperComponent","ComponentBase","constructor","store","appStore","toggleCheck","router","pipe","select","consolidateSuper_List","rollInFeatureToggle","FeatureToggleName","member","account","rollIn","view","toggleHelper","FeatureToggleHelper","ngOnInit","ngOnInitBase","checkAccountFeatureToggle","enabled","dispatch","RequestAction","accountId","ngOnDestroy","ngOnDestroyBase","onStartClick","navigate","ɵɵdirectiveInject","Store","FeatureToggleCheckService","Router","selectors","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ConsolidateSuperComponent_div_0_Template","FeatureToggleDirective","AppNoItemsComponent","NgIf","NgFor","NgClass","MatIcon","AsyncPipe","MessageDirective","styles","memberPortalState","createFeatureSelector","featureKey","historicalChartView","createSelector","state","historicalChartViewState","historicalChartView_Model","model","historicalChartView_SelectedFilter","activeOptionButton","import_moment","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵproperty","ctx_r2","sanitizer","bypassSecurityTrustHtml","model_r2","graphDescription","ɵɵsanitizeHtml","ɵɵclassMap","ɵɵpipeBind1","ɵɵpropertyInterpolate","ɵɵtemplate","HistoricalChartViewComponent_div_0_div_9_Template","ɵɵlistener","ɵɵrestoreView","_r1","ɵɵnextContext","ɵɵresetView","updateOptions","HistoricalChartViewComponent_div_0_app_button_32_Template","HistoricalChartViewComponent_div_0_app_button_33_Template","HistoricalChartViewComponent_div_0_app_button_34_Template","HistoricalChartViewComponent_div_0_app_button_35_Template","ɵɵtextInterpolate","totalAmount","ɵɵtextInterpolate1","ɵɵpipeBind2","asAt","ɵɵclassProp","selectedFilter$","viewOtherStatementsFeatureToggle","viewTransactionsFeatureToggle","lodgeCirtClaimFeatureToggle","jetcoClaimFeatureToggle","HistoricalChartViewComponent","ComponentBase","constructor","store","appStore","translate","pipe","DatePipe","chartOne","chartTwo","model$","select","historicalChartView_Model","historicalChartView_SelectedFilter","selectedAccount$","memberAccountDropdown_SelectedAccount","accountFeatureToggles$","commonState_SystemConfig_AccountFeatureToggles","helper","Helper","FeatureToggleName","member","account","transactions","view","viewStatements","lodgeCirtClaim","JetcoClaim","featureToggleHelper","FeatureToggleHelper","currentFilter","data","updateOptionsData","xaxis","min","subtractDate","getTime","max","Date","all","undefined","lastSearch","accountId","from","to","ngAfterViewInit","get","subscribe","chart","chartOptions","tooltip","enabled","custom","series","seriesIndex","dataPointIndex","w","transform","x","environment","views","historicalChart","displayUnits","unit","redrawOnWindowResize","height","type","CHARTTYPE","id","selection","zoom","autoScaleYaxis","events","click","e","options","tt","dataPointSelection","markers","colors","CHARTMARKERCOLOR","strokeColors","CHARTMARKERBORDERCOLOR","CHARTLINECOLOR","dataLabels","stroke","curve","title","text","align","grid","row","opacity","yaxis","tickAmount","labels","formatter","value","Number","toFixed","toISOString","ApexCharts","nativeElement","render","minDate","moment","subtract","valueOf","maxDate","chartOptions2","brush","target","fill","show","chart2","months","d","setMonth","getMonth","ngOnInit","ngOnInitBase","sub","debounceTime","commomState_ScreenWidth","__async","filter","getValue","combineLatest","map","nextSearch","JSON","stringify","dispatch","RequestAction","model","length","updateSeries","days","screenWidth","ngOnDestroy","ngOnDestroyBase","option","SelectFilterAction","payload","ɵɵdirectiveInject","Store","TranslateService","DomSanitizer","selectors","viewQuery","rf","ctx","HistoricalChartViewComponent_div_0_Template","MatTooltip","CurrencyPipe","AsyncPipe","NgIf","MatIcon","AppButtonComponent","TranslatePipe","RouterLink","FeatureToggleDirective","styles","ɵɵelement","ɵɵproperty","item_r1","message","ɵɵsanitizeHtml","ɵɵpureFunction1","_c0","name","LimitedServiceBannerComponent","ComponentBase","toggles","value","limitedServiceBanners","constructor","store","router","showMoreFlag","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","showMore","ɵɵdirectiveInject","Store","Router","selectors","inputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵtemplate","LimitedServiceBannerComponent_li_10_Template","ɵɵadvance","AnimateCssDirective","MatAccordion","MatExpansionPanel","MatExpansionPanelHeader","MatExpansionPanelTitle","MatIcon","NgFor","NgClass","styles","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵpropertyInterpolate","data_r1","preferredName","ɵɵadvance","ɵɵtextInterpolate1","firstName","ɵɵpropertyInterpolate2","lastName","ɵɵtextInterpolate2","ɵɵpipeBind1","ɵɵelement","ɵɵproperty","ɵɵpureFunction1","_c0","tmp_3_0","ctx_r1","tenantConfig$","overviewWelcomeBackJump","tmp_4_0","overviewWelcomeBackImage","ɵɵsanitizeUrl","memberNumber","selected$","accountNumber","ɵɵtemplate","MemberViewOverviewComponent_div_3_div_7_Template","MemberViewOverviewComponent_div_3_div_8_Template","MemberViewOverviewComponent_div_3_div_9_Template","MemberViewOverviewComponent_div_3_span_10_Template","MemberViewOverviewComponent_div_3_div_12_Template","MemberViewOverviewComponent_div_3_app_readonly_15_Template","MemberViewOverviewComponent_div_3_app_readonly_16_Template","length","showChosenName","screenWidth","ɵɵclassMapInterpolate1","displayMemberNumber","displayAccountNumber","mobile","email","ɵɵlistener","ɵɵrestoreView","_r3","ɵɵnextContext","ɵɵresetView","personalDetails","_r4","changePassword","ɵɵelementContainerStart","MemberViewOverviewComponent_ng_container_7_app_button_1_Template","changePasswordFeatureToggle","MemberViewOverviewComponent","ComponentBase","constructor","store","appstore","router","data$","pipe","select","commonState_MemberData","commomState_SystemConfig_Config","viewProfileDetailsFeatureToggle","FeatureToggleName","member","view","memberAccountDropdown_SelectedAccount","environment","views","memberViewOverview","itemclass","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","navigate","ɵɵdirectiveInject","Store","Router","selectors","inputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","MemberViewOverviewComponent_div_3_Template","MemberViewOverviewComponent_app_button_6_Template","MemberViewOverviewComponent_ng_container_7_Template","AppComponentWrapperComponent","NgIf","AsyncPipe","TranslatePipe","NgClass","AppReadonlyComponent","AppButtonComponent","FeatureToggleDirective","styles","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ctx_r0","limitedServiceToggles","ɵɵpureFunction1","_c0","addSpacingForWidget","screenWidth","ɵɵlistener","ɵɵrestoreView","_r2","ɵɵnextContext","ɵɵresetView","onStartClick","_c1","ɵɵpropertyInterpolate","ɵɵpipeBind1","TenantDashboardComponent","ComponentBase","constructor","store","router","showQuestionnaire$","pipe","select","insuranceQuestionnaire_ShowQuestionnaire","selectedAccount$","memberAccountDropdown_SelectedAccount","limitedServiceToggles$","commonState_SystemConfig_LimitedServiceToggles","featureToggles$","commonState_SystemConfig_AccountFeatureToggles","memberProfileSummaryFeatureToggle","FeatureToggleName","member","memberProfileSummary","view","consolidateSuperFeatureToggle","account","rollIn","accountBalWithGraphFeatureToggle","accountBalWithGraph","ngOnInit","ngOnInitBase","sub","subscribe","x","filter","flag","name","maintenance","combineLatest","accountClassificationId","accountSummary","find","value","FeatureToggleValue","available","ngOnDestroy","ngOnDestroyBase","navigate","ɵɵdirectiveInject","Store","Router","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵtemplate","TenantDashboardComponent_div_4_Template","ɵɵtext","TenantDashboardComponent_app_member_view_overview_11_Template","TenantDashboardComponent_app_component_wrapper_12_Template","TenantDashboardComponent_app_component_wrapper_13_Template","length","ɵɵclassMapInterpolate1","AppToolbarOptionsComponent","NgIf","LimitedServiceBannerComponent","AnimateCssDirective","FeatureToggleDirective","MemberViewOverviewComponent","NgClass","AppComponentWrapperComponent","ConsolidateSuperComponent","AppButtonComponent","HistoricalChartViewComponent","TranslatePipe","styles","VervModule","FeatureTogglePipe","provideHttpClient","withInterceptorsFromDi","imports","CommonModule","VerveRoutingModule","TranslateModule","forChild","IfaaUiComponentsModule","StoreModule","forFeature","featureKey","reducers","EffectsModule","MainLayoutEffects","MemberPortalSharedModule","MainMasterComponent","VerveAcademyViewComponent","TenantDashboardComponent","memberPortalState","createFeatureSelector","featureKey","jetcoClaimAmount","createSelector","state","jetcoClaimAmountState","jetcoClaimAmount_Amount","amount","memberPortalState","createFeatureSelector","featureKey","currentEmployer","createSelector","state","currentEmployer_Employer","employer","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","employer_r1","employerName","payrollNumber","ɵɵpipeBind2","joinDate","lastContribution","CurrentEmployerViewComponent","ComponentBase","constructor","store","cirtstore","employer$","pipe","select","currentEmployer_Employer","selectedAccount$","memberAccountDropdown_SelectedAccount","ngOnInit","ngOnInitBase","sub","subscribe","x","console","warn","dispatch","RequestAction","accountId","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","selectors","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelement","ɵɵtemplate","CurrentEmployerViewComponent_div_10_Template","ɵɵproperty","ɵɵpipeBind1","AppComponentWrapperComponent","NgIf","AsyncPipe","MatIcon","DatePipe","styles","memberPortalState","createFeatureSelector","featureKey","employerBalances","createSelector","state","employerBalancesState","employerBalances_Data","data","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","item_r1","employerName","ɵɵpipeBind2","startDate","endDate","ɵɵpipeBind1","employerSeverance","severanceClaimed","availableBalance","EmployerBalancesComponent","ComponentBase","constructor","store","cirtstore","data$","pipe","select","employerBalances_Data","selectedAccount$","memberAccountDropdown_SelectedAccount","ngOnInit","ngOnInitBase","sub","subscribe","x","dispatch","RequestAction","accountId","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","selectors","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵtemplate","EmployerBalancesComponent_tr_17_Template","ɵɵproperty","NgFor","AsyncPipe","DatePipe","DashPipe","CurrencyPipe","styles","JetcoClaimComponent","ComponentBase","constructor","store","cirtstore","amount$","pipe","select","jetcoClaimAmount_Amount","selectedAccount$","memberAccountDropdown_SelectedAccount","fy","ngOnInit","ngOnInitBase","helper","Helper","getFinancialYear","Date","from","getFullYear","to","sub","subscribe","x","dispatch","RequestAction","start","toISOString","end","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","selectors","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵelement","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","ɵɵtextInterpolate1","ɵɵpipeBind1","AppComponentWrapperComponent","MatIcon","AsyncPipe","CurrencyPipe","styles","ɵɵelement","ɵɵproperty","ɵɵpureFunction1","_c0","ctx_r0","screenWidth","ɵɵelementContainerStart","ɵɵtemplate","TenantDashboardComponent_ng_container_11_cirt_current_employer_view_1_Template","ɵɵadvance","currentEmployerSummaryFeatureToggle","_c1","ɵɵpipeBind1","jetco_amount$","ɵɵelementStart","ɵɵelementEnd","TenantDashboardComponent","ComponentBase","constructor","store","cirtstore","showQuestionnaire$","pipe","select","insuranceQuestionnaire_ShowQuestionnaire","selectedAccount$","memberAccountDropdown_SelectedAccount","jetcoClaimAmount_Amount","memberProfileSummaryFeatureToggle","FeatureToggleName","member","memberProfileSummary","view","account","currentEmployer","jetcoClaimSummaryFeatureToggle","JetcoClaim","accountBalWithGraphFeatureToggle","accountBalWithGraph","employerBalancesSummaryFeatureToggle","employerBalances","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵtext","TenantDashboardComponent_app_member_view_overview_9_Template","TenantDashboardComponent_ng_container_11_Template","TenantDashboardComponent_app_jetco_claim_amount_13_Template","TenantDashboardComponent_app_component_wrapper_14_Template","TenantDashboardComponent_app_component_wrapper_15_Template","ɵɵclassMapInterpolate1","AppToolbarOptionsComponent","AnimateCssDirective","MemberViewOverviewComponent","FeatureToggleDirective","NgClass","NgIf","AsyncPipe","CurrentEmployerViewComponent","JetcoClaimComponent","AppComponentWrapperComponent","HistoricalChartViewComponent","EmployerBalancesComponent","styles","memberPortalState","createFeatureSelector","featureKey","accountFees","createSelector","state","accountFeesState","accountFees_Model","model","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ɵɵpipeBind1","model_r1","fundCode","accountNumber","product","adminAssetFee","memberFee","AccountFeesComponent","ComponentBase","constructor","store","appstore","model$","pipe","select","accountFees_Model","tenantConfig$","commomState_SystemConfig_Config","viewProfileDetailsFeatureToggle","FeatureToggleName","member","personalDetails","view","changePasswordFeatureToggle","changePassword","selected$","memberAccountDropdown_SelectedAccount","itemclass","ngOnInit","ngOnInitBase","sub","subscribe","account","dispatch","RequestAction","accountId","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","selectors","inputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵtemplate","AccountFeesComponent_div_1_Template","NgIf","AppReadonlyComponent","AsyncPipe","CurrencyPipe","DashPipe","styles","memberPortalState","createFeatureSelector","featureKey","accountSumary","createSelector","state","accountSummaryState","accountSummary_Data","accountSummary","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ɵɵpipeBind1","accountSummary_r1","preserved","restrictedNonPreserved","unrestrictedNonPreserved","taxFreeComponent","taxableComponentTaxed","ɵɵpipeBind2","asAt","AccountSummaryComponent","ComponentBase","constructor","store","selectedAccount$","pipe","select","memberAccountDropdown_SelectedAccount","accountSummary$","accountSummary_Data","mode","ngOnInit","ngOnInitBase","sub","subscribe","x","dispatch","AccountSummaryRequestAction","accountId","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","selectors","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵtemplate","AccountSummaryComponent_div_4_Template","AppComponentWrapperComponent","NgIf","AppReadonlyComponent","AsyncPipe","CurrencyPipe","DatePipe","styles","DefinedBenefitAccountSummaryComponent","ComponentBase","constructor","store","ngOnDestroy","ngOnDestroyBase","ngOnInit","ngOnInitBase","ɵɵdirectiveInject","Store","selectors","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","AppComponentWrapperComponent","MatIcon","styles","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ɵɵpipeBind1","ɵɵelement","ɵɵclassMap","ɵɵpropertyInterpolate","AccountBalWithoutGraphComponent","ComponentBase","constructor","store","appStore","translate","model$","pipe","select","historicalChartView_Model","selectedAccount$","memberAccountDropdown_SelectedAccount","accountFeatureToggles$","commonState_SystemConfig_AccountFeatureToggles","viewTransactionsFeatureToggle","FeatureToggleName","member","account","transactions","view","viewOtherStatementsFeatureToggle","viewStatements","lodgeCirtClaimFeatureToggle","lodgeCirtClaim","jetcoClaimFeatureToggle","JetcoClaim","featureToggleHelper","FeatureToggleHelper","ngAfterViewInit","ngOnInit","ngOnInitBase","sub","subscribe","x","nextSearch","accountId","from","to","dispatch","RequestAction","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","TranslateService","selectors","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵtemplate","AccountBalWithoutGraphComponent_div_21_Template","AccountBalWithoutGraphComponent_app_button_24_Template","AccountBalWithoutGraphComponent_app_button_25_Template","AccountBalWithoutGraphComponent_app_button_26_Template","AccountBalWithoutGraphComponent_app_button_27_Template","ɵɵtextInterpolate","totalAmount","ɵɵtextInterpolate2","ɵɵpipeBind2","asAt","ɵɵpropertyInterpolate1","pendingAmount","ɵɵproperty","MatIcon","NgIf","MatTooltip","FeatureToggleDirective","AppButtonComponent","RouterLink","AsyncPipe","CurrencyPipe","DatePipe","TranslatePipe","styles","investmentPortalState","createFeatureSelector","featureKey","editinvestment","createSelector","state","investmentEditState","editinvestment_Form","form","editinvestment_LastModified","lastModifiedTime","editinvestment_CurrentStep","currentStep","editinvestment_originalCurrentInfo","originalCurrentInfo","editinvestment_FailedPerformanceMessage","failedPerformanceMessage","editinvestment_Steps","steps","editinvestment_SubmitText","submitText","editinvestment_currentInfo","currentInfo","editinvestment_InvestmentCustomWording","options","investmentCustomWording","editinvestment_CurrentIsSum100Percent","value","current","reduce","a","b","percentage","isValid","editinvestment_CurrentTotalPercent","editinvestment_FutureIsSum100Percent","future","editinvestment_FutureTotalPercent","editinvestment_IsLastStep","last","length","editinvestment_AllDisclaimerChecked","disclaimer","editinvestment_IsSimpleSwitch","isSimpleSwitch","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","ɵɵpipeBind1","hiddenItem_r1","amount","ɵɵelementContainerStart","ɵɵtemplate","InvestmentEditHoverComponent_ng_container_0_ng_container_12_td_6_Template","option","ɵɵtextInterpolate1","percentage","ɵɵproperty","ctx_r1","showDollarCol","InvestmentEditHoverComponent_ng_container_0_th_10_Template","InvestmentEditHoverComponent_ng_container_0_ng_container_12_Template","ɵɵclassMap","relevantOptions","InvestmentEditHoverComponent","ComponentBase","constructor","compositeOption","hiddenOps","hiddenOptions","value","ngOnDestroy","ngOnDestroyBase","ngOnInit","filter","x","compositeOptionId","optionId","__ngFactoryType__","selectors","inputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","InvestmentEditHoverComponent_ng_container_0_Template","length","NgIf","NgFor","CurrencyPipe","TranslatePipe","styles","ɵɵelementStart","ɵɵlistener","currentInfo_r3","ɵɵrestoreView","_r2","$implicit","ctx_r3","ɵɵnextContext","ɵɵresetView","onEditItemClick","hasPendingCurrentOptions","ɵɵtext","ɵɵelementEnd","ɵɵproperty","ɵɵpureFunction1","_c0","currentInfo_r6","_r5","ɵɵtemplate","InvestmentComplexViewComponent_ng_container_1_div_1_div_19_span_5_Template","InvestmentComplexViewComponent_ng_container_1_div_1_div_19_span_6_Template","ɵɵadvance","isPensionAccount","InvestmentComplexViewComponent_ng_container_1_div_1_div_5_Template","_r1","InvestmentComplexViewComponent_ng_container_1_div_1_span_13_Template","InvestmentComplexViewComponent_ng_container_1_div_1_span_14_Template","InvestmentComplexViewComponent_ng_container_1_div_1_div_19_Template","ɵɵpipeBind1","currentInfo$","ɵɵelementContainerStart","InvestmentComplexViewComponent_ng_container_1_div_1_Template","_showOptions","ɵɵpropertyInterpolate1","ɵɵpipeBind2","getAsAtBalanceDate","data_r7","ɵɵelement","item_r8","tmp_5_0","hiddenCurrent","InvestmentComplexViewComponent_ng_container_24_app_investment_edit_hover_9_Template","_c1","isCompositeOption","ɵɵtextInterpolate","option","ɵɵtextInterpolate1","percentage","amount","item_r9","hiddenFuture","InvestmentComplexViewComponent_ng_container_40_app_investment_edit_hover_6_Template","_r10","onShowMoreOrLess","ɵɵpureFunction0","_c2","maxShow","InvestmentComplexViewComponent_div_42_div_2_Template","tmp_1_0","current","length","future","ɵɵsanitizeHtml","InvestmentComplexViewComponent","ComponentBase","showOptions","constructor","store","appstore","bottomSheet","router","isDashboardView","updateInvestmentsFeatureToggle","FeatureToggleName","member","account","manageInvestments","update","lastModified$","pipe","select","editinvestment_LastModified","tenantConfig$","commomState_SystemConfig_Config","featuretoggle$","commomState_SystemConfig_FeatureToggle","currentStep$","editinvestment_CurrentStep","selectedAccount$","memberAccountDropdown_SelectedAccount","editinvestment_currentInfo","accountId","submitText","helper","Helper","steps","ngOnInit","ngOnInitBase","sub","subscribe","x","__async","dispatch","GoToStepAction","step","RequestAction","accountTypeName","isTtrType","SetIsPensionAction","payload","RequestCurrentDataAction","RequestOptionsDataAction","filterCurrent","list","slice","filterFuture","filter","o","data","asAt","trackByFn","index","item","isDisabled","setupMessage","SetStepsAction","SetSubmitText","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","MatBottomSheet","Router","selectors","inputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","InvestmentComplexViewComponent_ng_container_1_Template","InvestmentComplexViewComponent_h3_2_Template","InvestmentComplexViewComponent_mat_icon_9_Template","InvestmentComplexViewComponent_div_11_Template","InvestmentComplexViewComponent_ng_container_24_Template","InvestmentComplexViewComponent_div_29_Template","InvestmentComplexViewComponent_div_30_Template","InvestmentComplexViewComponent_ng_container_40_Template","InvestmentComplexViewComponent_div_42_Template","InvestmentComplexViewComponent_ng_container_43_Template","tmp_3_0","ɵɵclassMapInterpolate1","tmp_9_0","FeatureToggleDirective","NgIf","AsyncPipe","NgClass","MatIcon","MatTooltip","NgFor","InvestmentEditHoverComponent","RouterLink","CurrencyPipe","DatePipe","TranslatePipe","styles","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵpropertyInterpolate1","ɵɵpipeBind2","ctx_r1","getAsAtBalanceDate","data_r1","ɵɵtemplate","InvestmentSimpleViewComponent_div_5_h4_1_Template","InvestmentSimpleViewComponent_div_5_h4_3_Template","InvestmentSimpleViewComponent_div_5_mat_icon_5_Template","ɵɵadvance","ɵɵproperty","tmp_1_0","ɵɵpipeBind1","currentInfo$","hasPendingCurrentOptions","tmp_2_0","ɵɵtextInterpolate1","filterCurrent","current","option","ɵɵelementContainerStart","ɵɵtextInterpolate","item_r3","percentage","amount","ɵɵlistener","ɵɵrestoreView","_r4","ɵɵnextContext","ɵɵresetView","onEditItemClick","ɵɵpropertyInterpolate","tmp_3_0","InvestmentSimpleViewComponent_div_25_app_button_1_Template","updateInvestmentsFeatureToggle","InvestmentSimpleViewComponent","ComponentBase","showOptions","maxShow","_showOptions","constructor","store","appstore","bottomSheet","router","isDashboardView","FeatureToggleName","member","account","manageInvestments","update","lastModified$","pipe","select","editinvestment_LastModified","tenantConfig$","commomState_SystemConfig_Config","featuretoggle$","commomState_SystemConfig_FeatureToggle","currentStep$","editinvestment_CurrentStep","selectedAccount$","memberAccountDropdown_SelectedAccount","editinvestment_currentInfo","accountId","submitText","helper","Helper","isPensionAccount","steps","ngOnInit","ngOnInitBase","dispatch","SetIsSimpleSwitch","sub","subscribe","x","__async","GoToStepAction","step","RequestAction","accountTypeName","isTtrType","SetIsPensionAction","payload","RequestCurrentDataAction","RequestOptionsDataAction","list","slice","filterFuture","filter","o","data","length","asAt","trackByFn","index","item","isDisabled","setupMessage","SetStepsAction","SetSubmitText","ngOnDestroy","ngOnDestroyBase","onShowMoreOrLess","ɵɵdirectiveInject","Store","MatBottomSheet","Router","selectors","inputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","InvestmentSimpleViewComponent_div_5_Template","InvestmentSimpleViewComponent_div_6_Template","InvestmentSimpleViewComponent_div_8_Template","InvestmentSimpleViewComponent_ng_container_21_Template","InvestmentSimpleViewComponent_div_23_Template","InvestmentSimpleViewComponent_div_25_Template","ɵɵclassMapInterpolate1","tmp_4_0","tmp_5_0","NgIf","MatIcon","MatTooltip","NgFor","FeatureToggleDirective","AppButtonComponent","AppButtonDirective","AsyncPipe","CurrencyPipe","DatePipe","TranslatePipe","styles","ɵɵelement","ɵɵproperty","ctx_r0","isDashboardView","_showOptions","ɵɵelementStart","ɵɵtemplate","InvestmentEditComponent_div_0_div_1_app_investment_complex_view_1_Template","InvestmentEditComponent_div_0_div_1_app_investment_simple_view_2_Template","ɵɵelementEnd","ɵɵadvance","showComplexComponent","ɵɵtext","ɵɵelementContainerStart","InvestmentEditComponent_div_0_div_3_ng_container_14_th_1_Template","screenWidth","InvestmentEditComponent_div_0_div_3_tr_20_td_1_span_2_Template","ɵɵtextInterpolate1","item_r3","value","option","hasSuperScriptCode","investmentOptionFee","InvestmentEditComponent_div_0_div_3_tr_20_ng_container_2_td_1_Template","getCurrentPercentage","tmp_7_0","ɵɵpipeBind1","currentInfo$","current","getCurrentAmount","controls","percentage","InvestmentEditComponent_div_0_div_3_tr_20_td_6_span_3_Template","InvestmentEditComponent_div_0_div_3_tr_20_td_6_div_5_Template","showFeesColumnToggle","tmp_10_0","tmp_11_0","InvestmentEditComponent_div_0_div_3_tr_20_td_1_Template","InvestmentEditComponent_div_0_div_3_tr_20_ng_container_2_Template","InvestmentEditComponent_div_0_div_3_tr_20_td_3_Template","InvestmentEditComponent_div_0_div_3_tr_20_td_4_Template","InvestmentEditComponent_div_0_div_3_tr_20_td_5_Template","InvestmentEditComponent_div_0_div_3_tr_20_td_6_Template","InvestmentEditComponent_div_0_div_3_ng_container_25_th_1_Template","ɵɵpureFunction2","_c0","currentIsSum100Percent$","currentTotalPercent$","failedPerformanceMessage_r4","ɵɵsanitizeHtml","tmp_4_0","customWording$","investmentOptionFeeDisclaimer","currentInvestmentOptionClosing","InvestmentEditComponent_div_0_div_3_th_13_Template","InvestmentEditComponent_div_0_div_3_ng_container_14_Template","InvestmentEditComponent_div_0_div_3_th_15_Template","InvestmentEditComponent_div_0_div_3_th_16_Template","InvestmentEditComponent_div_0_div_3_th_17_Template","InvestmentEditComponent_div_0_div_3_th_18_Template","InvestmentEditComponent_div_0_div_3_tr_20_Template","InvestmentEditComponent_div_0_div_3_th_22_Template","InvestmentEditComponent_div_0_div_3_th_23_Template","InvestmentEditComponent_div_0_div_3_th_24_Template","InvestmentEditComponent_div_0_div_3_ng_container_25_Template","InvestmentEditComponent_div_0_div_3_div_27_Template","InvestmentEditComponent_div_0_div_3_div_28_Template","InvestmentEditComponent_div_0_div_3_div_30_Template","InvestmentEditComponent_div_0_div_3_div_31_Template","ɵɵlistener","ɵɵrestoreView","_r2","ɵɵnextContext","ɵɵresetView","onNextItemClick","onBackItemClick","ɵɵclassMapInterpolate1","form_r5","trackByFn","length","failedPerformanceMessage$","tmp_20_0","InvestmentEditComponent_div_0_div_5_ng_container_12_th_1_Template","InvestmentEditComponent_div_0_div_5_tr_17_td_1_span_2_Template","item_r7","InvestmentEditComponent_div_0_div_5_tr_17_ng_container_2_td_1_Template","future","InvestmentEditComponent_div_0_div_5_tr_17_td_5_span_3_Template","InvestmentEditComponent_div_0_div_5_tr_17_td_5_div_5_Template","InvestmentEditComponent_div_0_div_5_tr_17_td_1_Template","InvestmentEditComponent_div_0_div_5_tr_17_ng_container_2_Template","InvestmentEditComponent_div_0_div_5_tr_17_td_3_Template","InvestmentEditComponent_div_0_div_5_tr_17_td_4_Template","InvestmentEditComponent_div_0_div_5_tr_17_td_5_Template","InvestmentEditComponent_div_0_div_5_ng_container_21_th_1_Template","futureIsSum100Percent$","futureTotalPercent$","failedPerformanceMessage_r8","futureInvestmentOptionClosing","InvestmentEditComponent_div_0_div_5_h2_1_Template","InvestmentEditComponent_div_0_div_5_h2_2_Template","InvestmentEditComponent_div_0_div_5_p_3_Template","InvestmentEditComponent_div_0_div_5_p_4_Template","InvestmentEditComponent_div_0_div_5_th_11_Template","InvestmentEditComponent_div_0_div_5_ng_container_12_Template","InvestmentEditComponent_div_0_div_5_th_13_Template","InvestmentEditComponent_div_0_div_5_th_14_Template","InvestmentEditComponent_div_0_div_5_th_15_Template","InvestmentEditComponent_div_0_div_5_tr_17_Template","InvestmentEditComponent_div_0_div_5_th_19_Template","InvestmentEditComponent_div_0_div_5_th_20_Template","InvestmentEditComponent_div_0_div_5_ng_container_21_Template","InvestmentEditComponent_div_0_div_5_div_23_Template","InvestmentEditComponent_div_0_div_5_div_24_Template","InvestmentEditComponent_div_0_div_5_div_26_Template","InvestmentEditComponent_div_0_div_5_div_27_Template","_r6","isPensionAccount","tmp_21_0","_r9","$implicit","onSubmitClick","tmp_3_0","submissionDisclaimer","disclaimer","allDisclaimerChecked$","submitting","_r10","onGoToDashboardClick","submitText","InvestmentEditComponent_div_0_div_1_Template","InvestmentEditComponent_div_0_div_3_Template","InvestmentEditComponent_div_0_div_5_Template","InvestmentEditComponent_div_0_div_7_Template","InvestmentEditComponent_div_0_div_9_Template","currentStep$","InvestmentEditComponent","ComponentBase","showOptions","maxShow","constructor","store","appstore","bottomSheet","router","updateInvestmentsFeatureToggle","FeatureToggleName","member","account","manageInvestments","update","form$","pipe","select","editinvestment_Form","lastModified$","editinvestment_LastModified","submitText$","editinvestment_SubmitText","selectedAccount$","memberAccountDropdown_SelectedAccount","editinvestment_currentInfo","originalCurrentInfo$","editinvestment_originalCurrentInfo","editinvestment_CurrentIsSum100Percent","editinvestment_CurrentTotalPercent","isLastStep$","editinvestment_IsLastStep","editinvestment_FutureIsSum100Percent","editinvestment_FutureTotalPercent","editinvestment_AllDisclaimerChecked","editinvestment_InvestmentCustomWording","isSimpleSwitch$","editinvestment_IsSimpleSwitch","tenantConfig$","commomState_SystemConfig_Config","featuretoggle$","commomState_SystemConfig_FeatureToggle","editinvestment_CurrentStep","editinvestment_FailedPerformanceMessage","isSending$","commonState_IsSending","steps$","editinvestment_Steps","accountId","communicationPreference","helper","Helper","steps","currentStep","environment","views","investmentEdit","showFees","view","ngOnInit","ngOnInitBase","sub","subscribe","x","window","scrollTo","__async","dispatch","GoToStepAction","step","form","JSON","stringify","myForm","data","originalValues","getValue","forEach","element","SetErrorsAction","id","investmentOptionStatusId","investmentOptions","filter","optionId","errors","distinctUntilChanged","y","RequestAction","accountTypeName","isTtrType","SetIsPensionAction","payload","dismiss","navigate","s","amount","index","item","ngOnDestroy","ResetAction","ngOnDestroyBase","isSimpleSwitch","dataClone","clone","SubmitRequestAction","obj","i","indexOf","ɵɵdirectiveInject","Store","MatBottomSheet","Router","selectors","inputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","InvestmentEditComponent_div_0_Template","NgIf","AsyncPipe","AnimateCssDirective","InvestmentComplexViewComponent","TranslatePipe","InvestmentSimpleViewComponent","FeatureToggleDirective","NgFor","CurrencyPipe","NumberEntryFieldComponent","InputScrollDirective","NgClass","AppButtonComponent","EntryCheckboxFieldComponent","AppButtonDirective","NgrxFormsModule","FormsModule","ReactiveFormsModule","styles","state","createFeatureSelector","featureKey","alertState","createSelector","memberAlertViewState","memberAlertView_Model","model","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ctx_r0","list","length","ɵɵlistener","ɵɵrestoreView","_r2","item_r3","ɵɵnextContext","$implicit","ɵɵresetView","getLink","action","actionName","ɵɵtemplate","MemberAlertViewComponent_mat_expansion_panel_1_div_8_div_4_Template","text","ɵɵproperty","actionType","ɵɵelement","MemberAlertViewComponent_mat_expansion_panel_1_span_6_Template","MemberAlertViewComponent_mat_expansion_panel_1_span_7_Template","MemberAlertViewComponent_mat_expansion_panel_1_div_8_Template","MemberAlertViewComponent","ComponentBase","constructor","store","router","translateService","helper","Helper","model$","pipe","select","memberAlertView_Model","selectedAccount$","memberAccountDropdown_SelectedAccount","ngOnInit","ngOnInitBase","sub","subscribe","x","dispatch","RequestAction","accountId","forEach","item","__async","isVisible","environment","views","memberAlerts","alertType","push","ngOnDestroy","ngOnDestroyBase","link","startsWith","name","replace","url","getValue","get","window","open","ɵɵdirectiveInject","Store","Router","TranslateService","selectors","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","MemberAlertViewComponent_mat_expansion_panel_1_Template","NgIf","MatExpansionPanel","MatExpansionPanelHeader","MatExpansionPanelDescription","MatExpansionPanelTitle","MatIcon","NgFor","styles","memberPortalState","createFeatureSelector","featureKey","recentEmployment","createSelector","state","recentEmploymentDetailState","recentEmployment_Employer","employer","FeatureToggleGlobalDirective","constructor","store","renderer","view","template","featuretoggle$","pipe","select","commonState_SystemConfig_AccountFeatureToggles","sub","ngOnDestroy","unsubscribe","ngOnChanges","distinctUntilChanged","x","y","JSON","stringify","subscribe","featureToggles","globalFlag","find","level","FeatureToggleLevel","global","name","featuretoggleglobal","value","FeatureToggleValue","available","createEmbeddedView","clear","ɵɵdirectiveInject","Store","Renderer2","ViewContainerRef","TemplateRef","selectors","inputs","features","ɵɵNgOnChangesFeature","ɵɵelement","ɵɵproperty","ɵɵpureFunction1","_c0","i_r1","ɵɵelementStart","ɵɵtemplate","RecentEmploymentDetailsComponent_div_4_ol_1_li_1_Template","ɵɵelementEnd","ɵɵadvance","list_r2","ctx_r3","screenWidth","ɵɵpipeBind2","employer_r3","startDate","ɵɵpipeBind1","endDate","ɵɵtext","ɵɵpropertyInterpolate","employerSuperannuationPlanURL","ɵɵsanitizeUrl","employerPlanLinkUrl","RecentEmploymentDetailsComponent_div_4_div_3_app_readonly_8_Template","RecentEmploymentDetailsComponent_div_4_div_3_app_readonly_9_Template","RecentEmploymentDetailsComponent_div_4_div_3_a_14_Template","RecentEmploymentDetailsComponent_div_4_div_3_div_15_Template","i_r5","ɵɵtextInterpolate1","employerName","recentEmployerDetailDatesFeatureToggle","lastContributionAmount","lastContributionDate","RecentEmploymentDetailsComponent_div_4_ol_1_Template","RecentEmploymentDetailsComponent_div_4_div_3_Template","RecentEmploymentDetailsComponent_div_4_a_4_Template","RecentEmploymentDetailsComponent_div_4_a_5_Template","length","RecentEmploymentDetailsComponent","ComponentBase","constructor","store","appstore","employer$","pipe","select","recentEmployment_Employer","selectedAccount$","memberAccountDropdown_SelectedAccount","FeatureToggleName","member","account","recentEmployerDetails","recentEmployerDetailDates","view","ngOnInit","ngOnInitBase","screenWidthChange","width","sub","subscribe","x","dispatch","RequestAction","accountId","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","selectors","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","RecentEmploymentDetailsComponent_app_no_items_2_Template","RecentEmploymentDetailsComponent_div_4_Template","tmp_0_0","AppNoItemsComponent","NgIf","AsyncPipe","NgFor","NgClass","AppReadonlyComponent","FeatureToggleGlobalDirective","DatePipe","DashPipe","CurrencyPipe","MatIcon","MatTooltip","TranslatePipe","MessageDirective","styles","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ctx_r0","limitedServiceToggles","ɵɵpureFunction1","_c0","screenWidth","_c1","addSpacingForWidget","ɵɵpropertyInterpolate","ɵɵpipeBind1","ɵɵtemplate","TenantDashboardComponent_app_component_wrapper_18_div_3_Template","updateInvestmentsFeatureToggle","_c2","ɵɵlistener","ɵɵrestoreView","_r2","ɵɵnextContext","ɵɵresetView","onStartClick","_c3","TenantDashboardComponent","ComponentBase","constructor","store","router","smrtstore","memberProfileSummaryFeatureToggle","FeatureToggleName","member","memberProfileSummary","view","accountSummaryFeatureToggle","account","accountSummary","manageInvestmentsFeatureToggle","manageInvestments","update","rollInFeatureToggle","rollIn","recentEmployerDetailsFeatureToggle","recentEmployerDetails","dbAccountSummaryFeatureToggle","definedBenefitAccountSummary","accountBalWithGraphFeatureToggle","accountBalWithGraph","accountBalWithoutGraphFeatureToggle","accountBalWithoutGraph","accountFeesFeatureToggle","accountFees","showQuestionnaire$","pipe","select","insuranceQuestionnaire_ShowQuestionnaire","featureToggles$","commonState_SystemConfig_AccountFeatureToggles","limitedServiceToggles$","commonState_SystemConfig_LimitedServiceToggles","selectedAccount$","memberAccountDropdown_SelectedAccount","ngOnInit","ngOnInitBase","sub","subscribe","x","filter","flag","name","maintenance","combineLatest","accountClassificationId","find","dbAccountSummary","value","FeatureToggleValue","available","ngOnDestroy","ngOnDestroyBase","navigate","ɵɵdirectiveInject","Store","Router","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","TenantDashboardComponent_div_4_Template","ɵɵtext","TenantDashboardComponent_app_member_view_overview_12_Template","TenantDashboardComponent_app_component_wrapper_13_Template","TenantDashboardComponent_app_account_summary_14_Template","TenantDashboardComponent_app_defined_benefit_account_summary_15_Template","TenantDashboardComponent_app_component_wrapper_16_Template","TenantDashboardComponent_app_component_wrapper_17_Template","TenantDashboardComponent_app_component_wrapper_18_Template","TenantDashboardComponent_app_component_wrapper_20_Template","TenantDashboardComponent_app_component_wrapper_21_Template","length","ɵɵclassMapInterpolate1","AppToolbarOptionsComponent","NgIf","LimitedServiceBannerComponent","AnimateCssDirective","MemberAlertViewComponent","FeatureToggleDirective","MemberViewOverviewComponent","NgClass","AppComponentWrapperComponent","AccountFeesComponent","AccountSummaryComponent","DefinedBenefitAccountSummaryComponent","HistoricalChartViewComponent","AccountBalWithoutGraphComponent","InvestmentEditComponent","AppButtonComponent","AppButtonDirective","RouterLink","RecentEmploymentDetailsComponent","ConsolidateSuperComponent","TranslatePipe","styles","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ctx_r0","limitedServiceToggles","ɵɵtemplate","TenantDashboardComponent_div_10_app_component_wrapper_4_app_button_4_Template","viewTransactionsFeatureToggle","TenantDashboardComponent_div_10_app_component_wrapper_7_div_3_app_button_1_Template","isPensionAccount","TenantDashboardComponent_div_10_app_component_wrapper_7_div_3_Template","updateInvestmentsFeatureToggle","ɵɵlistener","ɵɵrestoreView","_r2","ɵɵnextContext","ɵɵresetView","onStartClick","ɵɵpureFunction1","_c0","screenWidth","ɵɵpropertyInterpolate","ɵɵpipeBind1","ɵɵtext","_r3","onTellMyEmployerClick","_c1","TenantDashboardComponent_div_10_app_member_view_overview_3_Template","TenantDashboardComponent_div_10_app_component_wrapper_4_Template","TenantDashboardComponent_div_10_app_component_wrapper_5_Template","TenantDashboardComponent_div_10_app_component_wrapper_6_Template","TenantDashboardComponent_div_10_app_component_wrapper_7_Template","TenantDashboardComponent_div_10_app_component_wrapper_9_Template","TenantDashboardComponent_div_10_app_component_wrapper_10_Template","TenantDashboardComponent_div_10_section_11_Template","TenantDashboardComponent_div_10_section_12_Template","ɵɵclassMapInterpolate1","memberProfileSummaryFeatureToggle","recentEmployerDetailsFeatureToggle","accountBalWithGraphFeatureToggle","accountBalWithoutGraphFeatureToggle","manageInvestmentsFeatureToggle","rollInFeatureToggle","TenantDashboardComponent","ComponentBase","constructor","store","router","futrstore","FeatureToggleName","member","account","transactions","view","memberProfileSummary","accountSummaryFeatureToggle","accountSummary","manageInvestments","update","rollIn","recentEmployerDetails","dbAccountSummaryFeatureToggle","definedBenefitAccountSummary","accountBalWithGraph","accountBalWithoutGraph","showQuestionnaire$","pipe","select","insuranceQuestionnaire_ShowQuestionnaire","featureToggles$","commonState_SystemConfig_AccountFeatureToggles","loggedIn$","commomState_LoggedinInfo","limitedServiceToggles$","commonState_SystemConfig_LimitedServiceToggles","selectedAccount$","memberAccountDropdown_SelectedAccount","addSpacingForWidget","ngOnInit","ngOnInitBase","sub","subscribe","x","filter","flag","name","maintenance","combineLatest","accountClassificationId","find","dbAccountSummary","accountTypeName","isTtrType","value","FeatureToggleValue","available","ngOnDestroy","ngOnDestroyBase","navigate","ɵɵdirectiveInject","Store","Router","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","TenantDashboardComponent_div_4_Template","TenantDashboardComponent_div_8_Template","TenantDashboardComponent_div_10_Template","length","AppToolbarOptionsComponent","NgIf","LimitedServiceBannerComponent","AsyncPipe","MatProgressBar","AnimateCssDirective","MemberViewOverviewComponent","NgClass","AppComponentWrapperComponent","RecentEmploymentDetailsComponent","AppButtonComponent","RouterLink","HistoricalChartViewComponent","AccountBalWithoutGraphComponent","InvestmentEditComponent","AppButtonDirective","ConsolidateSuperComponent","TranslatePipe","FeatureToggleDirective","styles","MainExpandedRequestAction","createAction","props","MainSetAnimatedPageAction","mainLayoutState","page","expanded","animated","helper","Helper","reducer","createReducer","onNgrxForms","onNgrxFormsAction","SetValueAction","state","action","on","MainSetAnimatedPageAction","__spreadProps","__spreadValues","MainExpandedRequestAction","menuItem","clone","filter","x","id","length","mainLayoutReducer","featureKey","reducers","InjectionToken","factory","mainLayout","mainLayoutReducer","memberPortalState","createFeatureSelector","featureKey","mainLayout","createSelector","state","mainLayout_Expanded","expanded","mainLayout_Animated","animated","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵclassMapInterpolate1","ctx_r0","screenWidth","FooterComponent","ComponentBase","constructor","store","dialog","router","tenantConfig$","pipe","select","commomState_SystemConfig_Config","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","MatDialog","Router","selectors","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵtemplate","FooterComponent_footer_0_Template","ɵɵproperty","ɵɵpipeBind1","NgIf","AsyncPipe","styles","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelementContainerStart","ɵɵtemplate","MainMasterComponent_ng_container_21_a_1_Template","MainMasterComponent_ng_container_21_a_2_Template","ɵɵlistener","ɵɵrestoreView","_r2","ctx_r2","ɵɵnextContext","ɵɵresetView","onSignoutClick","ɵɵadvance","ɵɵproperty","screenWidth","_r4","menu_r5","ɵɵelementContainer","MainMasterComponent_div_25_ng_container_1_Template","templateMenu_r6","ɵɵelement","_r7","openMenu","ɵɵtextInterpolate","item_r9","icon","child_r10","MainMasterComponent_ng_template_40_mat_accordion_0_mat_expansion_panel_1_li_12_ng_container_1_a_1_mat_icon_1_Template","ɵɵpureFunction1","_c4","childFlagValue_r11","featureToggleValues","disabled","link","fragment","ɵɵpipeBind1","name","MainMasterComponent_ng_template_40_mat_accordion_0_mat_expansion_panel_1_li_12_ng_container_1_a_2_mat_icon_1_Template","ɵɵsanitizeUrl","MainMasterComponent_ng_template_40_mat_accordion_0_mat_expansion_panel_1_li_12_ng_container_1_a_1_Template","MainMasterComponent_ng_template_40_mat_accordion_0_mat_expansion_panel_1_li_12_ng_container_1_a_2_Template","startsWith","hidden","MainMasterComponent_ng_template_40_mat_accordion_0_mat_expansion_panel_1_li_12_ng_container_1_Template","featureFlag","_r8","$implicit","onItemSelectedClick","MainMasterComponent_ng_template_40_mat_accordion_0_mat_expansion_panel_1_mat_icon_7_Template","MainMasterComponent_ng_template_40_mat_accordion_0_mat_expansion_panel_1_li_12_Template","children","length","ɵɵpureFunction2","_c3","MainMasterComponent_ng_template_40_mat_accordion_0_mat_expansion_panel_1_Template","menuList_r12","MainMasterComponent_ng_template_40_mat_accordion_0_Template","menuList$","item_r14","_r13","MainMasterComponent_ng_template_42_ng_container_0_div_1_a_5_mat_icon_3_Template","MainMasterComponent_ng_template_42_ng_container_0_div_1_a_5_mat_icon_7_Template","ɵɵclassProp","isMenuExpanded","_c5","selectedParentMenu","menu_r15","child_r16","MainMasterComponent_ng_template_42_ng_container_0_div_1_li_11_ng_container_1_a_1_mat_icon_1_Template","childFlagValue_r17","ɵɵpureFunction0","_c6","_c7","MainMasterComponent_ng_template_42_ng_container_0_div_1_li_11_ng_container_1_a_2_mat_icon_1_Template","MainMasterComponent_ng_template_42_ng_container_0_div_1_li_11_ng_container_1_a_1_Template","MainMasterComponent_ng_template_42_ng_container_0_div_1_li_11_ng_container_1_a_2_Template","MainMasterComponent_ng_template_42_ng_container_0_div_1_li_11_ng_container_1_Template","MainMasterComponent_ng_template_42_ng_container_0_div_1_a_5_Template","MainMasterComponent_ng_template_42_ng_container_0_div_1_li_11_Template","MainMasterComponent_ng_template_42_ng_container_0_div_1_Template","menuList_r18","MainMasterComponent_ng_template_42_ng_container_0_Template","MainMasterComponent","ComponentBase","constructor","store","futrstore","dialog","titleService","bottomSheet","router","msalInstance","helper","Helper","expanded","animated$","pipe","select","mainLayout_Animated","expanded$","mainLayout_Expanded","commomState_MenuList","loggedInUser$","commomState_LoggedinInfo","isLoading$","commomState_IsLoading","isFetching$","commonState_IsFetching","isQuestionnarieVisible$","insuranceQuestionnaire_ShowQuestionnaire","user$","memberViewOverview_Model","selectedAccount$","memberAccountDropdown_SelectedAccount","accountFeatureToggles$","commonState_SystemConfig_AccountFeatureToggles","accountFeatureToggles","featureToggleHelper","FeatureToggleHelper","menuMode","menuOpened","showMenuIconTop","selectedAccount","menu","bs","setTitle","loadMenu","isQuestionnarieVisible","id","FeatureToggleName","member","changePassword","view","personalDetails","relatedLink","account","beneficiaries","advisors","takeMeWithYou","transactions","manageInvestments","update","unitPriceListing","underlyingInvestmentSummary","insuranceDetails","startAPension","makeAContribution","contributionCapLimits","rollIn","intentToClaimTaxDeduction","superMatch","pensionDetails","centrelinkSchedule","accessYourSuper","viewStatements","otherDocuments","ngAfterViewInit","ngOnInit","ngOnInitBase","events","subscribe","x","__async","currentUrl","routerEvent","url","toLowerCase","getValue","forEach","element","parentName","child","available","FeatureToggleValue","sub","screenWidthChange","width","filter","event","RoutesRecognized","dismiss","TemplateBottomSheet","setTimeout","dispatch","MainSetAnimatedPageAction","combineLatest","featureToggles","isVisible","newMenu","i","__spreadProps","__spreadValues","c","returnMenu","topLevelMenuItem","checkToggle","push","setMenu","open","panelClass","openedChange","drawer","opened","onSwipeToggle","ngOnDestroy","ngOnDestroyBase","item","MainExpandedRequestAction","menuItem","window","navigate","logoutRedirect","postLogoutRedirectUri","environment","b2cLogoutUrl","SetMenuAction","data","ɵɵdirectiveInject","Store","MatDialog","Title","MatBottomSheet","Router","MsalService","selectors","viewQuery","rf","ctx","MainMasterComponent_ng_container_21_Template","MainMasterComponent_ng_container_22_Template","MainMasterComponent_div_25_Template","MainMasterComponent_div_27_Template","$event","i0","_r1","MainMasterComponent_div_36_Template","MainMasterComponent_nav_38_Template","MainMasterComponent_ng_template_40_Template","ɵɵtemplateRefExtractor","MainMasterComponent_ng_template_42_Template","_c2","ɵɵclassMapInterpolate1","ScreenWidthDirective","NgClass","AsyncPipe","MemberAccountDropdownComponent","NgIf","AppButtonComponent","MatMenuTrigger","MatIcon","MatMenu","MatMenuItem","AnimateCssDirective","NgTemplateOutlet","AppScrollUpComponent","RouterOutlet","MatProgressSpinner","RouterLink","RouterLinkActive","FooterComponent","MatAccordion","MatExpansionPanel","NgFor","FeatureTogglePipe","MatExpansionPanelHeader","MatExpansionPanelTitle","TextTransformPipe","styles","NotLoggedInMasterComponent","ComponentBase","constructor","titleService","dialog","meta","router","bg","setTitle","addTag","name","content","ngOnInit","ngOnInitBase","list","Math","floor","random","length","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Title","MatDialog","Meta","Router","selectors","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","RouterOutlet","styles","NotLoggedInMasterComponent","ComponentBase","constructor","store","appstore","titleService","dialog","meta","router","bg","setTitle","addTag","name","content","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","Title","MatDialog","Meta","Router","selectors","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","RouterOutlet","styles","NotLoggedInMasterComponent","ComponentBase","constructor","store","titleService","dialog","meta","router","bg","setTitle","addTag","name","content","ngOnInit","ngOnInitBase","list","Math","floor","random","length","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","Title","MatDialog","Meta","Router","selectors","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","RouterOutlet","styles","MainLayoutEffects","constructor","store","actions$","ɵɵinject","Store","Actions","factory","ɵfac","JetcoService","BaseService","constructor","http","toastr","store","submit","accountId","obj","post","environment","apiUrl","headers","jetcoClaimAmount","start","end","params","HttpParams","set","get","ɵɵinject","HttpClient","ToastrService","Store","factory","ɵfac","JetcoLodgeClaimEffects","constructor","store","toastr","actions$","service","submit$","createEffect","pipe","ofType","SubmitRequestAction","switchMap","action","submit","accountId","payload","map","data","success","message","SubmitResponseAction","catchError","err","EMPTY","claimAmount$","JetcoClaimAmountRequestAction","jetcoClaimAmount","start","end","JetcoClaimAmountResponseAction","ɵɵinject","Store","ToastrService","Actions","JetcoService","factory","ɵfac","EmploymentService","BaseService","constructor","http","toastr","store","getBalances","accountId","get","environment","apiUrl","headers","getCurrentEmployment","ɵɵinject","HttpClient","ToastrService","Store","factory","ɵfac","EmployerHistoryViewEffects","constructor","store","actions$","router","service","getData$","createEffect","pipe","ofType","RequestAction","switchMap","action","getBalances","accountId","map","data","ResponseAction","payload","catchError","err","EMPTY","ɵɵinject","Store","Actions","Router","EmploymentService","factory","ɵfac","LodgeClaimService","BaseService","constructor","http","toastr","submit","accountId","obj","post","environment","apiUrl","headers","getEmployers","get","checkForMemberTfn","ɵɵinject","HttpClient","ToastrService","factory","ɵfac","LodgeClaimEffects","constructor","toastr","actions$","service","submit$","createEffect","pipe","ofType","SubmitRequestAction","switchMap","action","submit","accountId","payload","map","data","message","success","SubmitResponseAction","catchError","err","EMPTY","list$","EmployerListRequestAction","getEmployers","EmployerListResponseAction","getData$","MemberDataRequestAction","checkForMemberTfn","MemberDataResponseAction","ɵɵinject","ToastrService","Actions","LodgeClaimService","factory","ɵfac","JetcoClaimAmountEffects","constructor","store","actions$","service","getData$","createEffect","pipe","ofType","RequestAction","switchMap","action","jetcoClaimAmount","start","end","map","data","ResponseAction","payload","catchError","err","EMPTY","ɵɵinject","Store","Actions","JetcoService","factory","ɵfac","EmployerBalancesEffects","constructor","store","actions$","router","service","getData$","createEffect","pipe","ofType","RequestAction","switchMap","action","getBalances","accountId","map","data","ResponseAction","payload","catchError","err","EMPTY","ɵɵinject","Store","Actions","Router","EmploymentService","factory","ɵfac","CurrentEmployerEffects","constructor","store","actions$","router","service","getData$","createEffect","pipe","ofType","RequestAction","switchMap","action","getCurrentEmployment","accountId","map","data","ResponseAction","payload","catchError","err","EMPTY","ɵɵinject","Store","Actions","Router","EmploymentService","factory","ɵfac","CIRTModule","JetcoService","LodgeClaimService","EmploymentService","FeatureTogglePipe","provideHttpClient","withInterceptorsFromDi","imports","CommonModule","CIRTRoutingModule","HttpClientModule","IfaaUiComponentsModule","StoreModule","forFeature","featureKey","reducers","EffectsModule","MainLayoutEffects","JetcoLodgeClaimEffects","CurrentEmployerEffects","LodgeClaimEffects","EmployerHistoryViewEffects","JetcoClaimAmountEffects","EmployerBalancesEffects","MemberPortalSharedModule","MainMasterComponent","CurrentEmployerViewComponent","FooterComponent","TenantDashboardComponent","TenantJetcoComponent","TenantJetcoApprovedTrainingComponent","TenantJetcoLodgeClaimComponent","TenantLodgeClaimComponent","EmploymentHistoryViewComponent","JetcoClaimComponent","MainLayoutEffects","constructor","store","actions$","ɵɵinject","Store","Actions","factory","ɵfac","EmployerHistoryViewEffects","constructor","store","actions$","router","service","getData$","createEffect","pipe","ofType","RequestAction","switchMap","action","getBalances","accountId","map","data","ResponseAction","payload","catchError","err","EMPTY","ɵɵinject","Store","Actions","Router","EmploymentService","factory","ɵfac","LodgeClaimEffects","constructor","toastr","actions$","ɵɵinject","ToastrService","Actions","factory","ɵfac","memberPortalState","createFeatureSelector","featureKey","currentEmployer","createSelector","state","currentEmployer_Employer","employer","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","employer_r1","employerName","payrollNumber","ɵɵpipeBind2","joinDate","lastContribution","CurrentEmployerViewComponent","ComponentBase","constructor","store","smrtstore","employer$","pipe","select","currentEmployer_Employer","selectedAccount$","memberAccountDropdown_SelectedAccount","ngOnInit","ngOnInitBase","sub","subscribe","x","console","warn","dispatch","RequestAction","accountId","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","selectors","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelement","ɵɵtemplate","CurrentEmployerViewComponent_div_10_Template","ɵɵproperty","ɵɵpipeBind1","AppComponentWrapperComponent","MatIcon","NgIf","AsyncPipe","DatePipe","styles","memberPortalState","createFeatureSelector","featureKey","employerBalances","createSelector","state","employerBalancesState","employerBalances_Data","data","EmployerBalancesEffects","constructor","store","actions$","router","service","getData$","createEffect","pipe","ofType","RequestAction","switchMap","action","getBalances","accountId","map","data","ResponseAction","payload","catchError","err","EMPTY","ɵɵinject","Store","Actions","Router","EmploymentService","factory","ɵfac","CurrentEmployerEffects","constructor","store","actions$","router","service","getData$","createEffect","pipe","ofType","RequestAction","switchMap","action","getCurrentEmployment","accountId","map","data","ResponseAction","payload","catchError","err","EMPTY","ɵɵinject","Store","Actions","Router","EmploymentService","factory","ɵfac","StartupService","BaseService","constructor","http","toastr","store","validate","model","post","environment","apiUrl","headers","ɵɵinject","HttpClient","ToastrService","Store","factory","ɵfac","WebUserService","BaseService","constructor","http","toastr","store","authenticate","obj","post","environment","apiUrl","isLoggedIn","get","headers","isMaintenanceMode","changepassword","ɵɵinject","HttpClient","ToastrService","Store","factory","ɵfac","StartupEffects","constructor","store","actions$","router","service","webUserService","login$","createEffect","pipe","ofType","StartupAction","switchMap","action","validate","payload","map","data","StartupCompletedAction","catchError","err","EMPTY","checkAvailability$","CheckAvailabilityRequestAction","isMaintenanceMode","CheckAvailabilityResponseAction","ɵɵinject","Store","Actions","Router","StartupService","WebUserService","factory","ɵfac","memberPortalState","createFeatureSelector","featureKey","getStartup","createSelector","state","startupState","getStartup_Form","form","getStartup_Url","url","getStartup_IsLoading","isLoading","getStartup_isUnavailable","isUnavailable","getStartup_isUnavailableMessage","isUnavailableMessage","MessagePipe","constructor","store","_sanitizer","messages$","pipe","select","commomState_SystemConfig_Messages","transform","value","__async","getValue","hasValue","observable","filter","first","toPromise","ɵɵdirectiveInject","Store","DomSanitizer","pure","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵtext","ɵɵadvance","ɵɵtextInterpolate1","ɵɵpipeBind1","ctx_r2","isUnavailableMessage$","errorMsg","ɵɵproperty","form_r2","controls","email","ɵɵlistener","ɵɵrestoreView","_r4","ɵɵnextContext","$implicit","ɵɵresetView","validateUser","ɵɵpropertyInterpolate","isInvalid","_r1","ɵɵtemplate","StartupComponent_form_7_div_21_Template","StartupComponent_form_7_div_23_Template","StartupComponent_form_7_div_24_Template","StartupComponent_form_7_div_26_Template","ɵɵsanitizeUrl","ɵɵtextInterpolate","ɵɵsanitizeHtml","isUnavailable$","StartupComponent","ComponentBase","constructor","store","recaptchaV3Service","msalService","router","form$","pipe","select","getStartup_Form","getStartup_isUnavailable","getStartup_isUnavailableMessage","url$","getStartup_Url","isLoading$","getStartup_IsLoading","helper","Helper","checkUserIsLoggedIn","instance","getAllAccounts","length","navigate","ngOnInit","ngOnInitBase","dispatch","SystemConfigurationRequestAction","CheckAvailabilityRequestAction","sub","subscribe","x","window","location","href","error","localStorage","getItem","ngOnDestroy","ngOnDestroyBase","login","console","log","execute","token","clone","value","StartupAction","payload","ɵɵdirectiveInject","Store","ReCaptchaV3Service","MsalService","Router","selectors","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","StartupComponent_div_1_Template","StartupComponent_form_7_Template","NgIf","MatProgressSpinner","AnimateCssDirective","NgrxFormsModule","NgrxFormDirective","NgrxStatusCssClassesDirective","FormsModule","ɵNgNoValidate","NgControlStatusGroup","NgForm","ReactiveFormsModule","EntryFieldComponent","InputScrollDirective","AppButtonComponent","AppButtonDirective","AsyncPipe","MessagePipe","TenantConfigPipe","TranslatePipe","styles","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","item_r1","icon","ɵɵtemplate","SMRTNoInsuranceComponent_div_2_a_7_mat_icon_1_Template","ɵɵpropertyInterpolate","url","ɵɵsanitizeUrl","ɵɵproperty","title","ɵɵelement","SMRTNoInsuranceComponent_div_2_a_7_Template","ɵɵtextInterpolate1","tmp_1_0","ɵɵpipeBind1","ctx_r1","tenantConfig$","name","ɵɵsanitizeHtml","data","fundDocuments","item_r3","SMRTNoInsuranceComponent_div_3_a_7_mat_icon_1_Template","SMRTNoInsuranceComponent_div_3_a_7_Template","item_r4","SMRTNoInsuranceComponent_div_4_a_8_mat_icon_1_Template","SMRTNoInsuranceComponent_div_4_a_8_Template","SMRTNoInsuranceComponent","ComponentBase","constructor","appstore","fund","undefined","pipe","select","commomState_SystemConfig_Config","selectedAccount$","memberAccountDropdown_SelectedAccount","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","selectors","inputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementContainerStart","SMRTNoInsuranceComponent_div_2_Template","SMRTNoInsuranceComponent_div_3_Template","SMRTNoInsuranceComponent_div_4_Template","NgSwitch","NgSwitchCase","NgFor","NgIf","MatIcon","NgSwitchDefault","AsyncPipe","MessagePipe","TranslatePipe","encapsulation","SMRTModule","EmploymentService","FeatureTogglePipe","StartupService","LimitedServiceBannerComponent","provideHttpClient","withInterceptorsFromDi","imports","NgrxFormsModule","CommonModule","FormsModule","SMRTRoutingModule","IfaaUiComponentsModule","StoreModule","forFeature","featureKey","reducers","EffectsModule","MainLayoutEffects","CurrentEmployerEffects","LodgeClaimEffects","EmployerHistoryViewEffects","EmployerBalancesEffects","StartupEffects","MemberPortalSharedModule","TranslateModule","forChild","ReactiveFormsModule","MainMasterComponent","TenantDashboardComponent","CurrentEmployerViewComponent","TenantLodgeClaimComponent","EmploymentHistoryViewComponent","StartupComponent","SMRTNoInsuranceComponent","MainLayoutEffects","constructor","store","actions$","ɵɵinject","Store","Actions","factory","ɵfac","futrRoutes","FUTRRoutingModule","RouterModule","forChild","FUTRModule","FeatureTogglePipe","LimitedServiceBannerComponent","provideHttpClient","withInterceptorsFromDi","imports","NgrxFormsModule","CommonModule","FormsModule","FUTRRoutingModule","IfaaUiComponentsModule","StoreModule","forFeature","featureKey","reducers","EffectsModule","MainLayoutEffects","MemberPortalSharedModule","TranslateModule","forChild","ReactiveFormsModule","MainMasterComponent","TenantDashboardComponent","GetTenantModule","getModule","list","environment","code","push","VervModule","CIRTModule","SMRTModule","FUTRModule","GetTenantNotLoggedInLayout","layout","VervNotLoggedInMasterComponent","CIRTNotLoggedInMasterComponent","SMRTNotLoggedInMasterComponent","FUTRNotLoggedInMasterComponent","GetTenantDashboard","VerveTenantDashboardComponent","CIRTTenantDashboardComponent","SMRTTenantDashboardComponent","FUTRTenantDashboardComponent","GetTenantMainLayout","mainLayout","VervMainMasterComponent","CIRTMainMasterComponent","SMRTMainMasterComponent","FUTRMainMasterComponent","ɵɵelement","ɵɵclassMapInterpolate1","ctx_r1","itemclass","ɵɵproperty","data_r1","communicationPreferenceDescription","ɵɵelementContainerStart","ɵɵtemplate","MemberViewComponent_div_1_ng_container_1_app_readonly_1_Template","ɵɵadvance","displayCommunicationPreferenceFeatureToggle","loggedin_r3","memberNumber","firstName","dataValidation","secondName","lastName","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵlistener","ɵɵrestoreView","_r4","ɵɵnextContext","ɵɵresetView","onToggleLegalNameClick","MemberViewComponent_div_1_ng_container_8_ng_container_8_Template","ɵɵtextInterpolate1","ɵɵpipeBind1","showLegalName","ɵɵtextInterpolate","helper","formatAddress","postalAddress","occupation","MemberViewComponent_div_1_ng_container_14_app_readonly_1_Template","displayOccupationFeatureToggle","ɵɵpipeBind2","dateOfBirth","dob","hasTFN","tfnTooltip","MemberViewComponent_div_1_ng_container_16_app_readonly_1_Template","displayTfnFeatureToggle","MemberViewComponent_div_1_ng_container_1_Template","MemberViewComponent_div_1_app_readonly_2_Template","MemberViewComponent_div_1_app_readonly_4_Template","MemberViewComponent_div_1_app_readonly_5_Template","MemberViewComponent_div_1_app_readonly_6_Template","MemberViewComponent_div_1_ng_container_8_Template","MemberViewComponent_div_1_app_readonly_10_Template","MemberViewComponent_div_1_ng_container_14_Template","MemberViewComponent_div_1_app_readonly_15_Template","MemberViewComponent_div_1_ng_container_16_Template","hideCommunicationPreference","hideMemberNumber","loggedIn$","displayLegalNameToggle","preferredName","email","hidePostalAddress","residentialAddress","mobile","homePhone","hideOccupation","hideDob","hideTfn","MemberViewComponent","ComponentBase","greenIdValidation","val","constructor","store","appstore","data$","pipe","select","commonState_MemberData","commomState_LoggedinInfo","Helper","communicationOption$","commomState_CommunicationPreferenceList","featureToggles$","commonState_SystemConfig_AccountFeatureToggles","communicationDescription","FeatureToggleName","member","personalDetails","communicationPreference","view","tfn","displayLegalNameFeatureToggle","legalName","featureToggleHelper","FeatureToggleHelper","ngOnInit","ngOnInitBase","sub","subscribe","x","checkToggle","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","selectors","inputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","MemberViewComponent_div_1_Template","NgIf","AsyncPipe","AppReadonlyComponent","FeatureToggleDirective","TextTransformPipe","MatIcon","MatTooltip","MatSuffix","DatePipe","styles","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ɵɵpipeBind1","ɵɵsanitizeHtml","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","onMemberEditClick","ɵɵpropertyInterpolate","PersonalDetailsComponent","ComponentBase","constructor","store","router","personalDetailsBeneficiaryFeatureToggle","FeatureToggleName","member","personalDetails","beneficiaries","view","updatePersonalDetailsFeatureToggle","update","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","navigate","ɵɵdirectiveInject","Store","Router","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵtext","ɵɵtemplate","PersonalDetailsComponent_app_component_wrapper_20_Template","PersonalDetailsComponent_app_button_26_Template","ɵɵtextInterpolate","ɵɵpureFunction1","_c0","screenWidth","AppComponentWrapperComponent","AppToolbarOptionsComponent","TextTransformPipe","MessagePipe","AsyncPipe","FeatureToggleDirective","MemberViewComponent","NgClass","AppButtonComponent","TranslatePipe","styles","SubmitAction","createAction","props","SubmitCompletedAction","changePassword","state","changePasswordState","changePassword_Form","createSelector","form","ɵɵelement","ɵɵpropertyInterpolate","ɵɵpipeBind1","ɵɵproperty","form_r2","isInvalid","ctx_r2","isSending$","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r1","$implicit","ɵɵnextContext","ɵɵresetView","onSubmit","value","ɵɵelementEnd","ɵɵtemplate","ChangePasswordComponent_form_10_app_button_11_Template","ɵɵadvance","controls","newPassword","confirmPassword","elevatedAccess$","ChangePasswordComponent","ComponentBase","constructor","store","form$","pipe","select","changePassword_Form","commomState_ElevatedAccess","commonState_IsSending","elevatedAccess","ngOnInit","ngOnInitBase","subscribe","x","ngOnDestroy","ngOnDestroyBase","data","dispatch","SubmitAction","payload","ɵɵdirectiveInject","Store","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵtext","ChangePasswordComponent_form_10_Template","ɵɵtextInterpolate","AppComponentWrapperComponent","AppToolbarOptionsComponent","TextTransformPipe","NgrxFormsModule","NgrxFormDirective","NgrxStatusCssClassesDirective","FormsModule","ɵNgNoValidate","NgControlStatusGroup","NgForm","ReactiveFormsModule","NgIf","AsyncPipe","AnimateCssDirective","EntryFieldComponent","InputScrollDirective","TranslatePipe","AppButtonComponent","AppButtonDirective","styles","memberPortalState","createFeatureSelector","featureKey","editMember","createSelector","state","memberEditState","editMember_Form","form","editMember_LastModified","lastModifiedTime","editMember_OriginalEmail","originalEmail","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵtemplate","MemberEditComponent_form_1_nav_1_mat_icon_2_Template","ɵɵelement","ɵɵadvance","ɵɵproperty","ctx_r2","displayEntryIcons","form_r2","controls","communicationPreference","email","ɵɵpropertyInterpolate","ɵɵpipeBind1","dateOfBirth","taxFileNumber","MemberEditComponent_form_1_div_8_app_entry_1_Template","value","hasTFN","occupation","residentialAddress","ɵɵtextInterpolate2","tenantConfig$","name","ɵɵtextInterpolate1","tfnTermsAndCondition","MemberEditComponent_form_1_div_14_div_1_Template","ɵɵlistener","ɵɵrestoreView","_r4","ɵɵnextContext","$implicit","ɵɵresetView","onSubmitClick","isInvalid","isSending$","_r1","MemberEditComponent_form_1_nav_1_Template","MemberEditComponent_form_1_app_entry_2_Template","MemberEditComponent_form_1_app_entry_date_4_Template","MemberEditComponent_form_1_div_8_Template","MemberEditComponent_form_1_app_entry_9_Template","MemberEditComponent_form_1_app_entry_address_accurity_13_Template","MemberEditComponent_form_1_div_14_Template","MemberEditComponent_form_1_app_button_16_Template","editCommunicationPreferenceFeatureToggle","editEmailFeatureToggle","preferredName","editDobFeatureToggle","mobile","homePhone","editTfnFeatureToggle","editOccupationFeatureToggle","postalAddress","isPostalSameAsResidential","updateProfileFeatureToggle","MemberEditComponent","ComponentBase","constructor","store","appstore","dialog","router","form$","pipe","select","editMember_Form","lastModified$","editMember_LastModified","commomState_SystemConfig_Config","originalEmail$","editMember_OriginalEmail","commonState_IsSending","FeatureToggleName","member","personalDetails","update","dob","tfn","helper","Helper","environment","views","global","ngOnInit","ngOnInitBase","dispatch","RequestAction","sub","subscribe","x","RequestMemberDataAction","navigate","form","SetValueAction","isRequired","id","CommunicationPreference","byPost","ngOnDestroy","ResetAction","ngOnDestroyBase","data","__async","originalEmail","getValue","SubmitRequestAction","payload","open","ConfirmationDialog","width","afterClosed","result","ɵɵdirectiveInject","Store","MatDialog","Router","selectors","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","MemberEditComponent_form_1_Template","NgrxFormsModule","NgrxFormDirective","NgrxStatusCssClassesDirective","FormsModule","ɵNgNoValidate","NgControlStatusGroup","NgForm","ReactiveFormsModule","NgIf","AsyncPipe","FeatureToggleDirective","MatIcon","TranslatePipe","AppButtonToggleComponent","EntryFieldComponent","InputScrollDirective","EntryFieldAddressAccurityComponent","InputAddressScrollDirective","EntryCheckboxFieldComponent","AppButtonComponent","AppButtonDirective","EntrySlideToggleFieldComponent","EntryFieldDateComponent","AppRadioDirective","styles","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ɵɵpipeBind1","ɵɵsanitizeHtml","PersonalEditComponent","ComponentBase","constructor","store","personalDetailsBeneficiaryFeatureToggle","FeatureToggleName","member","personalDetails","beneficiaries","view","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵtext","ɵɵtemplate","PersonalEditComponent_app_component_wrapper_20_Template","ɵɵtextInterpolate","AppComponentWrapperComponent","AppToolbarOptionsComponent","TextTransformPipe","MessagePipe","AsyncPipe","MemberEditComponent","FeatureToggleDirective","AnimateCssDirective","styles","memberPortalState","createFeatureSelector","featureKey","beneficiariesEdit","createSelector","state","beneficiariesEditState","beneficiaryEdit_Form","form","beneficiaryEdit_IsSum100Percent","value","reduce","a","b","percentage","beneficiaryEdit_CanEdit","length","every","x","beneficiaryTypeId","beneficiaryEdit_TotalPercent","beneficiaryEdit_LastModified","lastModifiedTime","beneficiaryEdit_CanAdd","maxBeneficiaries","beneficiaryEdit_MaxBeneficiaries","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r2","i_r3","ɵɵnextContext","index","ctx_r3","ɵɵresetView","onDeleteClick","ɵɵelementEnd","ɵɵproperty","submitting","ɵɵtext","ɵɵelement","ɵɵtemplate","BeneficiariesEditComponent_div_1_tr_18_app_button_20_Template","ɵɵadvance","form_r5","controls","name","ɵɵtextInterpolate","value","beneficiaryTypeName","percentage","relationship","isEnabled","ɵɵtextInterpolate2","length","ɵɵpipeBind1","maxBeneficiaries$","ɵɵpureFunction2","_c0","isSum100Percentage$","ɵɵtextInterpolate1","totalPercentage$","BeneficiariesEditComponent_div_1_tr_18_Template","BeneficiariesEditComponent_div_1_div_21_Template","BeneficiariesEditComponent_div_1_div_25_Template","BeneficiariesEditComponent_div_1_div_29_Template","BeneficiariesEditComponent_div_1_div_31_Template","_r1","$implicit","onSubmitClick","onAddClick","ɵɵsanitizeHtml","ɵɵclassMapInterpolate1","trackByFn","ɵɵpropertyInterpolate","isInvalid","isDirty","canEdit$","canAdd$","BeneficiariesEditComponent","ComponentBase","constructor","store","uistore","appstore","dialog","router","form$","pipe","select","beneficiaryEdit_Form","lastModified$","beneficiaryEdit_LastModified","selectedAccount$","memberAccountDropdown_SelectedAccount","beneficiaryEdit_IsSum100Percent","beneficiaryEdit_TotalPercent","beneficiaryEdit_CanEdit","tenantConfig$","commomState_SystemConfig_Config","isSending$","commonState_IsSending","beneficiaryEdit_MaxBeneficiaries","beneficiaryEdit_CanAdd","accountId","fundCode","ngOnInit","ngOnInitBase","dispatch","ResetAction","sub","subscribe","x","toLowerCase","beneficiariesMax","SetupMaxBeneficiariesAction","navigate","RequestAction","item","ngOnDestroy","ngOnDestroyBase","open","CancelEditDialog","width","data","panelClass","afterClosed","result","RemoveBeneficiaryAction","beneficiaries","SubmitRequestAction","payload","AddNewBeneficiaryAction","ɵɵdirectiveInject","Store","MatDialog","Router","selectors","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","BeneficiariesEditComponent_div_1_Template","NgIf","AsyncPipe","MessagePipe","TranslatePipe","NgFor","EntryFieldComponent","InputScrollDirective","NumberEntryFieldComponent","AppButtonComponent","AppButtonDirective","NgClass","styles","BeneficiaryEditComponent","ComponentBase","constructor","store","router","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","onMemberEditClick","navigate","ɵɵdirectiveInject","Store","Router","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵtextInterpolate","ɵɵpipeBind1","AppComponentWrapperComponent","AppToolbarOptionsComponent","TextTransformPipe","AnimateCssDirective","BeneficiariesEditComponent","styles","memberPortalState","createFeatureSelector","featureKey","cashTransactionList","createSelector","state","cashTransactionListState","cashTransactionList_List","list","cashTransactionList_CurrentPage","filter","value","currentPage","cashTransactionList_Filter","cashTransactionList_TransactionTypes","transactionTypes","cashTransactionList_TransactionDescription","transactionDescription","cashTransactionList_SelectedTypeName","selected","x","key","transactionType","length","cashTransactionList_SelectedDescription","cashTransactionList_ListTotal","reduce","sum","item","amount","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵproperty","menuDate_r3","ɵɵadvance","ɵɵtextInterpolate1","ɵɵpipeBind1","ɵɵpipeBind2","filter_r2","value","from","to","ɵɵlistener","item_r5","ɵɵrestoreView","_r4","$implicit","ctx_r5","ɵɵnextContext","ɵɵresetView","selectTransactionType","item_r8","_r7","selectTransactionDescription","key","_r9","clearYear","_r10","currentFinancialYear","_r11","previousFinancialYear","$event","i0","_r12","stopPropagation","ɵɵelement","tmp_10_0","filter$","controls","tmp_11_0","ɵɵtemplate","CashTransactionsComponent_div_1_button_47_Template","CashTransactionsComponent_div_1_button_51_Template","CashTransactionsComponent_div_1_button_55_Template","CashTransactionsComponent_div_1_button_59_Template","CashTransactionsComponent_div_1_button_61_Template","CashTransactionsComponent_div_1_button_63_Template","CashTransactionsComponent_div_1_div_65_Template","_r1","onClearFilterClick","menuType_r15","ɵɵtextInterpolate","selectedType$","menuStatus_r16","selectedDescription$","filter_r13","filterMenu_r14","transactionTypes$","transactionDescription$","tmp_23_0","tmp_24_0","tmp_25_0","tmp_26_0","menuMore_r17","item_r18","transactionDate","accountDetailType","description","amount","CashTransactionsComponent_div_8_tr_14_Template","ɵɵpureFunction1","_c1","loading","ɵɵclassMapInterpolate1","list$","listTotal$","CashTransactionsComponent","ComponentBase","constructor","store","uistore","appstore","dialog","pipe","select","cashTransactionList_TransactionTypes","cashTransactionList_TransactionDescription","cashTransactionList_List","cashTransactionList_ListTotal","selectedAccount$","memberAccountDropdown_SelectedAccount","cashTransactionList_Filter","cashTransactionList_SelectedTypeName","cashTransactionList_SelectedDescription","isFilterOpen","filterMode","helper","Helper","ngOnInit","ngOnInitBase","dispatch","ResetFormAction","screenWidthChange","width","sub","subscribe","x","__async","accountId","filter","formatQuery","isQueryDifferent","currentPage","CashTransactionsTypesRequestAction","CashTransactionsDescriptionRequestAction","CashTransactionsRequestAction","page","setTimeout","val","ngOnDestroy","ngOnDestroyBase","type","SetValueAction","JSON","stringify","query","list","push","transactionType","transactionDescription","descKeyVal","getValue","selected","join","dates","getFinancialYear","Date","CashTransactionsSetFromToDateAction","toISOString","today","getFullYear","getMonth","getDay","customFinancialYear","toggleFilter","ResetFilterAction","ɵɵdirectiveInject","Store","MatDialog","selectors","viewQuery","rf","ctx","CashTransactionsComponent_div_1_Template","CashTransactionsComponent_app_no_items_6_Template","CashTransactionsComponent_div_8_Template","tmp_2_0","length","tmp_3_0","MatDrawerContainer","MatSidenavModule","MatIcon","AsyncPipe","NgFor","DatePipe","EntryFieldDateComponent","MatMenuTrigger","MatMenu","MatMenuItem","MatButtonModule","MatButton","MatIconButton","DashPipe","AppNoItemsComponent","NgIf","NgClass","CurrencyPipe","TranslatePipe","MessageDirective","styles","TransactionListViewComponent","ComponentBase","constructor","store","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵtextInterpolate1","ɵɵpipeBind1","CashTransactionsComponent","AppComponentWrapperComponent","AppToolbarOptionsComponent","TextTransformPipe","AnimateCssDirective","styles","memberPortalState","createFeatureSelector","featureKey","insurancePreQuestionnaire","createSelector","state","insurancePreQuestionnaireState","insurancePreQuestionnaire_ShowQuestionnaire","showQuestionnaire","insurancePreQuestionnaire_ShowPreQuestionnaire","showPreQuestionnaire","insurancePreQuestionnaire_ShowStartQuestionnaire","showStartQuestionnaire","insurancePreQuestionnaire_Form","form","ɵɵelement","ɵɵproperty","ɵɵpureFunction1","_c1","ɵɵpipeBind1","ctx_r2","currentStep$","i_r4","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","tmp_4_0","loggedIn$","memberNumber","ageNextBirthday$","ɵɵsanitizeHtml","form_r2","controls","gender","isLegallyRecognisedAsGender","legallyRecognisedGender","fundName","ɵɵtemplate","InsuranceQuestionnaireStartComponent_div_0_form_1_div_20_div_10_Template","isCitizenOrPermanent","isPaidEmployment","employmentArrangement","InsuranceQuestionnaireStartComponent_div_0_form_1_div_29_div_16_Template","InsuranceQuestionnaireStartComponent_div_0_form_1_div_29_div_27_Template","isHazardousOccupation","InsuranceQuestionnaireStartComponent_div_0_form_1_div_32_div_5_Template","occupationDescription","InsuranceQuestionnaireStartComponent_div_0_form_1_div_35_div_21_Template","statementsApplyToYou","ɵɵsanitizeUrl","tenantConfig$","name","ɵɵtextInterpolate2","ɵɵpropertyInterpolate1","email","ɵɵtextInterpolate","youAcknowledge","submitted$","optOutTdpCover","value","costOfCoverWithTpd","costOfCoverWithoutTpd","InsuranceQuestionnaireStartComponent_div_0_form_1_div_41_div_17_Template","InsuranceQuestionnaireStartComponent_div_0_form_1_div_41_app_checkbox_36_Template","InsuranceQuestionnaireStartComponent_div_0_form_1_div_41_span_42_Template","InsuranceQuestionnaireStartComponent_div_0_form_1_div_41_span_44_Template","InsuranceQuestionnaireStartComponent_div_0_form_1_div_41_div_50_Template","ɵɵlistener","ɵɵrestoreView","_r5","ɵɵnextContext","ɵɵresetView","onDutyToTakeReasonableClicked","deathCover","tpdCover","hasPanelOpened","takeReasonableCare","ɵɵpropertyInterpolate","confirmReadAndAcceptInsuranceGuide","referenceNumber","insuranceGuideUrl","tmp_5_0","_r6","$implicit","onSubmitClick","isInvalid","isSubmitting$","ɵɵelementContainerStart","InsuranceQuestionnaireStartComponent_div_0_form_1_div_51_ng_container_1_app_button_1_Template","submitQuestionnaireFeatureToggle","_r7","onNextClick","_r8","onPreviousClick","_r9","onReturnClick","InsuranceQuestionnaireStartComponent_div_0_form_1_div_51_ng_container_1_Template","InsuranceQuestionnaireStartComponent_div_0_form_1_div_51_app_button_4_Template","InsuranceQuestionnaireStartComponent_div_0_form_1_div_51_app_button_8_Template","InsuranceQuestionnaireStartComponent_div_0_form_1_div_51_app_button_11_Template","totalSteps$","_r10","data_r11","onConfirmClick","_r12","_r13","InsuranceQuestionnaireStartComponent_div_0_form_1_div_53_app_button_1_Template","InsuranceQuestionnaireStartComponent_div_0_form_1_div_53_app_button_4_Template","InsuranceQuestionnaireStartComponent_div_0_form_1_div_53_app_button_7_Template","confirmedDate$","elevatedAccess$","_r1","InsuranceQuestionnaireStartComponent_div_0_form_1_li_3_Template","InsuranceQuestionnaireStartComponent_div_0_form_1_div_17_Template","InsuranceQuestionnaireStartComponent_div_0_form_1_div_20_Template","InsuranceQuestionnaireStartComponent_div_0_form_1_div_23_Template","InsuranceQuestionnaireStartComponent_div_0_form_1_div_26_Template","InsuranceQuestionnaireStartComponent_div_0_form_1_div_29_Template","InsuranceQuestionnaireStartComponent_div_0_form_1_div_32_Template","InsuranceQuestionnaireStartComponent_div_0_form_1_div_35_Template","InsuranceQuestionnaireStartComponent_div_0_form_1_div_38_Template","InsuranceQuestionnaireStartComponent_div_0_form_1_div_41_Template","InsuranceQuestionnaireStartComponent_div_0_form_1_div_44_Template","InsuranceQuestionnaireStartComponent_div_0_form_1_div_47_Template","InsuranceQuestionnaireStartComponent_div_0_form_1_div_49_Template","InsuranceQuestionnaireStartComponent_div_0_form_1_div_51_Template","InsuranceQuestionnaireStartComponent_div_0_form_1_div_53_Template","ɵɵpureFunction0","_c0","constructor","ɵɵstyleMapInterpolate1","progressBar","InsuranceQuestionnaireStartComponent_div_0_form_1_Template","form$","InsuranceQuestionnaireStartComponent","ComponentBase","store","appstore","router","state$","pipe","select","insuranceQuestionnaireStart_State","insuranceQuestionnaireStart_CurrentStep","validated$","insuranceQuestionnaireStart_Validated","insuranceQuestionnaireStart_Form","commomState_LoggedinInfo","insuranceQuestionnaireStart_TotalSteps","insuranceQuestionnaireStart_Submitted","insuranceQuestionnaireStart_ConfirmedDate","selectedAccount$","memberAccountDropdown_SelectedAccount","commomState_SystemConfig_Config","insuranceQuestionnaire_AgeNextBirthday","commomState_ElevatedAccess","isLegallyRecognisedAsGender$","insuranceQuestionnaireStart_isLegallyRecognisedAsGender","gender$","insuranceQuestionnaireStart_Gender","FeatureToggleName","member","account","insuranceQuestionnaire","update","insuranceRequestForm$","insuranceQuestionnaire_Form","insurancePreQuestionnaire$","insurancePreQuestionnaire_Form","messages$","commomState_SystemConfig_Messages","commonState_IsSending","elevatedAccess","selectedAccount","ngOnInit","ngOnInitBase","sub","subscribe","x","legalName","insurancePreQuestionnaire","confirmReadInsuranceRequestInsuranceGuide","dispatch","ConfirmReadInsuranceRequestInsuranceGuideAction","navigate","ResetFormAction","validated","ValidateFormAction","step","accountId","opened","ngOnDestroy","ngOnDestroyBase","PreviousStepAction","NextStepAction","item","request","__spreadProps","__spreadValues","hasPreExistingConditionOrDisability","engageInHazardousPursuits","isPlanningToTakeLeaveWithoutPay","SubmitRequestAction","data","ConfirmRequestAction","currentStep","totapSteps","Math","floor","ɵɵdirectiveInject","Store","Router","selectors","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","InsuranceQuestionnaireStartComponent_div_0_Template","NgIf","AsyncPipe","NgrxFormsModule","NgrxFormDirective","NgrxStatusCssClassesDirective","NgFor","NgClass","MatProgressBar","AnimateCssDirective","MessagePipe","EntryFieldRadioComponent","AppRadioDirective","EntryCheckboxFieldComponent","InputScrollDirective","FeatureToggleDirective","MatIcon","MatAccordion","MatExpansionPanel","MatExpansionPanelHeader","MatExpansionPanelTitle","MatExpansionPanelDescription","AppButtonComponent","AppButtonDirective","TranslatePipe","styles","QuestionnaireViewComponent","ComponentBase","constructor","store","router","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","onMemberEditClick","navigate","ɵɵdirectiveInject","Store","Router","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵtextInterpolate","ɵɵpipeBind1","AppComponentWrapperComponent","AppToolbarOptionsComponent","TextTransformPipe","InsuranceQuestionnaireStartComponent","AnimateCssDirective","styles","ShowQuestionnaireGuardService","constructor","store","router","showQuestionnaire$","pipe","select","insuranceQuestionnaire_ShowQuestionnaire","canActivate","route","state","Observable","obs","subscribe","showQuestionnaire","next","ɵɵinject","Store","Router","factory","ɵfac","memberPortalState","createFeatureSelector","featureKey","insuranceDetails","createSelector","state","insuranceDetailsState","insuranceDetails_Model","model","import_moment","memberPortalState","createFeatureSelector","featureKey","insuranceUpdate","createSelector","state","insuranceUpdateFormComponentState","insuranceUpdate_Model","model","insuranceUpdate_InitialForm","initialForm","insuranceUpdate_ReduceForm","reduceForm","insuranceUpdate_ReduceFormKeyProps","controls","insurance","map","control","originalTotal","value","amount","code","coverTypes","covers","innerControl","newAmountId","newAmount","id","coverType","insuranceUpdate_CancelFormKeyProps","cancelForm","checkboxId","checkbox","toggled","insuranceUpdate_CancelForm","insuranceUpdate_Submitted","submitted","insuranceUpdate_InsuranceToReduce","insuranceToReduce","insuranceUpdate_InsuranceToCancel","insuranceToCancel","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","item_r1","icon","ɵɵtemplate","NoInsuranceComponent_a_8_mat_icon_1_Template","ɵɵpropertyInterpolate","url","ɵɵsanitizeUrl","ɵɵproperty","title","NoInsuranceComponent","ComponentBase","constructor","appstore","fund","data","undefined","tenantConfig$","pipe","select","commomState_SystemConfig_Config","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","selectors","inputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelement","NoInsuranceComponent_a_8_Template","ɵɵtextInterpolate1","tmp_0_0","ɵɵpipeBind1","name","ɵɵsanitizeHtml","fundDocuments","NgFor","NgIf","MatIcon","AsyncPipe","MessagePipe","encapsulation","FundComponentLoaderDirective","constructor","store","element","viewContainerRef","componentFactoryResolver","ngOnInit","componentRef","fundComponentLoader","environment","code","componentFactory","resolveComponentFactory","SMRTNoInsuranceComponent","createComponent","instance","fund","data","NoInsuranceComponent","host","nativeElement","insertBefore","location","firstChild","ɵɵdirectiveInject","Store","ElementRef","ViewContainerRef","ComponentFactoryResolver","selectors","inputs","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵpropertyInterpolate","item_r1","insuranceCoverToolTipText","ɵɵadvance","ɵɵtextInterpolate1","ɵɵpipeBind2","lapseDate","ɵɵtemplate","InsuranceDetailsComponent_div_0_div_1_tr_15_mat_icon_7_Template","InsuranceDetailsComponent_div_0_div_1_tr_15_mat_icon_12_Template","InsuranceDetailsComponent_div_0_div_1_tr_15_th_15_Template","ɵɵtextInterpolate","insuranceCoverTypeDescription","ɵɵpipeBind1","premium","ɵɵproperty","insuranceCoverStatusCode","amount","insuranceCoverTypeCode","waitingPeriod","ctx_r1","showLapseColumn","ɵɵlistener","ɵɵrestoreView","_r3","ɵɵnextContext","ɵɵresetView","viewHistory","updateOrCancelInsurance","ɵɵelement","InsuranceDetailsComponent_div_0_div_1_th_13_Template","InsuranceDetailsComponent_div_0_div_1_tr_15_Template","InsuranceDetailsComponent_div_0_div_1_div_16_Template","ɵɵclassMapInterpolate1","ɵɵsanitizeHtml","data_r4","insurances","insuranceUpdateToggle","account_r5","fundCode","_r6","InsuranceDetailsComponent_div_0_div_2_div_1_Template","InsuranceDetailsComponent_div_0_div_2_div_3_Template","selectedAccount$","InsuranceDetailsComponent_div_0_div_1_Template","InsuranceDetailsComponent_div_0_div_2_Template","hasInsurance","InsuranceDetailsComponent","ComponentBase","constructor","store","appstore","router","model$","pipe","select","insuranceDetails_Model","memberAccountDropdown_SelectedAccount","tenantConfig$","commomState_SystemConfig_Config","insuranceUpdateModel$","insuranceUpdate_Model","FeatureToggleName","member","account","insuranceChangeRequest","view","environment","views","insurance","helper","Helper","ngOnInit","ngOnInitBase","sub","subscribe","x","dispatch","RequestAction","accountId","navigate","ngOnDestroy","ngOnDestroyBase","__async","model","getValue","SetInsuranceDetailsAction","ɵɵdirectiveInject","Store","Router","selectors","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","InsuranceDetailsComponent_div_0_Template","NgIf","AsyncPipe","TranslatePipe","NgFor","CurrencyPipe","DashPipe","MatIcon","MatTooltip","DatePipe","FeatureToggleDirective","AppButtonComponent","FundComponentLoaderDirective","styles","ɵɵelement","ɵɵproperty","ɵɵpipeBind1","ɵɵsanitizeHtml","ɵɵelementContainerStart","ɵɵelementStart","ɵɵtemplate","InsurancePreQuestionnaireComponent_form_1_ng_container_8_p_11_Template","ɵɵelementEnd","InsurancePreQuestionnaireComponent_form_1_ng_container_8_p_22_Template","InsurancePreQuestionnaireComponent_form_1_ng_container_8_p_30_Template","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","onStartClick","ɵɵadvance","form_r3","controls","hasPreExistingConditionOrDisability","value","engageInHazardousPursuits","isPlanningToTakeLeaveWithoutPay","ɵɵtext","InsurancePreQuestionnaireComponent_form_1_ng_container_8_Template","messages$","InsurancePreQuestionnaireComponent","ComponentBase","constructor","store","appstore","router","selectedAccount$","pipe","select","memberAccountDropdown_SelectedAccount","tenantConfig$","commomState_SystemConfig_Config","commomState_SystemConfig_Messages","form$","insurancePreQuestionnaire_Form","ngOnInit","ngOnInitBase","sub","subscribe","x","ngOnDestroy","ngOnDestroyBase","dispatch","ShowStartQuestionnaireRequestAction","display","ɵɵdirectiveInject","Store","Router","selectors","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","InsurancePreQuestionnaireComponent_form_1_Template","NgrxFormsModule","NgrxFormDirective","NgrxStatusCssClassesDirective","NgIf","AsyncPipe","MessagePipe","EntryFieldRadioComponent","InputScrollDirective","AppRadioDirective","AppButtonComponent","styles","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","onStartClick","ɵɵproperty","form_r3","ɵɵadvance","tmp_4_0","ɵɵpipeBind1","replaceAll","ɵɵpipeBind2","elegibilityDates$","ɵɵsanitizeHtml","ɵɵpropertyInterpolate","controls","confirmReadInsuranceRequestInsuranceGuide","isValid","ɵɵtemplate","InsuranceQuestionnaireComponent_div_0_form_1_Template","form$","InsuranceQuestionnaireComponent","ComponentBase","constructor","store","router","showQuestionnaire$","pipe","select","insuranceQuestionnaire_ShowQuestionnaire","tenantConfig$","commomState_SystemConfig_Config","insuranceQuestionnaire_ElegibilityDate","insuranceQuestionnaire_Form","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","navigate","ɵɵdirectiveInject","Store","Router","selectors","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","InsuranceQuestionnaireComponent_div_0_Template","NgIf","AsyncPipe","MessagePipe","DatePipe","EntryCheckboxFieldComponent","InputScrollDirective","AppButtonComponent","NgrxFormsModule","NgrxFormDirective","NgrxStatusCssClassesDirective","styles","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵpropertyInterpolate1","ctx_r1","getCoverText","data_r1","ɵɵelementContainerStart","ɵɵtemplate","InsuranceViewComponent_div_7_ng_container_1_app_component_wrapper_1_Template","ɵɵadvance","ɵɵproperty","showInsuranceFeatureToggle","InsuranceViewComponent_div_7_ng_container_3_app_component_wrapper_1_app_insurance_pre_questionnaire_2_Template","InsuranceViewComponent_div_7_ng_container_3_app_component_wrapper_1_app_insurance_questionnaire_4_Template","ɵɵpipeBind1","showPreQuestionnaire$","showStartQuestion$","InsuranceViewComponent_div_7_ng_container_3_app_component_wrapper_1_Template","showQuestionnaireFeatureToggle","InsuranceViewComponent_div_7_ng_container_1_Template","InsuranceViewComponent_div_7_ng_container_3_Template","showQuestionnaire$","InsuranceViewComponent","ComponentBase","constructor","store","translate","FeatureToggleName","member","account","insuranceQuestionnaire","view","insuranceDetails","selectedAccount$","pipe","select","memberAccountDropdown_SelectedAccount","insuranceQuestionnaire_ShowQuestionnaire","insurancePreQuestionnaire_ShowStartQuestionnaire","insurancePreQuestionnaire_ShowPreQuestionnaire","model$","insuranceDetails_Model","accountFeatureToggles$","commonState_SystemConfig_AccountFeatureToggles","featureToggleHelper","FeatureToggleHelper","helper","Helper","showEffectiveDate","environment","views","insurance","effectiveDateColumnName","effectiveDateGreaterThan","ngOnInit","ngOnInitBase","sub","subscribe","x","__async","dispatch","InsuranceRequestAction","accountId","featureToggles","getValue","checkToggle","ShowQuestionnaireRequestAction","ResetPreQuestionnaireRequestAction","get","data","hasInsurance","date","dateToCompare","moment","max","lastModified","premiumStartDate","momentDate","isValid","format","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","TranslateService","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵtext","InsuranceViewComponent_div_7_Template","ɵɵtextInterpolate","AppComponentWrapperComponent","AppToolbarOptionsComponent","TextTransformPipe","FeatureToggleDirective","AnimateCssDirective","InsuranceDetailsComponent","InsurancePreQuestionnaireComponent","AsyncPipe","NgIf","InsuranceQuestionnaireComponent","styles","memberPortalState","createFeatureSelector","featureKey","editRollIn","createSelector","state","rollInEditState","editRollIn_Form","form","editRollIn_LastModified","lastModifiedTime","memberPortalState","createFeatureSelector","featureKey","superannuationProviderSearch","createSelector","state","superannuationProviderSearchState","superannuationProviderSearch_Form","form","superannuationProviderSearch_LastModified","lastModifiedTime","superannuationProviderSearch_List","value","list","ɵɵelement","ɵɵproperty","form_r2","controls","q","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵlistener","item_r5","ɵɵrestoreView","_r4","$implicit","ctx_r2","ɵɵnextContext","ɵɵresetView","onSelectOption","ɵɵadvance","ɵɵtextInterpolate","name","productName","abn","usi","ɵɵtemplate","SuperannuationProviderSearchComponent_form_1_ul_18_li_1_Template","ɵɵpipeBind1","list$","SuperannuationProviderSearchComponent_form_1_app_entry_1_Template","_r1","onCloseClick","SuperannuationProviderSearchComponent_form_1_div_16_Template","SuperannuationProviderSearchComponent_form_1_ul_18_Template","hidesearch","ɵɵpureFunction1","_c0","value","selected","length","SuperannuationProviderSearchComponent","ComponentBase","constructor","store","onSelected","EventEmitter","form$","pipe","select","superannuationProviderSearch_Form","superannuationProviderSearch_List","ngOnInit","ngOnInitBase","sub","debounceTime","subscribe","x","regex","test","dispatch","RequestAction","ngOnDestroy","ngOnDestroyBase","item","SelectOptionAction","payload","emit","ClearSearchAction","ɵɵdirectiveInject","Store","selectors","inputs","outputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","SuperannuationProviderSearchComponent_form_1_Template","NgrxFormsModule","NgrxFormDirective","NgrxStatusCssClassesDirective","NgIf","AsyncPipe","EntryFieldComponent","InputScrollDirective","NgClass","AppReadonlyComponent","MatIcon","NgFor","styles","ɵɵelement","ɵɵproperty","form_r3","controls","amountToTransfer","ɵɵpipeBind1","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","onConfirmClick","$event","onSelectedOption","ɵɵelementEnd","ɵɵtemplate","RollinEditComponent_div_0_form_1_app_entry_number_6_Template","ɵɵadvance","memberNumber","amountToTransferOption","value","isInvalid","invalidProvider","provider","_r4","$implicit","onSubmitClick","ɵɵtext","RollinEditComponent_div_0_form_2_app_readonly_6_Template","onConfirmBackClick","ɵɵpureFunction2","_c0","confirm","termsAndConditions","ɵɵsanitizeHtml","isSubmitting$","RollinEditComponent_div_0_form_1_Template","RollinEditComponent_div_0_form_2_Template","RollinEditComponent_div_0_div_3_Template","step","RollinEditComponent","ComponentBase","constructor","store","appstore","router","form$","pipe","select","editRollIn_Form","lastModified$","editRollIn_LastModified","selectedAccount$","memberAccountDropdown_SelectedAccount","commonState_IsSending","accountId","isMemberVerified","ngOnInit","ngOnInitBase","sub","subscribe","x","dispatch","ResetAction","ResetSearchAction","onVerified","verified","ngOnDestroy","ngOnDestroyBase","ContinueAction","data","SubmitRequestAction","payload","SelectedProviderAction","onGoToDashboardClick","navigate","ConfirmBackAction","input","name","productName","abn","usi","ɵɵdirectiveInject","Store","Router","selectors","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","RollinEditComponent_div_0_Template","NgIf","AsyncPipe","NgrxFormsModule","NgrxFormDirective","NgrxStatusCssClassesDirective","FormsModule","ɵNgNoValidate","NgControlStatusGroup","NgForm","ReactiveFormsModule","SuperannuationProviderSearchComponent","EntryFieldComponent","InputScrollDirective","EntryFieldDropdownComponent","NumberEntryFieldComponent","AnimateCssDirective","AppButtonComponent","AppButtonDirective","AppReadonlyComponent","CurrencyPipe","EntryCheckboxFieldComponent","MatIcon","RouterLink","MessagePipe","NgClass","AppRadioDirective","TranslatePipe","styles","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","RollInViewComponent","ComponentBase","constructor","store","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵtext","ɵɵtemplate","RollInViewComponent_app_component_wrapper_9_Template","ɵɵadvance","ɵɵtextInterpolate","ɵɵpipeBind1","ɵɵproperty","screenWidth","AppComponentWrapperComponent","AppToolbarOptionsComponent","TextTransformPipe","RollinEditComponent","AnimateCssDirective","NgIf","MemberViewComponent","styles","memberPortalState","createFeatureSelector","featureKey","contributionsLimit","createSelector","state","contributionsLimitsState","contributionsLimit_Data","data","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵtextInterpolate","ɵɵpipeBind1","data_r1","concessionalAmount","concessionalCap","ɵɵpropertyInterpolate","ctx_r1","calculateProgressPercentage","nonConcessionalAmount","nonConcessionalCap","ɵɵtemplate","ContributionsLimitsComponent_div_0_div_8_Template","ɵɵproperty","data$","ɵɵclassMapInterpolate1","data_r3","ContributionsLimitsComponent_div_1_div_1_div_5_div_10_Template","ContributionsLimitsComponent_div_1_div_1_div_5_div_36_Template","ɵɵstyleMapInterpolate1","calculatePercentage","concessionalExceeded","ɵɵtextInterpolate1","ɵɵpureFunction1","_c0","nonConcessionalExceeded","ContributionsLimitsComponent_div_1_div_1_div_4_Template","ContributionsLimitsComponent_div_1_div_1_div_5_Template","ɵɵsanitizeHtml","datatype","ContributionsLimitsComponent_div_1_div_1_Template","ContributionsLimitsComponent","ComponentBase","constructor","store","displayType","selectedAccount$","pipe","select","memberAccountDropdown_SelectedAccount","contributionsLimit_Data","ngOnInit","ngOnInitBase","sub","subscribe","x","dispatch","RequestAction","accountId","ngOnDestroy","ngOnDestroyBase","amount","cap","tt","value","isNaN","ɵɵdirectiveInject","Store","selectors","inputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ContributionsLimitsComponent_div_0_Template","ContributionsLimitsComponent_div_1_Template","NgIf","AppComponentWrapperComponent","AsyncPipe","CurrencyPipe","MatProgressBar","AppButtonComponent","RouterLink","MessagePipe","NgClass","TranslatePipe","NgrxFormsModule","FormsModule","ReactiveFormsModule","styles","ContributionsViewComponent","ComponentBase","constructor","store","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵtextInterpolate","ɵɵpipeBind1","AppComponentWrapperComponent","AppToolbarOptionsComponent","TextTransformPipe","ContributionsLimitsComponent","AnimateCssDirective","styles","memberPortalState","createFeatureSelector","featureKey","editMember","createSelector","state","personalContributionEditState","editMember_Form","form","editMember_LastModified","lastModifiedTime","editMember_BankDetails","bankDetails","ɵɵelementStart","ɵɵtext","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ɵɵpipeBind1","ɵɵsanitizeHtml","bank_r4","bsb","accountNumber","accountName","ɵɵtextInterpolate2","reference","ɵɵtemplate","PersonalContributionEditComponent_div_1_form_1_div_42_div_4_Template","ctx_r2","bankDetails$","ɵɵlistener","form_r2","ɵɵrestoreView","_r1","$implicit","ɵɵnextContext","ɵɵresetView","onSubmitClick","value","PersonalContributionEditComponent_div_1_form_1_div_41_Template","PersonalContributionEditComponent_div_1_form_1_div_42_Template","onConfirmBackClick","controls","eligibilityToContribute","contributeFrequency","personalContribution","bankPayments","paymentsMethods","ɵɵpureFunction2","_c0","isInvalid","checkIsDeclatarionCompleted","ɵɵpropertyInterpolate","declaration_Option1","declaration_Option2","declaration_Option3","declaration_Option4","declaration_Option5","PersonalContributionEditComponent_div_1_form_1_Template","form$","bank_r5","PersonalContributionEditComponent_div_3_form_1_div_6_div_7_Template","PersonalContributionEditComponent_div_3_form_1_div_5_Template","PersonalContributionEditComponent_div_3_form_1_div_6_Template","form_r6","PersonalContributionEditComponent_div_3_form_1_Template","PersonalContributionEditComponent","ComponentBase","constructor","store","appstore","router","pipe","select","editMember_Form","lastModified$","editMember_LastModified","selectedAccount$","memberAccountDropdown_SelectedAccount","paymentsMethods$","commomState_PersonalContributions_PaymentsMethods","editMember_BankDetails","ngOnInit","ngOnInitBase","dispatch","ResetFormAction","BankDetailsRequestAction","sub","subscribe","x","selectedAccount","accountId","length","SetDefaultPaymentMethodAction","payload","parseInt","key","toString","ngOnDestroy","ngOnDestroyBase","data","SubmitRequestAction","navigate","ɵɵdirectiveInject","Store","Router","selectors","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","PersonalContributionEditComponent_div_1_Template","PersonalContributionEditComponent_div_3_Template","NgIf","AsyncPipe","NgrxFormsModule","NgrxFormDirective","NgrxStatusCssClassesDirective","FormsModule","ɵNgNoValidate","NgControlStatusGroup","NgForm","ReactiveFormsModule","MessagePipe","EntryFieldRadioComponent","AppRadioDirective","InputScrollDirective","NumberEntryFieldComponent","NgClass","EntryCheckboxFieldComponent","AppButtonComponent","TranslatePipe","RouterLink","styles","PersonalContributionViewComponent","ComponentBase","constructor","store","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵtextInterpolate","ɵɵpipeBind1","AppComponentWrapperComponent","AppToolbarOptionsComponent","TextTransformPipe","PersonalContributionEditComponent","AnimateCssDirective","styles","memberPortalState","createFeatureSelector","featureKey","getAccountUnderlyingView","createSelector","state","accountUnderlyingViewState","getAccountUnderlyingView_Model","model","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","item_r1","estimatedAccountBalance","currentInvestmentOption","numberOfUnits","currentUnitPrice","ɵɵpipeBind2","asAt","AccountUnderlyingViewComponent","ComponentBase","constructor","store","model$","pipe","select","getAccountUnderlyingView_Model","selectedAccount$","memberAccountDropdown_SelectedAccount","chartOptions","series","name","data","chart","type","height","plotOptions","bar","horizontal","dataLabels","position","states","hover","filter","enabled","textAnchor","style","colors","formatter","val","opt","w","globals","labels","dataPointIndex","offsetX","dropShadow","tooltip","x","show","y","title","opts","xaxis","yaxis","ngOnInit","ngOnInitBase","sub","subscribe","dispatch","RequestAction","accountId","updateSeries","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","selectors","viewQuery","rf","ctx","ɵɵtemplate","AccountUnderlyingViewComponent_div_2_Template","ɵɵpipeBind1","NgIf","AsyncPipe","AppReadonlyComponent","DatePipe","ChartComponent","styles","AssetsViewComponent","ComponentBase","constructor","store","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵtextInterpolate","ɵɵpipeBind1","ɵɵproperty","ɵɵsanitizeHtml","AppComponentWrapperComponent","AppToolbarOptionsComponent","TextTransformPipe","MessagePipe","AnimateCssDirective","AccountUnderlyingViewComponent","AsyncPipe","styles","memberPortalState","createFeatureSelector","featureKey","documentViewerList","createSelector","state","documentViewerListState","documentViewer_List","list","documentViewer_SelectedFile","selectedFile","ɵɵelement","ɵɵelementStart","ɵɵlistener","ctx_r1","ɵɵrestoreView","_r1","item_r3","$implicit","i_r4","index","ctx_r4","ɵɵnextContext","ɵɵresetView","selectPDF","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","title","ɵɵtextInterpolate1","ɵɵpipeBind2","correspondenceDate","ɵɵtemplate","MemberDocumentViewerViewComponent_div_0_app_no_items_3_Template","MemberDocumentViewerViewComponent_div_0_li_6_Template","MemberDocumentViewerViewComponent_div_0_mat_icon_11_Template","ɵɵproperty","tmp_2_0","ɵɵpipeBind1","list$","length","ɵɵpropertyInterpolate","selectedFile$","ctx_r6","_r6","item_r8","i_r9","MemberDocumentViewerViewComponent_div_1_li_6_mat_icon_11_Template","MemberDocumentViewerViewComponent_div_1_li_6_mat_spinner_12_Template","downloading","MemberDocumentViewerViewComponent_div_1_app_no_items_3_Template","MemberDocumentViewerViewComponent_div_1_li_6_Template","MemberDocumentViewerViewComponent_ng_template_2_div_1_Template","screenWidth","MemberDocumentViewerViewComponent","ComponentBase","constructor","store","toastr","dialog","http","category","accountId","currentPDF","selectedAccount$","pipe","select","memberAccountDropdown_SelectedAccount","documentViewer_List","documentViewer_SelectedFile","isSafari","ngOnInit","ngOnInitBase","sub","subscribe","account","dispatch","RequestAction","ngOnDestroy","ngOnDestroyBase","item","open","customTemplate","maxWidth","maxHeight","height","width","panelClass","afterClosed","ResetFileAction","setTimeout","FileRequestAction","correspondenceSource","correspondenceId","downloadFile","base64","downloadLink","document","createElement","href","download","click","success","ɵɵdirectiveInject","Store","ToastrService","MatDialog","HttpClient","selectors","viewQuery","rf","ctx","MemberDocumentViewerViewComponent_div_0_Template","MemberDocumentViewerViewComponent_div_1_Template","MemberDocumentViewerViewComponent_ng_template_2_Template","ɵɵtemplateRefExtractor","AppNoItemsComponent","NgIf","AsyncPipe","NgFor","MatIcon","DatePipe","AppPdfViewerComponent","MatProgressSpinner","MatDialogContent","MatToolbarModule","MatToolbar","AppButtonComponent","MatDialogClose","MessageDirective","styles","MemberStatementsViewComponent","ComponentBase","constructor","store","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵtextInterpolate","ɵɵpipeBind1","AppComponentWrapperComponent","AppToolbarOptionsComponent","AnimateCssDirective","TextTransformPipe","MemberDocumentViewerViewComponent","styles","OtherDocumentsViewComponent","ComponentBase","constructor","store","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵtextInterpolate","ɵɵpipeBind1","AppComponentWrapperComponent","AnimateCssDirective","AppToolbarOptionsComponent","TextTransformPipe","MemberDocumentViewerViewComponent","styles","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","openUrl","_r3","_r4","CalculatorViewComponent","ComponentBase","constructor","store","superannuationCalculator","environment","views","calculator","superContributionOptimiser","retirementProjectionCalculator","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","url","window","open","focus","ɵɵdirectiveInject","Store","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelement","ɵɵtemplate","CalculatorViewComponent_app_component_wrapper_84_Template","CalculatorViewComponent_app_component_wrapper_125_Template","CalculatorViewComponent_app_component_wrapper_126_Template","ɵɵadvance","ɵɵtextInterpolate","ɵɵpipeBind1","ɵɵproperty","ɵɵsanitizeHtml","AppComponentWrapperComponent","AppToolbarOptionsComponent","TextTransformPipe","MessagePipe","AsyncPipe","AppButtonComponent","MatIcon","AnimateCssDirective","NgIf","styles","memberPortalState","createFeatureSelector","featureKey","getBeneficiariesView","createSelector","state","beneficiariesViewState","getBeneficiariesView_List","list","beneficiariesView_CanEdit","length","every","x","beneficiaryTypeId","ɵɵelement","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","i_r2","ɵɵproperty","item_r1","percentage","ɵɵpipeBind1","name","ɵɵtextInterpolate1","relationship","beneficiaryTypeName","ɵɵpipeBind2","expirationDate","ɵɵtemplate","BeneficiariesViewComponent_div_6_div_1_Template","ctx_r2","list$","ɵɵlistener","ɵɵrestoreView","_r4","ɵɵnextContext","ɵɵresetView","onEditClick","ɵɵpropertyInterpolate","BeneficiariesViewComponent_div_8_app_button_1_Template","updateBeneficiariesFeatureToggle","BeneficiariesViewComponent","ComponentBase","constructor","store","translate","router","selectedAccount$","pipe","select","memberAccountDropdown_SelectedAccount","getBeneficiariesView_List","canEdit$","beneficiariesView_CanEdit","FeatureToggleName","member","account","beneficiaries","update","ngOnInit","ngOnInitBase","sub","subscribe","x","dispatch","RequestAction","accountId","ngOnDestroy","ngOnDestroyBase","navigate","ɵɵdirectiveInject","Store","TranslateService","Router","selectors","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","BeneficiariesViewComponent_app_no_items_4_Template","BeneficiariesViewComponent_div_6_Template","BeneficiariesViewComponent_div_8_Template","ɵɵsanitizeHtml","tmp_1_0","length","tmp_2_0","NgIf","AsyncPipe","MessagePipe","AnimateCssDirective","AppButtonComponent","AppButtonDirective","AppReadonlyComponent","NgCircleProgressModule","CircleProgressComponent","TranslatePipe","MatIcon","DatePipe","FeatureToggleDirective","NgFor","AppNoItemsComponent","MessageDirective","styles","BeneficiaryViewComponent","ComponentBase","constructor","store","router","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","onMemberEditClick","navigate","ɵɵdirectiveInject","Store","Router","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵtextInterpolate","ɵɵpipeBind1","AppComponentWrapperComponent","AppToolbarOptionsComponent","TextTransformPipe","AnimateCssDirective","BeneficiariesViewComponent","styles","isIE","window","navigator","userAgent","indexOf","b2cPolicies","names","SignIn","environment","b2cPolicySignIn","Elevated","b2cPolicyElevatedSignIn","AdviserElevated","b2cPolicyAdviserElevatedSignIn","authorities","signIn","authority","b2cSignInAuthority","elevated","b2cElevatedSignInAuthority","adviserelevated","b2cAdviserElevatedSignInAuthority","authorityDomain","b2cAuthorityDomain","msalConfig","auth","clientId","b2cClientId","knownAuthorities","redirectUri","postLogoutRedirectUri","b2cLogoutUrl","navigateToLoginRequestUrl","cache","cacheLocation","production","BrowserCacheLocation","SessionStorage","LocalStorage","storeAuthStateInCookie","system","loggerOptions","loggerCallback","logLevel","message","LogLevel","Verbose","piiLoggingEnabled","msalElevatedConfig","temporaryCacheLocation","MemoryStorage","allowRedirectInIframe","asyncPopups","msalAdviserElevatedConfig","protectedResources","apiEndpoint","endpoint","b2cApiEndpoint","scopes","read","b2cReadScope","write","b2cWriteScope","loginRequest","ElevatedAccessComponent","ComponentBase","constructor","store","router","authService","ngOnInit","__async","__superGet","ngOnInitBase","sessionStorage","setItem","window","self","top","instance","loginPopup","loginRequest","then","response","setActiveAccount","account","catch","_","logout","navigate","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","Router","MsalService","selectors","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵelement","ɵɵtext","ɵɵelementEnd","memberPortalState","createFeatureSelector","featureKey","getBPAYDetails","createSelector","state","bpayDetailsViewState","getBPAYDetails_Item","item","ɵɵelement","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","bpayDetail_r1","billerCode","reference","ɵɵpropertyInterpolate2","tmp_3_0","ɵɵpipeBind1","ctx_r2","tenantConfig$","name","bpayDetail_r2","spouseBillerCode","ɵɵtemplate","BPAYDetailsComponent_div_15_div_1_Template","ɵɵproperty","bpayDetail$","BPAYDetailsComponent","ComponentBase","constructor","store","appstore","router","selectedAccount$","pipe","select","memberAccountDropdown_SelectedAccount","getBPAYDetails_Item","spouseBPAYViewFeatureToggle","FeatureToggleName","member","account","spouseBPAYContribution","view","commomState_SystemConfig_Config","ngOnInit","ngOnInitBase","sub","subscribe","x","dispatch","RequestAction","accountId","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","Router","selectors","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","BPAYDetailsComponent_app_no_items_10_Template","BPAYDetailsComponent_div_13_Template","BPAYDetailsComponent_div_15_Template","tmp_0_0","MatIcon","MatTooltip","AppNoItemsComponent","AsyncPipe","NgIf","FeatureToggleDirective","MessageDirective","styles","MakeContributionViewComponent","ComponentBase","constructor","store","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵtextInterpolate","ɵɵpipeBind1","ɵɵproperty","ɵɵsanitizeHtml","AppComponentWrapperComponent","AppToolbarOptionsComponent","TextTransformPipe","AnimateCssDirective","MessagePipe","AsyncPipe","BPAYDetailsComponent","encapsulation","memberPortalState","createFeatureSelector","featureKey","getMemberPensionView","createSelector","state","memberPensionViewState","getMemberPensionView_Model","model","getMemberPensionView_beneficiaryList","beneficiaryList","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵclassMapInterpolate1","ctx_r1","itemclass","ɵɵpropertyInterpolate","ɵɵpipeBind2","data_r1","commencementDate","ɵɵproperty","ɵɵpipeBind1","minAnnualAmount","pensionNextPaymentDate","totalPaidFinancialYearToDate","pensionPaymentTypeDescription","paymentAmount","frequencyDescription","data_r3","annualMaximumAmount","pensionTypeName","ɵɵtemplate","MemberPensionViewComponent_div_0_div_3_div_3_Template","data$","ɵɵtextInterpolate","item_r4","name","MemberPensionViewComponent_div_0_table_9_tr_7_Template","beneficiaryList$","MemberPensionViewComponent_div_0_div_1_Template","MemberPensionViewComponent_div_0_div_3_Template","MemberPensionViewComponent_div_0_app_no_items_7_Template","MemberPensionViewComponent_div_0_table_9_Template","tmp_2_0","selectedAccount$","accountClassificationId","tmp_3_0","tmp_4_0","length","tmp_5_0","ɵɵlistener","ɵɵrestoreView","_r5","ɵɵnextContext","ɵɵresetView","updateSchedule","_r6","viewRequests","MemberPensionViewComponent_div_2_app_button_1_Template","MemberPensionViewComponent_div_2_app_button_2_Template","MemberPensionViewComponent_div_2_app_button_3_Template","MemberPensionViewComponent_div_2_app_button_4_Template","changePensionScheduleFeatureToggle","editBankDetailsFeatureToggle","centrelinkScheduleFeatureToggle","MemberPensionViewComponent","ComponentBase","constructor","store","appstore","router","pipe","select","getMemberPensionView_Model","getMemberPensionView_beneficiaryList","loggedIn$","commomState_LoggedinInfo","helper","Helper","memberAccountDropdown_SelectedAccount","FeatureToggleName","member","account","changePensionSchedule","view","editBankDetails","centrelinkSchedule","ngOnInit","ngOnInitBase","dispatch","ResetDataAction","sub","subscribe","x","RequestAction","accountId","RequestBeneficiariesAction","ngOnDestroy","ngOnDestroyBase","navigate","ɵɵdirectiveInject","Store","Router","selectors","inputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","MemberPensionViewComponent_div_0_Template","MemberPensionViewComponent_div_2_Template","NgIf","AsyncPipe","AppReadonlyComponent","DatePipe","CurrencyPipe","AppNoItemsComponent","TranslatePipe","NgFor","AppButtonComponent","FeatureToggleDirective","MessageDirective","styles","PensionViewComponent","ComponentBase","constructor","store","router","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","Router","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵtextInterpolate","ɵɵpipeBind1","AppComponentWrapperComponent","AppToolbarOptionsComponent","TextTransformPipe","MemberPensionViewComponent","AnimateCssDirective","styles","InvestmentEditViewComponent","ComponentBase","constructor","store","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵtextInterpolate","ɵɵpipeBind1","AppComponentWrapperComponent","AppToolbarOptionsComponent","TextTransformPipe","InvestmentEditComponent","AnimateCssDirective","styles","memberPortalState","createFeatureSelector","featureKey","getAccessYourSuperStartState","createSelector","state","accessYourSuperStartComponentState","accessYourSuperStart_Model","model","accessYourSuperStart_Filter","filter","accessYourSuperStart_GetSelectedAccount","applicationAccountId","accessYourSuperStart_ApplicationToCancelled","applicationToCancelled","accessYourSuperStart_ApplicationData","applicationData","accessYourSuperStart_UpdatingSubmittedDocuments","updatingSubmittedDocuments","memberPortalState","createFeatureSelector","featureKey","getAccessYourSuperFormState","createSelector","state","accessYourSuperFormComponentState","accessYourSuperForm_CurrentStep","currentStep","accessYourSuperForm_ApplicationId","applicationId","accessYourSuperForm_ApplicationModel","applicationData","accessYourSuperForm_CurrentStepUpdated","currentStepUpdated","accessYourSuperForm_ApplicationTypes","applicationTypes","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ɵɵpipeBind2","item_r2","startedDate","lastModified","caseStatus","ɵɵlistener","ɵɵrestoreView","_r3","ɵɵnextContext","$implicit","ctx_r3","ɵɵresetView","continueApplication","applicationId","$event","cancelApplication","ɵɵpropertyInterpolate","ɵɵpipeBind1","ɵɵproperty","isSubmitting$","cancelDialogText","_r5","ɵɵtemplate","AccessYourSuperStartComponent_div_0_ng_container_18_td_8_app_button_2_Template","caseStatusId","_r6","_r7","AccessYourSuperStartComponent_div_0_ng_container_18_tr_10_td_1_Template","ɵɵelementContainerStart","AccessYourSuperStartComponent_div_0_ng_container_18_td_4_Template","AccessYourSuperStartComponent_div_0_ng_container_18_td_5_Template","AccessYourSuperStartComponent_div_0_ng_container_18_td_6_Template","AccessYourSuperStartComponent_div_0_ng_container_18_td_7_Template","AccessYourSuperStartComponent_div_0_ng_container_18_td_8_Template","AccessYourSuperStartComponent_div_0_ng_container_18_tr_9_Template","AccessYourSuperStartComponent_div_0_ng_container_18_tr_10_Template","ɵɵtextInterpolate","applicationType","filter_r8","value","activeOptionButton","screenWidth","ɵɵelement","AccessYourSuperStartComponent_div_0_p_3_Template","AccessYourSuperStartComponent_div_0_p_4_Template","AccessYourSuperStartComponent_div_0_th_12_Template","AccessYourSuperStartComponent_div_0_th_13_Template","AccessYourSuperStartComponent_div_0_th_14_Template","AccessYourSuperStartComponent_div_0_th_15_Template","AccessYourSuperStartComponent_div_0_th_16_Template","AccessYourSuperStartComponent_div_0_ng_container_18_Template","_r1","createNewApplication","controls","ɵɵclassMapInterpolate1","currentList","AccessYourSuperStartComponent","ComponentBase","constructor","store","router","model$","pipe","select","accessYourSuperStart_Model","filter$","accessYourSuperStart_Filter","selectedAccount$","memberAccountDropdown_SelectedAccount","applicationToCancelled$","accessYourSuperStart_ApplicationToCancelled","applicationData$","accessYourSuperStart_ApplicationData","currentStep$","accessYourSuperForm_CurrentStep","updatingSubmittedDocuments$","accessYourSuperStart_UpdatingSubmittedDocuments","commonState_IsSending","ngOnInit","ngOnInitBase","sub","subscribe","x","dispatch","MoveApplicationToCancelledAction","distinct","accountId","RequestAction","combineLatest","map","filter","model","applicationData","currentStep","updatingSubmittedDocuments","SaveApplicationDataForUpdateSubmittedAction","conditionData","navigate","SetCurrentStepAction","nextStep","SaveApplicationDataAction","ngOnDestroy","ngOnDestroyBase","ResetComponentStateAction","draftApplication","__async","helper","Helper","account","getValue","RequestContinueApplicationAction","event","CancelApplicationAction","ɵɵdirectiveInject","Store","Router","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","AccessYourSuperStartComponent_div_0_Template","AsyncPipe","NgIf","AppButtonToggleComponent","TranslatePipe","AppButtonComponent","DatePipe","NgFor","AppRadioDirective","styles","AccessYourSuperViewComponent","ComponentBase","constructor","store","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵtextInterpolate","ɵɵpipeBind1","AppComponentWrapperComponent","AppToolbarOptionsComponent","TextTransformPipe","AccessYourSuperStartComponent","AnimateCssDirective","encapsulation","ɵɵelement","ɵɵproperty","step_r2","completed","title","i_r3","ctx_r3","nextValidStep","AccessYourSuperStepper","ComponentBase","stepTitles","value","titles","constructor","store","cdRef","ngOnDestroy","ngOnDestroyBase","ngOnInit","ngOnInitBase","resetCompletion","index","step","stepper","steps","find","x","stepindex","setSelectedIndex","length","forEach","i","selectedIndex","detectChanges","ɵɵdirectiveInject","Store","ChangeDetectorRef","selectors","viewQuery","rf","ctx","ɵɵelementStart","ɵɵlistener","$event","i0","ɵɵrestoreView","_r1","ɵɵresetView","onSelectionChangeFn","ɵɵtemplate","AccessYourSuperStepper_mat_step_2_Template","ɵɵelementEnd","ɵɵadvance","MatStepper","NgFor","MatStep","styles","AccessYourSuperHelper","constructor","getCustomSectionTitle","applicationTypeId","memberPortalState","createFeatureSelector","featureKey","getAccessYourSuperBankDetailState","createSelector","state","accessYourSuperBankDetailComponentState","accessYourSuperBankDetails_Form","form","accessYourSuperBankDetails_BankDetailsSaved","bankDetailsSaved","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","form_r2","value","financialInstitutionName","ɵɵtemplate","AccessYourSuperBankDetailsComponent_div_3_div_2_Template","ɵɵtext","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r2","ɵɵnextContext","ɵɵresetView","exitForm","goBack","goNextStep","length","nameFieldTooltip","controls","bankAccountName","bankAccountBsb","bankAccountNumber","ɵɵpureFunction2","_c0","screenWidth","ɵɵpureFunction1","_c1","ɵɵpropertyInterpolate","ɵɵpipeBind1","isSubmitting","ɵɵclassMapInterpolate1","_c2","_c3","isInvalid","AccessYourSuperBankDetailsComponent","ComponentBase","wording","bankDetailsNameTooltip","data","model","nextStep","step","backStep","previousStep","applicationId","id","account","accountId","submitting","constructor","store","router","onBankDetailsSaved","EventEmitter","form$","pipe","select","accessYourSuperBankDetails_Form","bankDetailsSaved$","accessYourSuperBankDetails_BankDetailsSaved","payload","ngOnInit","__async","__superGet","ngOnInitBase","helper","Helper","formData","getValue","dispatch","SetFieldValuesAction","bankName","accountName","accountNumber","bsb","sub","pairwise","distinctUntilChanged","x","y","debounceTime","subscribe","form","SearchBankNameAction","emit","SetCurrentStepAction","ngOnDestroy","ngOnDestroyBase","ResetComponentStateAction","navigate","currentStep","SaveBankDetailsAction","ɵɵdirectiveInject","Store","Router","selectors","hostAttrs","inputs","outputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","AccessYourSuperBankDetailsComponent_div_3_Template","NgIf","AsyncPipe","NgrxFormsModule","NgrxFormDirective","NgrxStatusCssClassesDirective","AppReadonlyComponent","MatIcon","MatTooltip","EntryFieldComponent","InputScrollDirective","NgClass","AppButtonComponent","TranslatePipe","AppButtonDirective","encapsulation","AccessYourSuperPaymentTypeEnum","memberPortalState","createFeatureSelector","featureKey","getAccessYourSuperCeasedPaidEmploymentState","createSelector","state","accessYourSuperCeasedPaidEmploymentComponentState","accessYourSuperCeasedPaidEmployment_Model","model","accessYourSuperCeasedPaidEmployment_Form","form","accessYourSuperCeasedPaidEmployment_TaxOptions","taxOptions","accessYourSuperCeasedPaidEmployment_CurrentTotalPercent","value","investmentOptionDrawdown","reduce","a","b","percentage","accessYourSuperCeasedPaidEmployment_SavedFormData","savedFormData","ConvertNanPipe","constructor","store","_sanitizer","transform","value","Number","isNaN","ɵɵdirectiveInject","Store","DomSanitizer","pure","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵproperty","item_r1","controls","percentage","ɵɵelementContainerStart","ɵɵtemplate","AccessYourSuperDrawdownComponent_div_0_ng_container_12_td_13_Template","AccessYourSuperDrawdownComponent_div_0_ng_container_12_tr_14_Template","ɵɵtextInterpolate","value","option","ɵɵpipeBind1","amount","ɵɵpureFunction2","_c0","ctx_r1","formControl","partialAmountSpecified","ɵɵtextInterpolate1","screenWidth","_c1","total","AccessYourSuperDrawdownComponent_div_0_th_10_Template","AccessYourSuperDrawdownComponent_div_0_ng_container_12_Template","AccessYourSuperDrawdownComponent_div_0_div_20_Template","investmentOptionDrawdown","trackByFn","drawdownDisclaimer","length","AccessYourSuperDrawdownComponent","ComponentBase","form","totalCount","disclaimer","constructor","store","ngOnDestroy","ngOnDestroyBase","ngOnInit","__async","__superGet","ngOnInitBase","index","item","ɵɵdirectiveInject","Store","selectors","hostAttrs","inputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","AccessYourSuperDrawdownComponent_div_0_Template","NgFor","CurrencyPipe","NgClass","ConvertNanPipe","NumberEntryFieldComponent","InputScrollDirective","NgIf","styles","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵproperty","model_r2","formLabels","benefitAmountTooltip","ɵɵtemplate","AccessYourSuperCeasedPaidEmploymentComponent_div_0_div_3_div_8_mat_icon_4_Template","ɵɵelement","ɵɵadvance","ɵɵtextInterpolate1","benefitAmount","ctx_r3","showBenefitAmountTooltip","form_r3","controls","partialAmountSpecified","taxOptions$","isBeforeTax","investmentOptionChoice","investmentOptionChoiceTooltip","partialWithdrawalSelection","provideInvestmentOption","ɵɵpipeBind1","form$","drawdownDisclaimer","currentTotalPercent$","ɵɵlistener","ɵɵrestoreView","_r5","ɵɵnextContext","ɵɵresetView","goBack","ɵɵclassMapInterpolate1","ɵɵpropertyInterpolate","ɵɵpureFunction2","_c3","screenWidth","isSubmitting","AccessYourSuperCeasedPaidEmploymentComponent_div_0_div_3_div_8_Template","AccessYourSuperCeasedPaidEmploymentComponent_div_0_div_3_div_9_Template","AccessYourSuperCeasedPaidEmploymentComponent_div_0_div_3_div_10_Template","_r1","exitForm","AccessYourSuperCeasedPaidEmploymentComponent_div_0_div_3_app_button_17_Template","goNextStep","ɵɵtextInterpolate","paymentType","value","_c0","ɵɵpureFunction1","_c1","showBackButton","_c2","isInvalid","AccessYourSuperCeasedPaidEmploymentComponent_div_0_div_3_Template","AccessYourSuperCeasedPaidEmploymentComponent","ComponentBase","nextStep","step","applicationId","id","backStep","previousStep","account","accountId","data","accountBalance","typeId","applicationTypeId","canGoBack","submitting","constructor","store","router","model$","pipe","select","accessYourSuperCeasedPaidEmployment_Model","accessYourSuperCeasedPaidEmployment_Form","accessYourSuperCeasedPaidEmployment_TaxOptions","savedFormData$","accessYourSuperCeasedPaidEmployment_SavedFormData","accessYourSuperCeasedPaidEmployment_CurrentTotalPercent","featureToggles$","commonState_SystemConfig_AccountFeatureToggles","selectedAccount$","memberAccountDropdown_SelectedAccount","paymentDetailId","featureToggleHelper","FeatureToggleHelper","ngOnInit","__async","__superGet","ngOnInitBase","sub","combineLatest","subscribe","x","checkToggle","FeatureToggleName","member","accessYourSuper","view","distinct","dispatch","RequestAction","helper","Helper","form","getValue","taxOptions","push","key","beforeTax","afterTax","SetTaxOptionsAction","payload","investmentOptions","Object","assign","currentInvestmentMix","SetValueAction","restrictedNonPreservedAmount","restrictedNonPreserved","submissionData","accessYourSuperPaymentDetailId","paymentTypeId","AccessYourSuperPaymentTypeEnum","PartialAmount","partialWithdrawalInvestmentSelection","drawdownMatchesCurrentInvestmentMix","investmentDrawdown","forEach","drawDown","investmentOptionIndex","findIndex","o","optionId","__spreadProps","__spreadValues","percentage","investmentOptionDrawdown","pairwise","distinctUntilChanged","y","Number","isNaN","SetErrorsAction","drawdownTotal","calculatedAmountHigherThanBalance","investmentOption","index","amount","errors","SetCurrentStepAction","ngOnDestroy","ngOnDestroyBase","ResetComponentStateAction","navigate","FullAmountRestrictedNonPreserved","map","option","accessYourSuperApplicationId","SaveFormDataAction","ɵɵdirectiveInject","Store","Router","selectors","hostAttrs","inputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","AccessYourSuperCeasedPaidEmploymentComponent_div_0_Template","NgIf","AsyncPipe","NgrxFormsModule","NgrxFormDirective","NgrxStatusCssClassesDirective","EntryFieldRadioComponent","AppRadioDirective","AccessYourSuperDrawdownComponent","InputScrollDirective","MatIcon","MatTooltip","NumberEntryFieldComponent","AnimateCssDirective","EntryFieldDropdownComponent","NgClass","AppButtonComponent","TranslatePipe","AppButtonDirective","styles","memberPortalState","createFeatureSelector","featureKey","getAccessYourSuperCeasedWorkSixtyState","createSelector","state","accessYourSuperCeasedWorkSixtyComponentState","accessYourSuperCeasedWorkSixty_Model","model","accessYourSuperCeasedWorkSixty_Form","form","accessYourSuperCeasedWorkSixty_FullAmountRadioOptions","fullAmountRadioOptions","accessYourSuperCeasedWorkSixty_CurrentTotalPercent","value","investmentOptionDrawdown","reduce","a","b","percentage","accessYourSuperCeasedWorkSixty_SavedFormData","savedFormData","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵproperty","model_r2","formLabels","benefitAmountTooltip","ɵɵelement","ɵɵadvance","ctx_r3","fullAmountRadioOptions$","form_r3","controls","fullAmountSelection","partialAmountSpecified","ɵɵtextInterpolate1","investmentOptionChoice","investmentOptionChoiceTooltip","partialWithdrawalSelection","provideInvestmentOption","ɵɵpipeBind1","form$","drawdownDisclaimer","currentTotalPercent$","ɵɵlistener","ɵɵrestoreView","_r5","ɵɵnextContext","ɵɵresetView","goBack","ɵɵclassMapInterpolate1","ɵɵpropertyInterpolate","ɵɵpureFunction2","_c3","screenWidth","isSubmitting","ɵɵtemplate","AccessYourSuperCeasedWorkSixtyComponent_div_0_div_3_mat_icon_12_Template","AccessYourSuperCeasedWorkSixtyComponent_div_0_div_3_div_13_Template","AccessYourSuperCeasedWorkSixtyComponent_div_0_div_3_div_14_Template","AccessYourSuperCeasedWorkSixtyComponent_div_0_div_3_div_15_Template","AccessYourSuperCeasedWorkSixtyComponent_div_0_div_3_div_16_Template","_r1","exitForm","AccessYourSuperCeasedWorkSixtyComponent_div_0_div_3_app_button_23_Template","goNextStep","ɵɵtextInterpolate","paymentType","benefitAmount","showBenefitAmountTooltip","value","_c0","ɵɵpureFunction1","_c1","showBackButton","_c2","isInvalid","AccessYourSuperCeasedWorkSixtyComponent_div_0_div_3_Template","AccessYourSuperCeasedWorkSixtyComponent","ComponentBase","nextStep","step","applicationId","id","backStep","previousStep","account","accountId","typeId","applicationTypeId","canGoBack","submitting","constructor","store","router","model$","pipe","select","accessYourSuperCeasedWorkSixty_Model","accessYourSuperCeasedWorkSixty_Form","accessYourSuperCeasedWorkSixty_FullAmountRadioOptions","accessYourSuperCeasedWorkSixty_CurrentTotalPercent","savedFormData$","accessYourSuperCeasedWorkSixty_SavedFormData","featureToggles$","commonState_SystemConfig_AccountFeatureToggles","selectedAccount$","memberAccountDropdown_SelectedAccount","paymentDetailId","featureToggleHelper","FeatureToggleHelper","ngOnInit","__async","__superGet","ngOnInitBase","sub","combineLatest","subscribe","x","checkToggle","FeatureToggleName","member","accessYourSuper","view","distinct","dispatch","RequestAction","fullAmountRadioOptions","push","key","fullAmountOptionOne","fullAmountOptionTwo","SetFullAmountRadioOptionsAction","payload","investmentOptions","Object","assign","currentInvestmentMix","helper","Helper","form","getValue","submissionData","accessYourSuperPaymentDetailId","paymentTypeId","AccessYourSuperPaymentTypeEnum","PartialAmount","SetValueAction","partialWithdrawalInvestmentSelection","drawdownMatchesCurrentInvestmentMix","investmentDrawdown","forEach","drawDown","investmentOptionIndex","findIndex","o","optionId","__spreadProps","__spreadValues","percentage","investmentOptionDrawdown","pairwise","distinctUntilChanged","y","Number","isNaN","SetErrorsAction","drawdownTotal","calculatedAmountHigherThanBalance","investmentOption","index","amount","errors","SetCurrentStepAction","ngOnDestroy","ngOnDestroyBase","ResetComponentStateAction","navigate","FullAmountCloseAccount","FullAmountKeepAccountOpen","map","option","accessYourSuperApplicationId","SaveFormDataAction","ɵɵdirectiveInject","Store","Router","selectors","hostAttrs","inputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","AccessYourSuperCeasedWorkSixtyComponent_div_0_Template","NgIf","AsyncPipe","NgrxFormsModule","NgrxFormDirective","NgrxStatusCssClassesDirective","EntryFieldRadioComponent","AppRadioDirective","InputScrollDirective","MatIcon","MatTooltip","NumberEntryFieldComponent","AnimateCssDirective","AccessYourSuperDrawdownComponent","NgClass","AppButtonComponent","TranslatePipe","AppButtonDirective","styles","memberPortalState","createFeatureSelector","featureKey","getAccessYourSuperCompassionateGroundsState","createSelector","state","accessYourSuperCompassionateGroundsComponentState","accessYourSuperCompassionateGrounds_Model","model","accessYourSuperCompassionateGrounds_Form","form","accessYourSuperCompassionateGrounds_SavedFormData","savedFormData","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r3","ctx_r1","ɵɵnextContext","ɵɵresetView","goBack","ɵɵelementEnd","ɵɵclassMapInterpolate1","ɵɵpipeBind1","ɵɵpropertyInterpolate","ɵɵproperty","ɵɵpureFunction2","_c3","screenWidth","isSubmitting","ɵɵtext","ɵɵelement","_r1","exitForm","ɵɵtemplate","AccessYourSuperCompassionateGroundsComponent_div_0_div_3_app_button_20_Template","goNextStep","ɵɵadvance","form_r4","ɵɵtextInterpolate","model_r5","formLabels","atoApproved","controls","isAtoApproved","ɵɵtextInterpolate1","benefitAmount","partialAmountSpecified","_c0","ɵɵpureFunction1","_c1","showBackButton","_c2","isInvalid","AccessYourSuperCompassionateGroundsComponent_div_0_div_3_Template","form$","AccessYourSuperCompassionateGroundsComponent","ComponentBase","nextStep","value","step","applicationId","id","backStep","previousStep","account","accountId","typeId","applicationTypeId","canGoBack","submitting","constructor","store","router","toastr","model$","pipe","select","accessYourSuperCompassionateGrounds_Model","accessYourSuperCompassionateGrounds_Form","savedFormData$","accessYourSuperCompassionateGrounds_SavedFormData","helper","Helper","paymentDetailId","ngOnInit","__async","__superGet","ngOnInitBase","sub","distinct","subscribe","x","dispatch","RequestAction","form","getValue","investmentOptions","Object","assign","currentInvestmentMix","SetValueAction","investmentOptionDrawdown","submissionData","accessYourSuperPaymentDetailId","otherCondition","pairwise","model","error","atoNotApprovedWarning","SetCurrentStepAction","ngOnDestroy","ngOnDestroyBase","ResetComponentStateAction","navigate","paymentTypeId","AccessYourSuperPaymentTypeEnum","PartialAmount","payload","accessYourSuperApplicationId","SaveFormDataAction","ɵɵdirectiveInject","Store","Router","ToastrService","selectors","hostAttrs","inputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","AccessYourSuperCompassionateGroundsComponent_div_0_Template","NgIf","AsyncPipe","NgrxFormsModule","NgrxFormDirective","NgrxStatusCssClassesDirective","EntryFieldRadioComponent","AppRadioDirective","InputScrollDirective","NumberEntryFieldComponent","AnimateCssDirective","NgClass","AppButtonComponent","TranslatePipe","AppButtonDirective","styles","memberPortalState","createFeatureSelector","featureKey","getAccessYourSuperKiwiSaverState","createSelector","state","accessYourSuperKiwiSaverComponentState","accessYourSuperKiwiSaver_Model","model","accessYourSuperKiwiSaver_FormOne","formOne","accessYourSuperKiwiSaver_FormTwo","formTwo","accessYourSuperKiwiSaver_FormThree","formThree","accessYourSuperKiwiSaver_SavedFormData","savedFormData","accessYourSuperKiwiSaver_KiwiSaverStep","kiwiSaverStep","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵproperty","ɵɵpureFunction2","_c5","ctx_r2","screenWidth","ɵɵtextInterpolate","model_r2","formLabels","lastAusEmployer","combinedFormData","formOne","controls","lastAusEmployerName","_c6","value","isCurrentEmployerLastAusEmployer","employerConfirmationInput","isEmployerConfirmationRequested","ɵɵelementContainerStart","ɵɵtemplate","AccessYourSuperKiwiSaverComponent_div_0_div_3_form_1_ng_container_20_div_1_Template","isEmployerConfirmationRequired","AccessYourSuperKiwiSaverComponent_div_0_div_3_form_1_div_13_Template","AccessYourSuperKiwiSaverComponent_div_0_div_3_form_1_ng_container_20_Template","currentEmployerName","lastAusEmployerConfirmation","lastAusEmploymentDate","employerConfirmationFeatureToggle","formTwo","lastAusAddress","lastAusResidentialAddress","submissionData","nzAddress","nzResidentialAddress","formThree","irdNumber","nzIrdNumber","kiwisaverSchemeName","kiwiSaverSchemeName","registrationNumber","kiwiSaverSchemeRegistrationNumber","schemeAccountNumber","kiwiSaverSchemeAccountNumber","schemeAddress","schemePostalAddress","AccessYourSuperKiwiSaverComponent_div_0_div_3_form_1_Template","AccessYourSuperKiwiSaverComponent_div_0_div_3_form_3_Template","AccessYourSuperKiwiSaverComponent_div_0_div_3_form_5_Template","ɵɵlistener","ɵɵrestoreView","_r1","ɵɵnextContext","ɵɵresetView","exitForm","goBack","goNextStep","ɵɵpipeBind1","kiwiSaverStep$","_c0","stepperData","onStepperSelectionChange","_c1","ɵɵpureFunction1","_c2","ɵɵpropertyInterpolate","isSubmitting","ɵɵclassMapInterpolate1","_c3","_c4","isInvalid","AccessYourSuperKiwiSaverComponent_div_0_div_3_Template","AccessYourSuperKiwiSaverComponent","ComponentBase","nextStep","step","applicationId","id","backStep","previousStep","account","accountId","typeId","applicationTypeId","submitting","constructor","store","router","FeatureToggleName","member","accessYourSuper","kiwiSaverEmployerConfirmation","view","model$","pipe","select","accessYourSuperKiwiSaver_Model","formOne$","accessYourSuperKiwiSaver_FormOne","formTwo$","accessYourSuperKiwiSaver_FormTwo","formThree$","accessYourSuperKiwiSaver_FormThree","savedFormData$","accessYourSuperKiwiSaver_SavedFormData","accessYourSuperKiwiSaver_KiwiSaverStep","combinedFormData$","kiwiSaverDetailId","helper","Helper","ngAfterViewInit","sub","combineLatest","kiwiSaverStepper","changes","map","queryList","subscribe","x","first","setSelectedIndex","ngOnInit","__async","__superGet","ngOnInitBase","pairwise","distinctUntilChanged","y","JSON","stringify","dispatch","SetErrorsAction","distinct","RequestAction","accessYourSuperKiwiSaverDetailId","SetKiwiSaverStepAction","kiwiSaverStep","push","title","completed","stepIndex","currentStep","getValue","SetCurrentStepAction","ngOnDestroy","ngOnDestroyBase","ResetComponentStateAction","navigate","payload","isTouched","accessYourSuperApplicationId","Date","SaveFormDataAction","titles","event","selectedIndex","ɵɵdirectiveInject","Store","Router","selectors","viewQuery","rf","ctx","AccessYourSuperStepper","AccessYourSuperKiwiSaverComponent_div_0_Template","NgIf","AsyncPipe","AnimateCssDirective","NgrxFormsModule","NgrxFormDirective","NgrxStatusCssClassesDirective","NgClass","EntryFieldComponent","InputScrollDirective","EntryFieldRadioComponent","AppRadioDirective","EntryFieldDateComponent","InputDateScrollDirective","FeatureToggleDirective","EntryFieldAddressAccurityComponent","InputAddressScrollDirective","AppButtonComponent","TranslatePipe","AppButtonDirective","styles","memberPortalState","createFeatureSelector","featureKey","getAccessYourSuperPensionCommutationsState","createSelector","state","accessYourSuperPensionCommutationsComponentState","accessYourSuperPensionCommutations_Model","model","accessYourSuperPensionCommutations_Form","form","accessYourSuperPensionCommutations_FullAmountRadioOptions","fullAmountRadioOptions","accessYourSuperPensionCommutations_TaxOptions","taxOptions","accessYourSuperPensionCommutations_CurrentTotalPercent","value","investmentOptionDrawdown","reduce","a","b","percentage","accessYourSuperPensionCommutations_SavedFormData","savedFormData","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵproperty","model_r2","formLabels","fullAmountOptionOneTooltip","ɵɵelement","ɵɵadvance","ctx_r3","fullAmountRadioOptions$","form_r3","controls","fullAmountSelection","partialAmountSpecified","taxOptions$","isBeforeTax","ɵɵtextInterpolate1","permanentlyRetired","permanentlyRetiredTooltip","isPermanentlyRetired","investmentOptionChoice","investmentOptionChoiceTooltip","partialWithdrawalSelection","provideInvestmentOption","ɵɵpipeBind1","form$","drawdownDisclaimer","currentTotalPercent$","ɵɵlistener","ɵɵrestoreView","_r5","ɵɵnextContext","ɵɵresetView","goBack","ɵɵclassMapInterpolate1","ɵɵpropertyInterpolate","ɵɵpureFunction2","_c4","screenWidth","isSubmitting","ɵɵtemplate","AccessYourSuperPensionCommutationsComponent_div_0_div_3_mat_icon_12_Template","AccessYourSuperPensionCommutationsComponent_div_0_div_3_div_14_Template","AccessYourSuperPensionCommutationsComponent_div_0_div_3_div_15_Template","AccessYourSuperPensionCommutationsComponent_div_0_div_3_div_16_Template","AccessYourSuperPensionCommutationsComponent_div_0_div_3_div_17_Template","AccessYourSuperPensionCommutationsComponent_div_0_div_3_div_18_Template","_r1","exitForm","AccessYourSuperPensionCommutationsComponent_div_0_div_3_app_button_27_Template","goNextStep","ɵɵtextInterpolate","paymentType","benefitAmount","value","account","isTtrType","ɵɵpureFunction1","_c0","_c1","_c2","showBackButton","_c3","isInvalid","AccessYourSuperPensionCommutationsComponent_div_0_div_3_Template","AccessYourSuperPensionCommutationsComponent","ComponentBase","nextStep","step","applicationId","id","backStep","previousStep","accountData","data","accountBalance","typeId","applicationTypeId","canGoBack","submitting","constructor","store","router","model$","pipe","select","accessYourSuperPensionCommutations_Model","accessYourSuperPensionCommutations_Form","accessYourSuperPensionCommutations_FullAmountRadioOptions","accessYourSuperPensionCommutations_TaxOptions","accessYourSuperPensionCommutations_CurrentTotalPercent","savedFormData$","accessYourSuperPensionCommutations_SavedFormData","paymentDetailId","increaseHeightForError","ngOnInit","__async","__superGet","ngOnInitBase","sub","distinct","subscribe","x","dispatch","RequestAction","accountId","fullAmountRadioOptions","push","key","fullAmountOptionOne","SetFullAmountRadioOptionsAction","payload","taxOptions","beforeTax","afterTax","SetTaxOptionsAction","investmentOptions","Object","assign","currentInvestmentMix","helper","Helper","form","getValue","SetValueAction","unrestrictedNonPreservedAmount","unrestrictedNonPreserved","isTtr","submissionData","accessYourSuperPaymentDetailId","paymentTypeId","AccessYourSuperPaymentTypeEnum","PartialAmount","partialWithdrawalInvestmentSelection","drawdownMatchesCurrentInvestmentMix","investmentDrawdown","forEach","drawDown","investmentOptionIndex","findIndex","o","optionId","__spreadProps","__spreadValues","percentage","investmentOptionDrawdown","pairwise","distinctUntilChanged","y","Number","isNaN","SetErrorsAction","drawdownTotal","calculatedAmountHigherThanBalance","investmentOption","index","amount","errors","SetCurrentStepAction","ngOnDestroy","ngOnDestroyBase","ResetComponentStateAction","navigate","FullPensionLumpSumBenefitCloseAccount","map","option","accessYourSuperApplicationId","SaveFormDataAction","ɵɵdirectiveInject","Store","Router","selectors","hostAttrs","inputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","AccessYourSuperPensionCommutationsComponent_div_0_Template","NgIf","AsyncPipe","NgrxFormsModule","NgrxFormDirective","NgrxStatusCssClassesDirective","EntryFieldRadioComponent","AppRadioDirective","NumberEntryFieldComponent","InputScrollDirective","AnimateCssDirective","EntryFieldDropdownComponent","MatIcon","MatTooltip","AccessYourSuperDrawdownComponent","NgClass","AppButtonComponent","AppButtonDirective","TranslatePipe","styles","memberPortalState","createFeatureSelector","featureKey","getAccessYourSuperPermanentRetirementPreservationState","createSelector","state","accessYourSuperPermanentRetirementPreservationComponentState","accessYourSuperPermanentRetirementPreservation_Model","model","accessYourSuperPermanentRetirementPreservation_Form","form","accessYourSuperPermanentRetirementPreservation_FullAmountRadioOptions","fullAmountRadioOptions","accessYourSuperPermanentRetirementPreservation_CurrentTotalPercent","value","investmentOptionDrawdown","reduce","a","b","percentage","accessYourSuperPermanentRetirementPreservation_SavedFormData","savedFormData","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵproperty","model_r2","formLabels","benefitAmountTooltip","ɵɵelement","ɵɵadvance","ctx_r3","fullAmountRadioOptions$","form_r3","controls","fullAmountSelection","partialAmountSpecified","ɵɵtextInterpolate1","investmentOptionChoice","investmentOptionChoiceTooltip","partialWithdrawalSelection","provideInvestmentOption","ɵɵpipeBind1","form$","drawdownDisclaimer","currentTotalPercent$","ɵɵlistener","ɵɵrestoreView","_r5","ɵɵnextContext","ɵɵresetView","goBack","ɵɵclassMapInterpolate1","ɵɵpropertyInterpolate","ɵɵpureFunction2","_c3","screenWidth","isSubmitting","ɵɵtemplate","AccessYourSuperPermanentRetirementPreservationComponent_div_0_div_3_mat_icon_12_Template","AccessYourSuperPermanentRetirementPreservationComponent_div_0_div_3_div_13_Template","AccessYourSuperPermanentRetirementPreservationComponent_div_0_div_3_div_14_Template","AccessYourSuperPermanentRetirementPreservationComponent_div_0_div_3_div_23_Template","AccessYourSuperPermanentRetirementPreservationComponent_div_0_div_3_div_24_Template","_r1","exitForm","AccessYourSuperPermanentRetirementPreservationComponent_div_0_div_3_app_button_31_Template","goNextStep","ɵɵtextInterpolate","paymentType","benefitAmount","showBenefitAmountTooltip","value","permanentlyRetired","permanentlyRetiredTooltip","isPermanentlyRetired","_c0","ɵɵpureFunction1","_c1","showBackButton","_c2","isInvalid","AccessYourSuperPermanentRetirementPreservationComponent_div_0_div_3_Template","AccessYourSuperPermanentRetirementPreservationComponent","ComponentBase","nextStep","step","applicationId","id","backStep","previousStep","account","accountId","typeId","applicationTypeId","canGoBack","submitting","constructor","store","router","model$","pipe","select","accessYourSuperPermanentRetirementPreservation_Model","accessYourSuperPermanentRetirementPreservation_Form","accessYourSuperPermanentRetirementPreservation_FullAmountRadioOptions","accessYourSuperPermanentRetirementPreservation_CurrentTotalPercent","savedFormData$","accessYourSuperPermanentRetirementPreservation_SavedFormData","featureToggles$","commonState_SystemConfig_AccountFeatureToggles","selectedAccount$","memberAccountDropdown_SelectedAccount","paymentDetailId","featureToggleHelper","FeatureToggleHelper","ngOnInit","__async","__superGet","ngOnInitBase","sub","combineLatest","subscribe","x","checkToggle","FeatureToggleName","member","accessYourSuper","view","distinct","dispatch","RequestAction","fullAmountRadioOptions","push","key","fullAmountOptionOne","fullAmountOptionTwo","SetFullAmountRadioOptionsAction","payload","investmentOptions","Object","assign","currentInvestmentMix","helper","Helper","form","getValue","submissionData","accessYourSuperPaymentDetailId","paymentTypeId","AccessYourSuperPaymentTypeEnum","PartialAmount","SetValueAction","partialWithdrawalInvestmentSelection","drawdownMatchesCurrentInvestmentMix","investmentDrawdown","forEach","drawDown","investmentOptionIndex","findIndex","o","optionId","__spreadProps","__spreadValues","percentage","investmentOptionDrawdown","pairwise","distinctUntilChanged","y","Number","isNaN","SetErrorsAction","drawdownTotal","calculatedAmountHigherThanBalance","investmentOption","index","amount","errors","SetCurrentStepAction","ngOnDestroy","ngOnDestroyBase","ResetComponentStateAction","navigate","FullAmountCloseAccount","FullAmountKeepAccountOpen","map","option","accessYourSuperApplicationId","SaveFormDataAction","ɵɵdirectiveInject","Store","Router","selectors","hostAttrs","inputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","AccessYourSuperPermanentRetirementPreservationComponent_div_0_Template","NgIf","AsyncPipe","NgrxFormsModule","NgrxFormDirective","NgrxStatusCssClassesDirective","EntryFieldRadioComponent","AppRadioDirective","InputScrollDirective","MatIcon","MatTooltip","NumberEntryFieldComponent","AnimateCssDirective","AccessYourSuperDrawdownComponent","NgClass","AppButtonComponent","AppButtonDirective","TranslatePipe","styles","memberPortalState","createFeatureSelector","featureKey","getAccessYourSuperRetirementState","createSelector","state","accessYourSuperRetirementComponentState","accessYourSuperRetirement_Model","model","accessYourSuperRetirement_Form","form","accessYourSuperRetirement_FullAmountRadioOptions","fullAmountRadioOptions","accessYourSuperRetirement_CurrentTotalPercent","value","investmentOptionDrawdown","reduce","a","b","percentage","accessYourSuperRetirement_SavedFormData","savedFormData","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵproperty","model_r2","formLabels","benefitAmountTooltip","ɵɵelement","ɵɵadvance","ctx_r3","fullAmountRadioOptions$","form_r3","controls","fullAmountSelection","partialAmountSpecified","ɵɵtextInterpolate1","investmentOptionChoice","investmentOptionChoiceTooltip","partialWithdrawalSelection","provideInvestmentOption","ɵɵpipeBind1","form$","drawdownDisclaimer","currentTotalPercent$","ɵɵlistener","ɵɵrestoreView","_r5","ɵɵnextContext","ɵɵresetView","goBack","ɵɵclassMapInterpolate1","ɵɵpropertyInterpolate","ɵɵpureFunction2","_c3","screenWidth","isSubmitting","ɵɵtemplate","AccessYourSuperRetirementComponent_div_0_div_3_mat_icon_12_Template","AccessYourSuperRetirementComponent_div_0_div_3_div_13_Template","AccessYourSuperRetirementComponent_div_0_div_3_div_14_Template","AccessYourSuperRetirementComponent_div_0_div_3_div_15_Template","AccessYourSuperRetirementComponent_div_0_div_3_div_16_Template","_r1","exitForm","AccessYourSuperRetirementComponent_div_0_div_3_app_button_23_Template","goNextStep","ɵɵtextInterpolate","paymentType","benefitAmount","showBenefitAmountTooltip","value","_c0","ɵɵpureFunction1","_c1","showBackButton","_c2","isInvalid","AccessYourSuperRetirementComponent_div_0_div_3_Template","AccessYourSuperRetirementComponent","ComponentBase","nextStep","step","applicationId","id","backStep","previousStep","account","accountId","typeId","applicationTypeId","canGoBack","submitting","constructor","store","router","model$","pipe","select","accessYourSuperRetirement_Model","accessYourSuperRetirement_Form","accessYourSuperRetirement_FullAmountRadioOptions","accessYourSuperRetirement_CurrentTotalPercent","savedFormData$","accessYourSuperRetirement_SavedFormData","featureToggles$","commonState_SystemConfig_AccountFeatureToggles","selectedAccount$","memberAccountDropdown_SelectedAccount","paymentDetailId","featureToggleHelper","FeatureToggleHelper","ngOnInit","__async","__superGet","ngOnInitBase","sub","combineLatest","subscribe","x","checkToggle","FeatureToggleName","member","accessYourSuper","view","distinct","dispatch","RequestAction","fullAmountRadioOptions","push","key","fullAmountOptionOne","fullAmountOptionTwo","SetFullAmountRadioOptionsAction","payload","investmentOptions","Object","assign","currentInvestmentMix","helper","Helper","form","getValue","submissionData","accessYourSuperPaymentDetailId","paymentTypeId","AccessYourSuperPaymentTypeEnum","PartialAmount","SetValueAction","partialWithdrawalInvestmentSelection","drawdownMatchesCurrentInvestmentMix","investmentDrawdown","forEach","drawDown","investmentOptionIndex","findIndex","o","optionId","__spreadProps","__spreadValues","percentage","investmentOptionDrawdown","pairwise","distinctUntilChanged","y","Number","isNaN","SetErrorsAction","drawdownTotal","calculatedAmountHigherThanBalance","investmentOption","index","amount","errors","SetCurrentStepAction","ngOnDestroy","ngOnDestroyBase","ResetComponentStateAction","navigate","FullAmountCloseAccount","FullAmountKeepAccountOpen","map","option","accessYourSuperApplicationId","SaveFormDataAction","ɵɵdirectiveInject","Store","Router","selectors","hostAttrs","inputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","AccessYourSuperRetirementComponent_div_0_Template","NgIf","AsyncPipe","NgrxFormsModule","NgrxFormDirective","NgrxStatusCssClassesDirective","EntryFieldRadioComponent","AppRadioDirective","InputScrollDirective","MatIcon","MatTooltip","NumberEntryFieldComponent","AnimateCssDirective","AccessYourSuperDrawdownComponent","NgClass","AppButtonComponent","AppButtonDirective","TranslatePipe","styles","memberPortalState","createFeatureSelector","featureKey","getAccessYourSuperSevereFinancialHardshipState","createSelector","state","accessYourSuperSevereFinancialHardshipComponentState","accessYourSuperSevereFinancialHardship_Model","model","accessYourSuperSevereFinancialHardship_FormOne","formOne","accessYourSuperSevereFinancialHardship_FormTwo","formTwo","accessYourSuperSevereFinancialHardship_FullAmountRadioOptions","fullAmountRadioOptions","accessYourSuperSevereFinancialHardship_TaxOptions","taxOptions","accessYourSuperSevereFinancialHardship_CurrentTotalPercent","value","investmentOptionDrawdown","reduce","a","b","percentage","accessYourSuperSevereFinancialHardship_SavedFormData","savedFormData","accessYourSuperSevereFinancialHardship_SfhStep","sfhStep","accessYourSuperSevereFinancialHardship_FormVersion","formVersion","accessYourSuperSevereFinancialHardship_FormThreeValid","formThreeValid","AccessYourSuperDocumentTypeEnum","memberPortalState","createFeatureSelector","featureKey","getSevereFinancialHardshipFinancialDetailsV1State","createSelector","state","severeFinancialHardshipFinancialDetailsV1ComponentState","severeFinancialHardshipFinancialDetailsV1_Form","form","severeFinancialHardshipFinancialDetailsV1_FormValid","financialDetails","value","isValid","ɵɵelement","ɵɵproperty","ctx_r1","formLabels","assetProvideDetailsTooltip","form_r1","controls","assetsOtherAssetsDetails","liabilitiesProvideDetailsTooltip","liabilitiesOtherDebtsDetails","weeklyIncomeProvideDetailsTooltip","otherWeeklyIncomeDetails","weeklyExpensesProvideDetailsTooltip","weeklyOtherExpensesDetails","attemptedRenegotiateLoansDetails","ɵɵelementContainerStart","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵtemplate","SfhFinancialDetailsV1Component_ng_container_0_app_entry_textarea_12_Template","SfhFinancialDetailsV1Component_ng_container_0_app_entry_textarea_26_Template","SfhFinancialDetailsV1Component_ng_container_0_app_entry_textarea_41_Template","SfhFinancialDetailsV1Component_ng_container_0_app_entry_textarea_63_Template","SfhFinancialDetailsV1Component_ng_container_0_app_entry_textarea_73_Template","ɵɵadvance","assetsBankBalance","assetsOwnHome","assetsInvestmentProperties","assetsSharesInvestments","assetsVehicles","assetVehicleTooltip","assetsHomeContents","assetsOtherAssets","assetOtherAssetTooltip","value","ɵɵpipeBind1","calculateAssetsTotal","liabilitiesTooltip","liabilitiesHomeLoanRepayments","liabilitiesInvestmentLoanRepayments","liabilitiesPersonalLoanRepayments","liabilitiesCreditCardTooltip","liabilitiesCreditCardRepayments","liabilitiesVehicleRepayments","liabilitiesOtherDebts","liabilitiesOtherDebtsTooltip","calculateLiabilitiesTotal","weeklyIncomeTooltip","ownWeeklyIncome","partnersWeeklyIncome","dependantsWeeklyIncome","weeklyIncomeSupportPayments","rentalWeeklyIncome","investmentInterestWeeklyIncome","otherWeeklyIncome","weeklyIncomeOtherIncomeTooltip","calculateIncomeTotal","weeklyExpensesTooltip","weeklyRentMortgageExpenses","weeklyCreditCardExpenses","weeklyCouncilRateExpenses","weeklyGroceriesExpenses","weeklyMedicalExpenses","weeklyExpensesVehicleCostTooltip","weeklyVehicleExpenses","weeklyElectricityExpenses","weeklyGasExpenses","weeklyWaterExpenses","weeklyPhoneExpenses","weeklyInternetExpenses","weeklyInsuranceExpenses","weeklyEducationExpenses","weeklyOtherExpenses","weeklyExpensesOtherExpensesTooltip","calculateExpensesTotal","ɵɵtextInterpolate1","financeDetailsRenegotiateQuestion","attemptedRenegotiateLoans","SfhFinancialDetailsV1Component","ComponentBase","data","sfhDataV1","labels","constructor","store","router","onFormValid","EventEmitter","applicationModel$","pipe","select","accessYourSuperForm_ApplicationModel","form$","severeFinancialHardshipFinancialDetailsV1_Form","formValid$","severeFinancialHardshipFinancialDetailsV1_FormValid","helper","Helper","ngOnInit","__async","__superGet","ngOnInitBase","dispatch","SetFormDataAction","financialDetails","sub","distinctUntilChanged","x","y","subscribe","applicationData","getValue","livingArrangementDocIndex","applicationDocuments","findIndex","documentTypeId","AccessYourSuperDocumentTypeEnum","LivingArrangement","isDocumentRequired","UpdateDocumentRequiredAction","isRequired","JSON","stringify","emit","ngOnDestroy","ngOnDestroyBase","values","ɵɵdirectiveInject","Store","Router","selectors","hostAttrs","inputs","outputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","SfhFinancialDetailsV1Component_ng_container_0_Template","NgIf","AsyncPipe","NgrxFormsModule","NgrxFormDirective","NgrxStatusCssClassesDirective","NumberEntryFieldComponent","InputScrollDirective","EntryTextAreaFieldComponent","AppReadonlyComponent","CurrencyPipe","MatIcon","MatTooltip","EntryFieldRadioComponent","AppRadioDirective","encapsulation","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵproperty","model_r2","formLabels","benefitAmountTooltip","ɵɵelement","ɵɵadvance","ctx_r3","fullAmountRadioOptions$","combinedForm_r3","formOne","controls","fullAmountSelection","partialAmountSpecified","totalBalance","taxOptions$","isBeforeTax","ɵɵtextInterpolate1","permanentlyRetired","permanentlyRetiredTooltip","isPermanentlyRetired","investmentOptionChoice","investmentOptionChoiceTooltip","partialWithdrawalSelection","provideInvestmentOption","drawdownDisclaimer","ɵɵpipeBind1","currentTotalPercent$","ɵɵtemplate","AccessYourSuperSevereFinancialHardshipComponent_div_0_div_1_div_1_mat_icon_14_Template","AccessYourSuperSevereFinancialHardshipComponent_div_0_div_1_div_1_div_15_Template","AccessYourSuperSevereFinancialHardshipComponent_div_0_div_1_div_1_div_16_Template","AccessYourSuperSevereFinancialHardshipComponent_div_0_div_1_div_1_div_17_Template","AccessYourSuperSevereFinancialHardshipComponent_div_0_div_1_div_1_div_30_Template","AccessYourSuperSevereFinancialHardshipComponent_div_0_div_1_div_1_div_31_Template","ɵɵtextInterpolate","paymentType","benefitAmount","showBenefitAmountTooltip","value","memberReachedPreservationAge","summaryQuestion","sfhSummary","reachedPreservationAgePlusThirtyNineWeeks","receivingQualifyingSupport39Weeks","receivingQualifyingSupport26Weeks","receivingQualifyingSupport","ɵɵpureFunction1","_c4","conditionDisclaimer","ɵɵsanitizeHtml","ɵɵelementContainerStart","ɵɵlistener","i_r7","ɵɵrestoreView","_r6","index","ɵɵnextContext","$implicit","ɵɵresetView","removeDependant","formTwo","ɵɵpropertyInterpolate","ɵɵpureFunction2","_c3","screenWidth","isSubmitting","dependant_r8","name","age","relationship","_r5","addDependant","AccessYourSuperSevereFinancialHardshipComponent_div_0_div_1_div_3_ng_container_9_Template","dependantText","dependants","trackByFn","$event","_r9","financialDetailsValid","convertToV1","sfhSubmissionData","dependantAndFinanceData","financialDetails","AccessYourSuperSevereFinancialHardshipComponent_div_0_div_1_div_5_sfh_financial_details_v1_5_Template","formVersion$","_r10","goBack","ɵɵclassMapInterpolate1","_c5","AccessYourSuperSevereFinancialHardshipComponent_div_0_div_1_div_1_Template","AccessYourSuperSevereFinancialHardshipComponent_div_0_div_1_div_3_Template","AccessYourSuperSevereFinancialHardshipComponent_div_0_div_1_div_5_Template","_r1","exitForm","AccessYourSuperSevereFinancialHardshipComponent_div_0_div_1_app_button_16_Template","goNextStep","sfhStep$","_c0","stepperData","onStepperSelectionChange","_c1","_c2","showBackButton","isInvalid","formThreeValid$","AccessYourSuperSevereFinancialHardshipComponent_div_0_div_1_Template","combinedFormData$","AccessYourSuperSevereFinancialHardshipComponent","ComponentBase","nextStep","step","applicationId","id","backStep","previousStep","typeId","applicationTypeId","submitting","constructor","store","router","model$","pipe","select","accessYourSuperSevereFinancialHardship_Model","accessYourSuperSevereFinancialHardship_TaxOptions","accessYourSuperSevereFinancialHardship_FullAmountRadioOptions","savedFormData$","accessYourSuperSevereFinancialHardship_SavedFormData","accessYourSuperSevereFinancialHardship_CurrentTotalPercent","featureToggles$","commonState_SystemConfig_AccountFeatureToggles","selectedAccount$","memberAccountDropdown_SelectedAccount","accessYourSuperSevereFinancialHardship_SfhStep","accessYourSuperSevereFinancialHardship_FormVersion","formOne$","accessYourSuperSevereFinancialHardship_FormOne","formTwo$","accessYourSuperSevereFinancialHardship_FormTwo","accessYourSuperSevereFinancialHardship_FormThreeValid","paymentDetailId","accountId","maxDate","Date","featureToggleHelper","FeatureToggleHelper","helper","Helper","combinedFormData","ngAfterViewInit","sub","combineLatest","sfhStepper","changes","map","queryList","subscribe","x","first","setSelectedIndex","ngOnInit","__async","__superGet","ngOnInitBase","checkToggle","FeatureToggleName","member","account","accessYourSuper","view","distinct","dispatch","RequestAction","getValue","SetFormVersionAction","formVersion","SetSfhStepAction","currentStep","push","title","completed","stepIndex","SetValueAction","length","SetDependendantFormDataAction","fullAmountRadioOptions","key","fullAmountOptionOne","fullAmountOptionTwo","SetFullAmountRadioOptionsAction","payload","receivingQualifyingSupportErrorMsg","receivingQualifyingSupport39WeeksError","fullAmountOptionThree","receivingQualifyingSupport26WeeksError","taxOptions","beforeTax","SetTaxOptionsAction","investmentOptions","Object","assign","currentInvestmentMix","reduce","a","b","amount","submissionData","accessYourSuperPaymentDetailId","paymentTypeId","AccessYourSuperPaymentTypeEnum","PartialAmount","partialWithdrawalInvestmentSelection","drawdownMatchesCurrentInvestmentMix","investmentDrawdown","forEach","drawDown","investmentOptionIndex","findIndex","o","optionId","__spreadProps","__spreadValues","percentage","investmentOptionDrawdown","pairwise","distinctUntilChanged","y","Number","isNaN","form","SetErrorsAction","drawdownTotal","calculatedAmountHigherThanBalance","investmentOption","errors","JSON","stringify","customError","SetCurrentStepAction","ngOnDestroy","ngOnDestroyBase","ResetComponentStateAction","navigate","model","isTouched","FullAmountCloseAccount","FullAmountKeepAccountOpen","FullGrossAmountTenThousand","option","accessYourSuperApplicationId","SaveFormDataAction","parentStep","titles","event","selectedIndex","item","dependantForm","clone","splice","AccessYourSuperSfhDependantModel","isValid","SetFormThreeValidAction","data","ɵɵdirectiveInject","Store","Router","selectors","viewQuery","rf","ctx","AccessYourSuperStepper","AccessYourSuperSevereFinancialHardshipComponent_div_0_Template","NgIf","AsyncPipe","AnimateCssDirective","NgrxFormsModule","NgrxFormDirective","NgrxStatusCssClassesDirective","EntryFieldRadioComponent","AppRadioDirective","InputScrollDirective","MatIcon","MatTooltip","NumberEntryFieldComponent","EntryFieldDropdownComponent","EntryTextAreaFieldComponent","AccessYourSuperDrawdownComponent","NgClass","AppButtonComponent","NgFor","TranslatePipe","EntryFieldComponent","NgSwitch","NgSwitchCase","SfhFinancialDetailsV1Component","AppButtonDirective","styles","memberPortalState","createFeatureSelector","featureKey","getAccessYourSuperTerminalMedicalConditionState","createSelector","state","accessYourSuperTerminalMedicalConditionComponentState","accessYourSuperTerminalMedicalCondition_Model","model","accessYourSuperTerminalMedicalCondition_Form","form","accessYourSuperTerminalMedicalCondition_ReleaseConditionOptions","releaseConditionOptions","accessYourSuperTerminalMedicalCondition_FullAmountRadioOptions","fullAmountRadioOptions","accessYourSuperTerminalMedicalCondition_CurrentTotalPercent","value","investmentOptionDrawdown","reduce","a","b","percentage","accessYourSuperTerminalMedicalCondition_SavedFormData","savedFormData","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵproperty","model_r2","formLabels","benefitAmountTooltip","ɵɵelement","ɵɵadvance","ctx_r3","fullAmountRadioOptions$","form_r3","controls","fullAmountSelection","partialAmountSpecified","ɵɵtextInterpolate1","medicalConditionSummary","medicalConditionSummaryTooltip","investmentOptionChoice","investmentOptionChoiceTooltip","partialWithdrawalSelection","provideInvestmentOption","ɵɵpipeBind1","form$","drawdownDisclaimer","currentTotalPercent$","ɵɵlistener","ɵɵrestoreView","_r5","ɵɵnextContext","ɵɵresetView","goBack","ɵɵclassMapInterpolate1","ɵɵpropertyInterpolate","ɵɵpureFunction2","_c4","screenWidth","isSubmitting","ɵɵtemplate","AccessYourSuperTerminalMedicalConditionComponent_div_0_div_3_mat_icon_12_Template","AccessYourSuperTerminalMedicalConditionComponent_div_0_div_3_div_13_Template","AccessYourSuperTerminalMedicalConditionComponent_div_0_div_3_div_14_Template","AccessYourSuperTerminalMedicalConditionComponent_div_0_div_3_div_27_Template","AccessYourSuperTerminalMedicalConditionComponent_div_0_div_3_div_28_Template","AccessYourSuperTerminalMedicalConditionComponent_div_0_div_3_div_29_Template","_r1","exitForm","AccessYourSuperTerminalMedicalConditionComponent_div_0_div_3_app_button_36_Template","goNextStep","ɵɵtextInterpolate","paymentType","benefitAmount","showBenefitAmountTooltip","value","ɵɵpureFunction1","_c0","releaseCondition","releaseConditionOptions$","illHealthDate","maxDate","showSummaryTextBox","_c1","_c2","showBackButton","_c3","isInvalid","AccessYourSuperTerminalMedicalConditionComponent_div_0_div_3_Template","AccessYourSuperTerminalMedicalConditionComponent","ComponentBase","nextStep","step","applicationId","id","backStep","previousStep","account","accountId","typeId","applicationTypeId","canGoBack","submitting","constructor","store","router","model$","pipe","select","accessYourSuperTerminalMedicalCondition_Model","accessYourSuperTerminalMedicalCondition_Form","accessYourSuperTerminalMedicalCondition_ReleaseConditionOptions","accessYourSuperTerminalMedicalCondition_FullAmountRadioOptions","savedFormData$","accessYourSuperTerminalMedicalCondition_SavedFormData","accessYourSuperTerminalMedicalCondition_CurrentTotalPercent","accountFeatureToggles$","commonState_SystemConfig_AccountFeatureToggles","selectedAccount$","memberAccountDropdown_SelectedAccount","paymentDetailId","Date","featuretogglehelper","FeatureToggleHelper","ngOnInit","__async","__superGet","ngOnInitBase","sub","combineLatest","subscribe","x","checkToggle","FeatureToggleName","member","accessYourSuper","terminalIllnesssSummaryField","view","helper","Helper","distinct","dispatch","RequestAction","form","getValue","SetValueAction","showMedicalConditionSummary","fullAmountRadioOptions","push","key","fullAmountOptionOne","fullAmountOptionTwo","SetFullAmountRadioOptionsAction","payload","releaseConditionOptions","releaseConditionOptionOne","releaseConditionOptionTwo","SetReleaseConditionOptionsAction","investmentOptions","Object","assign","currentInvestmentMix","submissionData","accessYourSuperPaymentDetailId","paymentTypeId","AccessYourSuperPaymentTypeEnum","PartialAmount","partialWithdrawalInvestmentSelection","disabilityCondition","disabilityTypeId","date","dateFormatted","toISOString","split","drawdownMatchesCurrentInvestmentMix","investmentDrawdown","forEach","drawDown","investmentOptionIndex","findIndex","o","optionId","__spreadProps","__spreadValues","percentage","investmentOptionDrawdown","pairwise","distinctUntilChanged","y","Number","isNaN","SetErrorsAction","drawdownTotal","calculatedAmountHigherThanBalance","investmentOption","index","amount","errors","SetCurrentStepAction","ngOnDestroy","ngOnDestroyBase","ResetComponentStateAction","navigate","FullAmountCloseAccount","FullAmountKeepAccountOpen","map","option","accessYourSuperApplicationId","SaveFormDataAction","ɵɵdirectiveInject","Store","Router","selectors","hostAttrs","inputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","AccessYourSuperTerminalMedicalConditionComponent_div_0_Template","NgIf","AsyncPipe","NgrxFormsModule","NgrxFormDirective","NgrxStatusCssClassesDirective","EntryFieldRadioComponent","AppRadioDirective","InputScrollDirective","MatIcon","MatTooltip","NumberEntryFieldComponent","AnimateCssDirective","NgClass","EntryFieldDateComponent","InputDateScrollDirective","EntryTextAreaFieldComponent","AccessYourSuperDrawdownComponent","AppButtonComponent","AppButtonDirective","TranslatePipe","styles","memberPortalState","createFeatureSelector","featureKey","getAccessYourSuperUnrestrictedNonPreservedState","createSelector","state","accessYourSuperUnrestrictedNonPreservedComponentState","accessYourSuperUnrestrictedNonPreserved_Model","model","accessYourSuperUnrestrictedNonPreserved_Form","form","accessYourSuperUnrestrictedNonPreserved_FullAmountRadioOptions","fullAmountRadioOptions","accessYourSuperUnrestrictedNonPreserved_CurrentTotalPercent","value","investmentOptionDrawdown","reduce","a","b","percentage","accessYourSuperUnrestrictedNonPreserved_SavedFormData","savedFormData","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵproperty","model_r2","formLabels","benefitAmountTooltip","ɵɵelement","ɵɵadvance","ctx_r3","fullAmountRadioOptions$","form_r3","controls","fullAmountSelection","partialAmountSpecified","ɵɵtextInterpolate1","investmentOptionChoice","investmentOptionChoiceTooltip","partialWithdrawalSelection","provideInvestmentOption","ɵɵpipeBind1","form$","drawdownDisclaimer","currentTotalPercent$","ɵɵlistener","ɵɵrestoreView","_r5","ɵɵnextContext","ɵɵresetView","goBack","ɵɵclassMapInterpolate1","ɵɵpropertyInterpolate","ɵɵpureFunction2","_c3","screenWidth","isSubmitting","ɵɵtemplate","AccessYourSuperUnrestrictedNonPreservedComponent_div_0_div_3_mat_icon_12_Template","AccessYourSuperUnrestrictedNonPreservedComponent_div_0_div_3_div_13_Template","AccessYourSuperUnrestrictedNonPreservedComponent_div_0_div_3_div_14_Template","AccessYourSuperUnrestrictedNonPreservedComponent_div_0_div_3_div_15_Template","AccessYourSuperUnrestrictedNonPreservedComponent_div_0_div_3_div_16_Template","_r1","exitForm","AccessYourSuperUnrestrictedNonPreservedComponent_div_0_div_3_app_button_23_Template","goNextStep","ɵɵtextInterpolate","paymentType","benefitAmount","showBenefitAmountTooltip","value","_c0","ɵɵpureFunction1","_c1","showBackButton","_c2","isInvalid","AccessYourSuperUnrestrictedNonPreservedComponent_div_0_div_3_Template","AccessYourSuperUnrestrictedNonPreservedComponent","ComponentBase","nextStep","step","applicationId","id","backStep","previousStep","account","accountId","data","accountBalance","typeId","applicationTypeId","canGoBack","submitting","constructor","store","router","model$","pipe","select","accessYourSuperUnrestrictedNonPreserved_Model","accessYourSuperUnrestrictedNonPreserved_Form","accessYourSuperUnrestrictedNonPreserved_FullAmountRadioOptions","savedFormData$","accessYourSuperUnrestrictedNonPreserved_SavedFormData","accessYourSuperUnrestrictedNonPreserved_CurrentTotalPercent","featureToggles$","commonState_SystemConfig_AccountFeatureToggles","selectedAccount$","memberAccountDropdown_SelectedAccount","paymentDetailId","featureToggleHelper","FeatureToggleHelper","ngOnInit","__async","__superGet","ngOnInitBase","sub","combineLatest","subscribe","x","checkToggle","FeatureToggleName","member","accessYourSuper","view","distinct","dispatch","RequestAction","fullAmountRadioOptions","push","key","fullAmountOptionOne","fullAmountOptionTwo","SetFullAmountRadioOptionsAction","payload","helper","Helper","form","getValue","investmentOptions","Object","assign","currentInvestmentMix","SetValueAction","unrestrictedNonPreserved","submissionData","accessYourSuperPaymentDetailId","paymentTypeId","AccessYourSuperPaymentTypeEnum","PartialAmount","FullAmountEntireUnrp","partialWithdrawalInvestmentSelection","drawdownMatchesCurrentInvestmentMix","investmentDrawdown","forEach","drawDown","investmentOptionIndex","findIndex","o","optionId","__spreadProps","__spreadValues","percentage","investmentOptionDrawdown","pairwise","distinctUntilChanged","y","Number","isNaN","SetErrorsAction","drawdownTotal","calculatedAmountHigherThanBalance","investmentOption","index","amount","errors","SetCurrentStepAction","ngOnDestroy","ngOnDestroyBase","ResetComponentStateAction","navigate","FullAmountEntireUnrpKeepAccountOpen","map","option","accessYourSuperApplicationId","SaveFormDataAction","ɵɵdirectiveInject","Store","Router","selectors","hostAttrs","inputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","AccessYourSuperUnrestrictedNonPreservedComponent_div_0_Template","NgIf","AsyncPipe","NgrxFormsModule","NgrxFormDirective","NgrxStatusCssClassesDirective","EntryFieldRadioComponent","AppRadioDirective","InputScrollDirective","MatIcon","MatTooltip","NumberEntryFieldComponent","AnimateCssDirective","AccessYourSuperDrawdownComponent","NgClass","AppButtonComponent","AppButtonDirective","TranslatePipe","styles","memberPortalState","createFeatureSelector","featureKey","getAccessYourSuperDocumentsState","createSelector","state","accessYourSuperDocumentsComponentState","accessYourSuperDocuments_Form","form","accessYourSuperDocuments_UploadedDocument","uploadedDocument","accessYourSuperDocuments_DeletedDocument","deletedDocument","accessYourSuperDocuments_ReplacedDocument","replacedDocument","accessYourSuperDocuments_FileRequestFailed","fileRequestFailed","accessYourSuperDocuments_SupportingDocuments","controls","supportingDocuments","accessYourSuperDocuments_DocumentsCompleted","documentsCompleted","accessYourSuperDocuments_FilesAndAuthorities","filesAndAuthorities","forEach","overview","index","files","id","value","requestAuthority","isDocumentRequired","accessYourSuperDocuments_Authorities","map","accessYourSuperDocuments_ReferenceValue","referenceValueControl","find","o","referenceRequired","referenceControlId","referenceValue","controlId","required","authorityGiven","accessYourSuperDocuments_FormValidity","isValid","AccessYourSuperSupportingDocumentModel","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵlistener","$event","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","onVerified","ɵɵproperty","accountId","ɵɵadvance","ɵɵtextInterpolate2","model","i_r3","isDocumentRequired","documentAmountRequired","ctx_r4","_r4","file_r6","$implicit","j_r7","index","uploadDocument","documentTypeId","value","filename","id","removeFile","extensions","isSubmitting","ɵɵtemplate","AccessYourSuperDocumentsComponent_div_0_div_3_form_11_div_1_div_6_div_1_Template","ɵɵpureFunction2","_c0","screenWidth","item_r8","controls","files","trackByFn","ɵɵelement","referenceLabel","referenceValue","_r10","clearReferenceValue","ɵɵtextInterpolate","AccessYourSuperDocumentsComponent_div_0_div_3_form_11_div_1_div_7_app_entry_1_Template","AccessYourSuperDocumentsComponent_div_0_div_3_form_11_div_1_div_7_div_2_Template","previouslyProvided","AccessYourSuperDocumentsComponent_div_0_div_3_form_11_div_1_div_8_div_1_p_1_span_3_Template","AccessYourSuperDocumentsComponent_div_0_div_3_form_11_div_1_div_8_div_1_p_1_span_4_Template","applicationType","applicationTypeId","AccessYourSuperDocumentsComponent_div_0_div_3_form_11_div_1_div_8_div_1_p_1_Template","requestAuthority","_c1","documentDisclaimer","ɵɵsanitizeHtml","AccessYourSuperDocumentsComponent_div_0_div_3_form_11_div_1_div_8_div_1_Template","checkFileUploaded","AccessYourSuperDocumentsComponent_div_0_div_3_form_11_div_1_span_4_Template","AccessYourSuperDocumentsComponent_div_0_div_3_form_11_div_1_div_6_Template","AccessYourSuperDocumentsComponent_div_0_div_3_form_11_div_1_div_7_Template","AccessYourSuperDocumentsComponent_div_0_div_3_form_11_div_1_div_8_Template","ɵɵtextInterpolate1","documentName","applicationInDraft","documentDescription","referenceRequired","canRequestAuthority","AccessYourSuperDocumentsComponent_div_0_div_3_form_11_div_1_Template","form_r11","supportingDocuments","_r12","exitForm","goBack","goNextStep","_c2","ɵɵpureFunction1","_c3","ɵɵpropertyInterpolate","ɵɵpipeBind1","ɵɵclassMapInterpolate1","_c4","_c5","isInvalid","AccessYourSuperDocumentsComponent_div_0_div_3_p_8_Template","AccessYourSuperDocumentsComponent_div_0_div_3_app_greenid_9_Template","AccessYourSuperDocumentsComponent_div_0_div_3_form_11_Template","AccessYourSuperDocumentsComponent_div_0_div_3_div_15_Template","proofOfIdentificationText","greenIdVerified","elevatedAccess$","AccessYourSuperDocumentsComponent_div_0_div_3_Template","title","form$","AccessYourSuperDocumentsComponent","ComponentBase","data","clone","helper","nextStep","step","backStep","previousStep","applicationId","account","conditionData","wording","draftApplication","componentTitle","submitting","constructor","store","router","Helper","onDocumentsSaved","EventEmitter","documentsInvalid","elevatedAccess","pipe","select","accessYourSuperDocuments_Form","uploadedDocument$","accessYourSuperDocuments_UploadedDocument","deletedDocument$","accessYourSuperDocuments_DeletedDocument","replacedDocument$","accessYourSuperDocuments_ReplacedDocument","uploadFileFailed$","accessYourSuperDocuments_FileRequestFailed","supportingDocuments$","accessYourSuperDocuments_SupportingDocuments","documentsCompleted$","accessYourSuperDocuments_DocumentsCompleted","authorities$","accessYourSuperDocuments_Authorities","referenceValue$","accessYourSuperDocuments_ReferenceValue","filesAndAuthorities$","accessYourSuperDocuments_FilesAndAuthorities","formValid$","accessYourSuperDocuments_FormValidity","commomState_ElevatedAccess","ngOnInit","__async","__superGet","ngOnInitBase","length","sort","x","y","forEach","documentOverview","dispatch","SetupSupportingDocumentOverviewAction","documentAmount","documentList","authorityGiven","subscribe","sub","distinctUntilChanged","debounceTime","overviewIndex","docList","uploadedDocument","uploadIndex","originalFileName","SetValueAction","AddNewAppFileAction","push","AccessYourSuperSupportingDocumentModel","JSON","stringify","control","isRequired","uploadedFileIndex","findIndex","o","undefined","authority","errors","SetErrorsAction","filesControlId","pairwise","skipWhile","required","overview","find","controlId","documentIndex","uploadedDocumentId","fileName","emit","MarkAsTouchedAction","splice","RemoveAppFileAction","SaveDocumentAction","payload","__spreadProps","__spreadValues","file","customError","ResetFileRequestFailedAction","SetCurrentStepAction","combineLatest","map","formValid","ngOnDestroy","ngOnDestroyBase","ResetComponentStateAction","navigate","verified","GreenIdVerifiedAction","form","getValue","documentWithCrn","documents","customerReferenceNumber","CompleteDocumentsAction","submission","item","document","docs","originalFile","ReplaceDocumentAction","DeleteDocumentAction","AppFileModel","fileUploaded","ɵɵdirectiveInject","Store","Router","selectors","hostAttrs","inputs","outputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","AccessYourSuperDocumentsComponent_div_0_Template","NgIf","AsyncPipe","AppGreenIdComponent","NgClass","NgFor","FileEntryFieldComponent","EntryFieldComponent","InputScrollDirective","MatIcon","EntryCheckboxFieldComponent","TranslatePipe","AppButtonComponent","AppButtonDirective","NgrxFormsModule","NgrxFormDirective","NgrxStatusCssClassesDirective","styles","memberPortalState","createFeatureSelector","featureKey","getAccessYourSuperLastEmployerState","createSelector","state","accessYourSuperLastEmployerComponentState","accessYourSuperLastEmployer_Form","form","accessYourSuperLastEmployer_LastEmployerDetailsSaved","lastEmployerDetailsSaved","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵproperty","ctx_r2","maxDate","form_r2","controls","finishDate","finalContTooltip","waitingOnFinalContribution","ɵɵlistener","ɵɵrestoreView","_r4","ɵɵnextContext","ɵɵresetView","goBack","ɵɵclassMapInterpolate1","ɵɵpipeBind1","ɵɵpropertyInterpolate","ɵɵpureFunction2","_c4","screenWidth","isSubmitting","ɵɵtemplate","AccessYourSuperLastEmployerComponent_div_0_div_3_div_14_Template","AccessYourSuperLastEmployerComponent_div_0_div_3_div_15_Template","_r1","exitForm","AccessYourSuperLastEmployerComponent_div_0_div_3_app_button_22_Template","goNextStep","_c0","lastEmployerName","stillWithEmployer","value","_c1","ɵɵpureFunction1","_c2","showBackButton","_c3","isInvalid","AccessYourSuperLastEmployerComponent_div_0_div_3_Template","form$","AccessYourSuperLastEmployerComponent","ComponentBase","data","model","nextStep","step","applicationId","id","account","accountId","canGoBack","wording","lastEmployerContributionTooltip","submitting","constructor","store","router","onLastEmployerDetailsSaved","EventEmitter","pipe","select","accessYourSuperLastEmployer_Form","lastEmployerDetailsSaved$","accessYourSuperLastEmployer_LastEmployerDetailsSaved","payload","Date","ngOnInit","__async","__superGet","ngOnInitBase","helper","Helper","form","getValue","dispatch","SetValueAction","date","dateFormatted","toISOString","split","sub","pairwise","subscribe","SetErrorsAction","x","emit","SetCurrentStepAction","ngOnDestroy","ngOnDestroyBase","ResetComponentStateAction","navigate","currentStep","SaveLastEmployerDetailsAction","lastEmployerDetails","ɵɵdirectiveInject","Store","Router","selectors","hostAttrs","inputs","outputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","AccessYourSuperLastEmployerComponent_div_0_Template","NgIf","AsyncPipe","NgrxFormsModule","NgrxFormDirective","NgrxStatusCssClassesDirective","EntryFieldComponent","InputScrollDirective","EntryFieldRadioComponent","AppRadioDirective","EntryFieldDateComponent","MatIcon","MatTooltip","AppButtonComponent","TranslatePipe","AppButtonDirective","NgClass","styles","memberPortalState","createFeatureSelector","featureKey","getAccessYourSuperReviewState","createSelector","state","accessYourSuperReviewComponentState","accessYourSuperReview_Form","form","accessYourSuperReview_ApplicationSubmitted","applicationSubmitted","accessYourSuperReview_CustomData","customData","AccessYourSuperApplicationTypeEnum","ɵɵelement","ɵɵproperty","ctx_r0","sfhDataV1","assetsOtherAssetsDetails","liabilitiesOtherDebtsDetails","otherWeeklyIncomeDetails","weeklyOtherExpensesDetails","attemptedRenegotiateLoansDetails","SfhFinancialDetailsReviewV1Component","ComponentBase","data","value","labels","formLabels","constructor","store","router","helper","Helper","ngOnInit","__async","__superGet","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","calculateAssetsTotal","values","assetsBankBalance","assetsHomeContents","assetsInvestmentProperties","assetsOtherAssets","assetsOwnHome","assetsSharesInvestments","assetsVehicles","calculateLiabilitiesTotal","liabilitiesCreditCardRepayments","liabilitiesHomeLoanRepayments","liabilitiesInvestmentLoanRepayments","liabilitiesOtherDebts","liabilitiesPersonalLoanRepayments","liabilitiesVehicleRepayments","calculateIncomeTotal","weeklyIncomeSupportPayments","ownWeeklyIncome","otherWeeklyIncome","rentalWeeklyIncome","partnersWeeklyIncome","dependantsWeeklyIncome","investmentInterestWeeklyIncome","calculateExpensesTotal","weeklyRentMortgageExpenses","weeklyCreditCardExpenses","weeklyCouncilRateExpenses","weeklyGroceriesExpenses","weeklyMedicalExpenses","weeklyVehicleExpenses","weeklyElectricityExpenses","weeklyGasExpenses","weeklyWaterExpenses","weeklyPhoneExpenses","weeklyInternetExpenses","weeklyInsuranceExpenses","weeklyEducationExpenses","weeklyOtherExpenses","ɵɵdirectiveInject","Store","Router","selectors","hostAttrs","inputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵtemplate","SfhFinancialDetailsReviewV1Component_app_readonly_17_Template","SfhFinancialDetailsReviewV1Component_app_readonly_34_Template","SfhFinancialDetailsReviewV1Component_app_readonly_53_Template","SfhFinancialDetailsReviewV1Component_app_readonly_86_Template","SfhFinancialDetailsReviewV1Component_app_readonly_90_Template","ɵɵadvance","ɵɵpipeBind1","financeDetailsRenegotiateQuestion","attemptedRenegotiateLoans","AppReadonlyComponent","NgIf","CurrencyPipe","encapsulation","ɵɵelement","ɵɵproperty","ɵɵpipeBind1","ctx_r0","model","employerDetails","finishDate","waitingOnFinalContribution","ɵɵelementStart","ɵɵtemplate","AccessYourSuperReviewDisplayComponent_div_0_div_3_app_readonly_3_Template","AccessYourSuperReviewDisplayComponent_div_0_div_3_app_readonly_4_Template","ɵɵelementEnd","ɵɵadvance","lastEmployerName","stillWithEmployer","ɵɵtext","AccessYourSuperReviewDisplayComponent_div_0_div_3_Template","customData","formLabels","paymentType","submissionData","paymentTypeId","benefitAmount","fullAmountOptionOne","fullAmountOptionTwo","fullAmountOptionThree","atoApproved","permanentlyRetired","isPermanentlyRetired","isBeforeTax","beforeTax","afterTax","illHealthDate","disabilityCondition","releaseCondition","disabilityTypeId","releaseConditionOptionOne","releaseConditionOptionTwo","ɵɵelementContainerStart","AccessYourSuperReviewDisplayComponent_div_1_ng_container_3_ng_container_11_app_readonly_1_Template","AccessYourSuperReviewDisplayComponent_div_1_ng_container_3_ng_container_11_app_readonly_2_Template","sfh_r2","summaryQuestion","sfhSubmissionData","sfhSummary","reachedPreservationAgePlusThirtyNineWeeks","receivingQualifyingSupport39Weeks","receivingQualifyingSupport26Weeks","receivingQualifyingSupport","AccessYourSuperReviewDisplayComponent_div_1_ng_container_3_ng_container_12_app_readonly_1_Template","AccessYourSuperReviewDisplayComponent_div_1_ng_container_3_ng_container_12_app_readonly_2_Template","AccessYourSuperReviewDisplayComponent_div_1_ng_container_3_app_readonly_2_Template","AccessYourSuperReviewDisplayComponent_div_1_ng_container_3_app_readonly_3_Template","AccessYourSuperReviewDisplayComponent_div_1_ng_container_3_app_readonly_4_Template","AccessYourSuperReviewDisplayComponent_div_1_ng_container_3_app_readonly_5_Template","AccessYourSuperReviewDisplayComponent_div_1_ng_container_3_app_readonly_6_Template","AccessYourSuperReviewDisplayComponent_div_1_ng_container_3_app_readonly_7_Template","AccessYourSuperReviewDisplayComponent_div_1_ng_container_3_app_readonly_8_Template","AccessYourSuperReviewDisplayComponent_div_1_ng_container_3_app_readonly_9_Template","AccessYourSuperReviewDisplayComponent_div_1_ng_container_3_app_readonly_10_Template","AccessYourSuperReviewDisplayComponent_div_1_ng_container_3_ng_container_11_Template","AccessYourSuperReviewDisplayComponent_div_1_ng_container_3_ng_container_12_Template","conditionData","applicationTypeId","otherCondition","convertToSfh","ɵɵtextInterpolate1","i_r4","dependant_r3","name","age","toString","relationship","convertToV1","sfh_r5","dependantAndFinanceData","financialDetails","AccessYourSuperReviewDisplayComponent_div_1_ng_container_4_div_1_ng_container_4_Template","AccessYourSuperReviewDisplayComponent_div_1_ng_container_4_div_1_sfh_financial_details_review_v1_8_Template","dependants","formVersion","AccessYourSuperReviewDisplayComponent_div_1_ng_container_4_div_1_Template","kiwiSaver_r6","lastAusEmployer","lastAusEmployerName","lastAusEmploymentDate","employerConfirmationInput","isEmployerConfirmationRequested","AccessYourSuperReviewDisplayComponent_div_1_ng_container_5_div_1_app_readonly_3_Template","AccessYourSuperReviewDisplayComponent_div_1_ng_container_5_div_1_app_readonly_4_Template","AccessYourSuperReviewDisplayComponent_div_1_ng_container_5_div_1_app_readonly_5_Template","currentEmployerName","lastAusEmployerConfirmation","isEmployerConfirmationRequired","lastAusAddress","lastAusResidentialAddress","fullAddress","nzAddress","nzResidentialAddress","irdNumber","nzIrdNumber","kiwisaverSchemeName","kiwiSaverSchemeName","registrationNumber","kiwiSaverSchemeRegistrationNumber","schemeAccountNumber","kiwiSaverSchemeAccountNumber","schemeAddress","schemePostalAddress","AccessYourSuperReviewDisplayComponent_div_1_ng_container_5_div_1_Template","convertToKiwiSaver","option_r7","option","percentage","AccessYourSuperReviewDisplayComponent_div_1_div_6_ng_container_4_Template","investmentDrawdown","AccessYourSuperReviewDisplayComponent_div_1_ng_container_3_Template","AccessYourSuperReviewDisplayComponent_div_1_ng_container_4_Template","AccessYourSuperReviewDisplayComponent_div_1_ng_container_5_Template","AccessYourSuperReviewDisplayComponent_div_1_div_6_Template","partialWithdrawalInvestmentSelection","bankDetails","bankName","accountName","bsb","accountNumber","AccessYourSuperReviewDisplayComponent_div_2_div_3_Template","ɵɵtextInterpolate","checkIfDocumentsExist","overview_r8","AccessYourSuperReviewDisplayComponent_div_3_div_3_ng_container_1_mat_icon_5_Template","AccessYourSuperReviewDisplayComponent_div_3_div_3_ng_container_1_mat_icon_6_Template","AccessYourSuperReviewDisplayComponent_div_3_div_3_ng_container_1_div_8_Template","AccessYourSuperReviewDisplayComponent_div_3_div_3_ng_container_1_div_9_Template","ɵɵtextInterpolate3","documentName","isDocumentRequired","documentAmountRequired","authorityGiven","AccessYourSuperReviewDisplayComponent_div_3_div_3_ng_container_1_Template","applicationDocuments","AccessYourSuperReviewDisplayComponent_div_3_div_3_Template","AccessYourSuperReviewDisplayComponent","ComponentBase","data","value","clone","helper","customSection","constructor","store","router","Helper","accessYourSuperHelper","AccessYourSuperHelper","ngOnInit","__async","__superGet","ngOnInitBase","showSection","sectionIndex","requiredSections","includes","ngOnDestroy","ngOnDestroyBase","overview","uploadedDocs","documentList","filter","x","originalFileName","length","documentsUploaded","ɵɵdirectiveInject","Store","Router","selectors","inputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","AccessYourSuperReviewDisplayComponent_div_0_Template","AccessYourSuperReviewDisplayComponent_div_1_Template","AccessYourSuperReviewDisplayComponent_div_2_Template","AccessYourSuperReviewDisplayComponent_div_3_Template","NgIf","AppReadonlyComponent","DatePipe","NgFor","NgSwitch","NgSwitchCase","SfhFinancialDetailsReviewV1Component","MatIcon","CurrencyPipe","encapsulation","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r3","ctx_r1","ɵɵnextContext","ɵɵresetView","submitApplication","ɵɵelementEnd","ɵɵpropertyInterpolate","ɵɵpipeBind1","ɵɵproperty","ɵɵpureFunction2","_c3","screenWidth","form_r4","isInvalid","isSubmitting","ɵɵelement","ɵɵtext","_r1","exitForm","goBack","ɵɵtemplate","AccessYourSuperReviewComponent_div_0_div_1_div_3_app_button_20_Template","ɵɵadvance","model","customData","conditionData","conditionDisclaimer","ɵɵsanitizeHtml","controls","disclaimer","_c0","ɵɵpureFunction1","_c1","ɵɵclassMapInterpolate1","_c2","elevatedAccess$","AccessYourSuperReviewComponent_div_0_div_1_div_3_Template","form$","AccessYourSuperReviewComponent_div_0_div_1_Template","AccessYourSuperReviewComponent_div_0_div_2_Template","applicationSubmitted","AccessYourSuperReviewComponent","ComponentBase","data","value","clone","helper","backStep","previousStep","applicationId","id","account","accountId","submitting","constructor","store","router","Helper","onSubmissionSuccesful","EventEmitter","accessYourSuperHelper","AccessYourSuperHelper","pipe","select","accessYourSuperReview_Form","customData$","accessYourSuperReview_CustomData","applicationSubmitted$","accessYourSuperReview_ApplicationSubmitted","commomState_ElevatedAccess","elevatedAccess","ngOnInit","__async","__superGet","ngOnInitBase","sub","subscribe","x","applicationTypeId","AccessYourSuperApplicationTypeEnum","SevereFinancialHardship","dispatch","GetSfhDataAction","TransferToKiwiSaver","GetKiwiSaverDataAction","GetCustomDataAction","emit","showSection","sectionIndex","requiredSections","includes","ngOnDestroy","ngOnDestroyBase","ResetComponentStateAction","navigate","SubmitApplicationAction","SetCurrentStepAction","nextStep","ɵɵdirectiveInject","Store","Router","selectors","inputs","outputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","AccessYourSuperReviewComponent_div_0_Template","NgIf","AsyncPipe","AccessYourSuperReviewDisplayComponent","NgrxFormsModule","NgrxFormDirective","NgrxStatusCssClassesDirective","EntryCheckboxFieldComponent","InputScrollDirective","NgClass","AppButtonComponent","AppButtonDirective","TranslatePipe","RouterLink","styles","memberPortalState","createFeatureSelector","featureKey","getAccessYourSuperTypeSelectionState","createSelector","state","accessYourSuperTypeSelectionComponentState","accessYourSuperTypeSelection_Form","form","accessYourSuperTypeSelection_FirstDropdownValues","firstDropdownValues","accessYourSuperTypeSelection_SecondDropdownValues","secondDropdownValues","accessYourSuperTypeSelection_ApplicationId","applicationId","accessYourSuperTypeSelection_ApplicationModel","applicationData","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ctx_r2","secondDropdownValues$","form_r2","controls","secondDropdown","ɵɵtemplate","AccessYourSuperTypeSelectionComponent_form_3_div_4_Template","ɵɵlistener","ɵɵrestoreView","_r1","ɵɵnextContext","ɵɵresetView","exitForm","$event","goNextStep","firstDropdownValues$","firstDropdown","value","selectedType","conditionDescription","ɵɵsanitizeHtml","ɵɵpureFunction2","_c0","screenWidth","ɵɵpropertyInterpolate","ɵɵpipeBind1","_c1","isSubmitting","_c2","isInvalid","dialogText","AccessYourSuperTypeSelectionComponent","ComponentBase","applicationTypes","model","submitting","constructor","store","router","onApplicationCreated","EventEmitter","selectedAccount$","pipe","select","memberAccountDropdown_SelectedAccount","form$","accessYourSuperTypeSelection_Form","accessYourSuperTypeSelection_FirstDropdownValues","accessYourSuperTypeSelection_SecondDropdownValues","applicationId$","accessYourSuperTypeSelection_ApplicationId","applicationModel$","accessYourSuperTypeSelection_ApplicationModel","ngOnInit","ngOnInitBase","categoryArray","Object","keys","forEach","category","newEntry","key","push","dispatch","SetFirstDropdownValuesAction","payload","sub","distinctUntilChanged","x","y","pairwise","map","previousValue","newValue","subscribe","typeArray","type","conditionName","SetSecondDropdownValuesAction","ResetSecondDropdownValueAction","categoryList","find","o","ngOnDestroy","ngOnDestroyBase","ResetComponentStateAction","event","__async","helper","Helper","accountId","getValue","combineLatest","applicationId","applicationModel","SelectApplicationTypeAction","applicationType","applicationTypeId","GetApplicationDataAction","emit","id","nextStep","conditionData","directToAto","requiredSections","SetCurrentStepAction","navigate","ɵɵdirectiveInject","Store","Router","selectors","hostAttrs","inputs","outputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵtext","AccessYourSuperTypeSelectionComponent_form_3_Template","NgIf","NgrxFormsModule","NgrxFormDirective","NgrxStatusCssClassesDirective","EntryFieldDropdownComponent","InputScrollDirective","NgClass","AppButtonComponent","AppButtonDirective","AsyncPipe","TranslatePipe","encapsulation","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ɵɵpipeBind1","ctx_r0","model","unrestrictedNonPreserved","restrictedNonPreserved","preserved","accountBalanceLabel","accountBalance","AvailableAccountBalanceComponent","ComponentBase","data","value","calculationDate","constructor","store","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","selectors","hostAttrs","inputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵtemplate","AvailableAccountBalanceComponent_div_0_Template","NgIf","AppReadonlyComponent","CurrencyPipe","encapsulation","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","applicationTypesResponse_r1","errorMessage","ɵɵelement","ɵɵproperty","data_r3","ɵɵsanitizeHtml","ɵɵtemplate","AccessYourSuperFormComponent_div_0_ng_container_1_div_2_div_3_li_2_Template","ctx_r3","validationErrorList","AccessYourSuperFormComponent_div_0_ng_container_1_div_2_div_3_Template","ɵɵlistener","ɵɵrestoreView","_r2","ɵɵnextContext","ɵɵresetView","exitForm","updatePersonalDetails","goNextStep","length","tfnTooltipText","ɵɵpureFunction2","_c0","screenWidth","ɵɵpureFunction1","_c1","ɵɵpropertyInterpolate","ɵɵpipeBind1","ɵɵclassMapInterpolate1","_c2","_c3","$event","_r5","onApplicationCreated","submitting","applicationTypes","ɵɵelementContainerStart","AccessYourSuperFormComponent_div_0_ng_container_1_div_1_Template","AccessYourSuperFormComponent_div_0_ng_container_1_div_2_Template","AccessYourSuperFormComponent_div_0_ng_container_1_div_3_Template","currentStep_r6","stepperData","onStepperSelectionChange","_r7","openAtoPage","model_r8","conditionData","redirectToAtoWording","_c4","_c5","_r9","sendNextStepRequest","accountBalances","AccessYourSuperFormComponent_div_0_ng_container_3_div_2_div_1_Template","AccessYourSuperFormComponent_div_0_ng_container_3_div_2_div_2_Template","directToAto","_r10","onLastEmployerDetailsSaved","employerDetails","nextStep","applicationId$","applicationAccount$","canGoBack","customWording","previousStep","applicationTypeId","accountDropdown$","AccessYourSuperFormComponent_div_0_ng_container_3_div_4_app_access_your_super_retirement_2_Template","AccessYourSuperFormComponent_div_0_ng_container_3_div_4_app_access_your_super_ceased_work_sixty_3_Template","AccessYourSuperFormComponent_div_0_ng_container_3_div_4_app_access_your_super_permanent_retirement_preservation_4_Template","AccessYourSuperFormComponent_div_0_ng_container_3_div_4_app_access_your_super_ceased_paid_employment_5_Template","AccessYourSuperFormComponent_div_0_ng_container_3_div_4_app_access_your_super_pension_commutations_6_Template","AccessYourSuperFormComponent_div_0_ng_container_3_div_4_app_access_your_super_terminal_medical_condition_7_Template","AccessYourSuperFormComponent_div_0_ng_container_3_div_4_app_access_your_super_severe_financial_hardship_8_Template","AccessYourSuperFormComponent_div_0_ng_container_3_div_4_app_access_your_super_compassionate_grounds_9_Template","AccessYourSuperFormComponent_div_0_ng_container_3_div_4_app_access_your_super_unrestricted_non_preserved_10_Template","AccessYourSuperFormComponent_div_0_ng_container_3_div_4_app_access_your_super_kiwi_saver_11_Template","_r11","onBankDetailsSaved","bankDetails","_r12","onDocumentsSaved","documentsInvalid","applicationDocuments","_r13","onSubmissionSuccesful","AccessYourSuperFormComponent_div_0_ng_container_3_div_1_Template","AccessYourSuperFormComponent_div_0_ng_container_3_div_2_Template","AccessYourSuperFormComponent_div_0_ng_container_3_div_3_Template","AccessYourSuperFormComponent_div_0_ng_container_3_div_4_Template","AccessYourSuperFormComponent_div_0_ng_container_3_div_5_Template","AccessYourSuperFormComponent_div_0_ng_container_3_div_6_Template","AccessYourSuperFormComponent_div_0_ng_container_3_div_7_Template","showStepper","AccessYourSuperFormComponent_div_0_ng_container_1_Template","AccessYourSuperFormComponent_div_0_ng_container_3_Template","applicationTypes$","applicationModel$","AccessYourSuperFormComponent","ComponentBase","constructor","store","translate","router","pipe","select","memberAccountDropdown_SelectedAccount","accessYourSuperStart_GetSelectedAccount","currentStep$","accessYourSuperForm_CurrentStep","currentStepUpdated$","accessYourSuperForm_CurrentStepUpdated","accessYourSuperForm_ApplicationModel","accessYourSuperForm_ApplicationId","memberViewModel$","commonState_MemberData","accessYourSuperForm_ApplicationTypes","isSubmitting$","commonState_IsSending","accessYourSuperHelper","AccessYourSuperHelper","ngOnInit","ngOnInitBase","sub","subscribe","x","combineLatest","map","accountDropdown","currentStep","accountTypeId","dispatch","GetApplicationTypesRequestAction","accountType","accountId","distinctUntilChanged","y","requiredSections","forEach","step","push","title","completed","stepIndex","getCustomSectionTitle","__async","residentialAddress","fullAddress","count","fieldsMissing","firstName","lastName","dateOfBirth","get","msg","join","toString","applicationAccountId","navigate","helper","Helper","model","getValue","currentStepIndex","indexOf","myStepper","setSelectedIndex","SetCurrentStepAction","ngOnDestroy","ngOnDestroyBase","ResetComponentStateAction","account","applicationId","UpdateCurrentStepAction","payload","SaveApplicationDataAction","id","window","open","redirectToAtoLink","SaveLastEmployerDetailsAction","lastEmployerName","stillWithEmployer","finishDate","waitingOnFinalContribution","SaveBankDetailsAction","bankName","accountName","accountNumber","bsb","SaveDocumentModelAction","titles","event","selectedIndex","isValid","documentStep","resetCompletion","ɵɵdirectiveInject","Store","TranslateService","Router","selectors","viewQuery","rf","ctx","AccessYourSuperStepper","AccessYourSuperFormComponent_div_0_Template","NgIf","NgFor","AsyncPipe","MemberViewComponent","NgClass","AppButtonComponent","TranslatePipe","AccessYourSuperTypeSelectionComponent","AvailableAccountBalanceComponent","AppButtonDirective","AccessYourSuperLastEmployerComponent","AccessYourSuperRetirementComponent","AccessYourSuperCeasedWorkSixtyComponent","AccessYourSuperPermanentRetirementPreservationComponent","AccessYourSuperCeasedPaidEmploymentComponent","AccessYourSuperPensionCommutationsComponent","AccessYourSuperTerminalMedicalConditionComponent","AccessYourSuperSevereFinancialHardshipComponent","AccessYourSuperCompassionateGroundsComponent","AccessYourSuperUnrestrictedNonPreservedComponent","AccessYourSuperKiwiSaverComponent","AccessYourSuperBankDetailsComponent","AccessYourSuperDocumentsComponent","AccessYourSuperReviewComponent","NgSwitch","NgSwitchCase","styles","AccessYourSuperCreateComponent","ComponentBase","constructor","store","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵtextInterpolate","ɵɵpipeBind1","AppToolbarOptionsComponent","TextTransformPipe","AppComponentWrapperComponent","AnimateCssDirective","AccessYourSuperFormComponent","encapsulation","memberPortalState","createFeatureSelector","featureKey","getAccountUnderlyingInvestmentSummaryView","createSelector","state","accountUnderlyingInvestmentSummaryViewState","getAccountUnderlyingInvestmentSummaryView_Model","model","getAccountUnderlyingInvestmentSummaryView_Model_investmentOptions","investmentOptions","getAccountUnderlyingInvestmentSummaryView_SelectedInvestmentOption","selectedInvestmentOption","getAccountUnderlyingInvestmentSummaryView_hasMultipleInvestments","hasMultipleInvestments","getAccountUnderlyingInvestmentSummaryView_noOfInvestments","noOfInvestments","getAccountUnderlyingInvestmentSummaryView_isConsolidatedView","isConsolidatedView","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","currentInvestmentSummary_r1","investmentOptionName","ɵɵpipeBind2","percentAllocated","ɵɵelementContainer","ɵɵtemplate","AccountUnderlyingInvestmentSummaryViewComponent_mat_expansion_panel_4_div_5_ng_container_1_Template","ɵɵproperty","menu_r2","AccountUnderlyingInvestmentSummaryViewComponent_mat_expansion_panel_4_mat_expansion_panel_header_3_Template","AccountUnderlyingInvestmentSummaryViewComponent_mat_expansion_panel_4_div_5_Template","tmp_3_0","ɵɵpipeBind1","ctx_r2","investmentOptions$","length","selectedInvestmentOption$","tmp_5_0","ɵɵtextInterpolate","currentInvestmentSummary_r4","ɵɵelement","ɵɵpropertyInterpolate","getUnitPriceDate","unitPrice","toString","noOfUnits","investmentOptionDetail_r5","amountInvested","AccountUnderlyingInvestmentSummaryViewComponent_div_5_tr_28_td_5_Template","ɵɵpureFunction1","_c4","getInvestmentDetailColor","consolidateByName","investmentOptionDetailName","displayDollarColumn","percentage","AccountUnderlyingInvestmentSummaryViewComponent_div_5_tr_29_td_4_Template","getInvestmentOptionPercentageTotal","AccountUnderlyingInvestmentSummaryViewComponent_div_5_ng_container_5_Template","AccountUnderlyingInvestmentSummaryViewComponent_div_5_nav_8_Template","AccountUnderlyingInvestmentSummaryViewComponent_div_5_app_readonly_19_Template","AccountUnderlyingInvestmentSummaryViewComponent_div_5_app_readonly_20_Template","AccountUnderlyingInvestmentSummaryViewComponent_div_5_tr_28_Template","AccountUnderlyingInvestmentSummaryViewComponent_div_5_tr_29_Template","screenWidth","ɵɵclassMapInterpolate1","tmp_7_0","chartOptions","series","states","chart","labels","responsive","legend","dataLabels","colors","xaxis","yaxis","accounBalance","asAt","setAssetTitle","ɵɵsanitizeHtml","investmentOptionDetails","isConsolidatedView","ɵɵlistener","i_r8","ɵɵrestoreView","_r7","index","ɵɵnextContext","ɵɵresetView","onSelectedOptionChanged","mobileMenu","selectedOption","item_r9","value","getPercentage","key","symmary_r10","_r6","viewConsolidation","AccountUnderlyingInvestmentSummaryViewComponent_ng_template_7_div_0_div_19_Template","AccountUnderlyingInvestmentSummaryViewComponent_ng_template_7_div_0_Template","modelSummary$","AccountUnderlyingInvestmentSummaryViewComponent","ComponentBase","constructor","store","selectedAccount$","pipe","select","memberAccountDropdown_SelectedAccount","getAccountUnderlyingInvestmentSummaryView_SelectedInvestmentOption","hasMultipleInvestments$","getAccountUnderlyingInvestmentSummaryView_hasMultipleInvestments","noOfInvestments$","getAccountUnderlyingInvestmentSummaryView_noOfInvestments","isConsolidatedView$","getAccountUnderlyingInvestmentSummaryView_isConsolidatedView","getAccountUnderlyingInvestmentSummaryView_Model","getAccountUnderlyingInvestmentSummaryView_Model_investmentOptions","FeatureToggleName","member","account","underlyingInvestmentView","tableDollarColumn","view","manageInvestmentsFeatureToggle","manageInvestments","noOfInvestments","hasMultipleInvestments","helper","Helper","titleEvent","EventEmitter","datepipe","DatePipe","drawerOpened","ngOnInit","setTimeout","ngOnInitBase","sub","subscribe","x","dispatch","RequestUnderlyingInvestmentSummaryAction","accountId","setTitle","currentInvestmentSummary","setChartData","__async","expanded","list","getValue","selected","onOptionsSelected","id","summary","model","investmentSummaries","filter","investmentOptionId","getInvestmentOptionDetailColors","defaultColors","environment","underlyingInvestmentsChartColors","forEach","element","defaultColor","o","push","sort","a","b","displayOrder","sortedLabels","map","p","sortedSeries","type","hover","title","text","noData","enabled","formatter","val","opts","style","fontSize","show","toLocaleString","currency","InvestmentOptionChangedAction","viewSplitInvestments","ShowInvestmentOptionsAction","ngOnDestroy","ngOnDestroyBase","concat","emit","assetName","summaryLink","percenatgeTotal","message","formattedDate","transform","ɵɵdirectiveInject","Store","selectors","viewQuery","rf","ctx","AccountUnderlyingInvestmentSummaryViewComponent_p_1_Template","AccountUnderlyingInvestmentSummaryViewComponent_h6_3_Template","AccountUnderlyingInvestmentSummaryViewComponent_mat_expansion_panel_4_Template","AccountUnderlyingInvestmentSummaryViewComponent_div_5_Template","AccountUnderlyingInvestmentSummaryViewComponent_ng_template_7_Template","ɵɵtemplateRefExtractor","NgIf","AsyncPipe","MatExpansionPanel","MatExpansionPanelHeader","MatExpansionPanelTitle","MatExpansionPanelDescription","NgTemplateOutlet","MatDrawerContainer","MatDrawer","MatDrawerContent","ChartComponent","AppReadonlyComponent","CurrencyPipe","DashPipe","NgStyle","NgFor","MatProgressBarModule","MatProgressBar","MatIcon","FeatureToggleDirective","DecimalPipe","styles","UnderlyingInvestmentViewComponent","ComponentBase","constructor","store","translate","title","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","setTitle","event","get","pipe","takeUntil","destroy$","subscribe","x","ɵɵdirectiveInject","Store","TranslateService","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵlistener","$event","ɵɵadvance","ɵɵtextInterpolate1","ɵɵpipeBind1","ɵɵpropertyInterpolate","AccountUnderlyingInvestmentSummaryViewComponent","AppComponentWrapperComponent","AppToolbarOptionsComponent","TextTransformPipe","TranslatePipe","AnimateCssDirective","styles","ɵɵelementContainerStart","ɵɵelement","ɵɵadvance","ɵɵproperty","ctx_r0","toggle","message","ɵɵsanitizeHtml","MaintenancePageComponent","ComponentBase","constructor","store","router","limitedServiceToggles$","pipe","select","commonState_SystemConfig_LimitedServiceToggles","animateContentWrapper","environment","views","loginView","animateWrapper","sub","subscribe","limitedServiceToggles","siteBlackoutToggle","find","o","name","FeatureToggleName","member","maintenance","view","navigate","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","Router","selectors","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵelementEnd","ɵɵtext","ɵɵtemplate","MaintenancePageComponent_ng_container_17_Template","ɵɵpropertyInterpolate","ɵɵpipeBind1","ɵɵsanitizeUrl","AnimateCssDirective","AsyncPipe","TenantConfigPipe","NgIf","styles","BlackoutGuardService","constructor","store","router","limitedServiceToggles$","pipe","select","commonState_SystemConfig_LimitedServiceToggles","canActivate","route","state","skipWhile","val","map","limitedServiceToggles","siteBlackoutToggle","find","o","name","FeatureToggleName","member","maintenance","view","currentDate","Date","startDate","endDate","navigate","ɵɵinject","Store","Router","factory","ɵfac","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ErrorPageComponent","ComponentBase","constructor","store","displayPopupError","animateContentWrapper","environment","views","loginView","animateWrapper","ngOnInit","localStorage","getItem","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","selectors","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelement","ɵɵtemplate","ErrorPageComponent_div_7_Template","ɵɵadvance","ɵɵpropertyInterpolate","ɵɵproperty","ɵɵpureFunction1","_c0","screenWidth","_c1","ɵɵpipeBind1","ɵɵsanitizeUrl","ScreenWidthDirective","AnimateCssDirective","TenantConfigPipe","AsyncPipe","NgClass","NgIf","styles","ErrorPageGuardService","constructor","store","router","siteError$","pipe","select","commonState_SystemConfig_SiteError","canActivate","route","state","skipWhile","val","map","siteError","navigate","ɵɵinject","Store","Router","factory","ɵfac","RequestAction","createAction","props","ResponseAction","ɵɵelementStart","ɵɵtext","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","download","ɵɵelementEnd","ɵɵadvance","ɵɵpropertyInterpolate","ɵɵpipeBind1","ɵɵsanitizeUrl","ɵɵtemplate","TakeMeWithYouViewComponent_div_18_app_component_wrapper_1_Template","TakeMeWithYouViewComponent_div_18_app_component_wrapper_3_Template","ɵɵproperty","ɵɵelement","_r3","copyText","choiceOfFundLetter","ɵɵsanitizeHtml","TakeMeWithYouViewComponent","ComponentBase","constructor","store","router","toastr","message","appstore","selected$","pipe","select","memberAccountDropdown_SelectedAccount","loggedIn$","commomState_LoggedinInfo","data$","commonState_MemberData","displayChoiceOfFundForm","environment","views","takeMeWithYou","ngOnInit","__async","__superGet","ngOnInitBase","sub","subscribe","x","m","transform","replace","memberNumber","firstName","console","log","account","ngOnDestroy","ngOnDestroyBase","dispatch","RequestAction","accountId","html","type","blob","Blob","data","ClipboardItem","navigator","clipboard","write","then","success","ɵɵdirectiveInject","Store","Router","ToastrService","MessagePipe","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","TakeMeWithYouViewComponent_div_18_Template","TakeMeWithYouViewComponent_div_20_Template","tmp_2_0","accountTypeName","AppComponentWrapperComponent","AppToolbarOptionsComponent","TextTransformPipe","TranslatePipe","AnimateCssDirective","NgIf","AsyncPipe","AppButtonComponent","styles","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ctx_r0","videoUrl","ɵɵsanitizeUrl","LoginErrorPageComponent","ComponentBase","constructor","store","sanitizer","msalService","loginViewVideoUrl$","pipe","select","commomState_loginViewVideoUrl","animateContentWrapper","environment","views","loginView","animateWrapper","ngOnInit","ngOnInitBase","localStorage","removeItem","sub","subscribe","x","bypassSecurityTrustResourceUrl","onSubmitClick","logoutRedirect","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","DomSanitizer","MsalService","selectors","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵtemplate","LoginErrorPageComponent_video_4_Template","ɵɵtext","ɵɵlistener","ɵɵpropertyInterpolate","ɵɵpureFunction1","_c0","screenWidth","_c1","ɵɵpipeBind1","ɵɵpropertyInterpolate1","ɵɵtextInterpolate","ScreenWidthDirective","AnimateCssDirective","TenantConfigPipe","NgIf","AsyncPipe","AppButtonComponent","NgClass","styles","MsalCheckService","constructor","router","canActivate","_route","_state","localStorage","getItem","navigate","ɵɵinject","Router","factory","ɵfac","memberPortalState","createFeatureSelector","featureKey","getAccessYourSuperUpdateSubmittedState","createSelector","state","accessYourSuperUpdateSubmittedComponentState","accessYourSuperUpdateSubmitted_CustomData","customData","accessYourSuperUpdateSubmitted_ApplicationData","applicationData","accessYourSuperUpdateSubmitted_ApplicationId","applicationId","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ɵɵpipeBind1","ctx_r1","applicationData$","customData","ɵɵelementContainerStart","isSubmitting$","applicationDocuments","applicationId$","selectedAccount$","accountId","conditionData","customWording","ɵɵtext","ɵɵtemplate","AccessYourSuperUpdateSubmittedComponent_ng_container_0_div_3_Template","AccessYourSuperUpdateSubmittedComponent_ng_container_0_ng_container_4_Template","ɵɵlistener","ɵɵrestoreView","_r1","ɵɵnextContext","ɵɵresetView","leavePage","submit","ɵɵpureFunction2","_c0","screenWidth","ɵɵpureFunction1","_c1","ɵɵpropertyInterpolate","AccessYourSuperUpdateSubmittedComponent","ComponentBase","constructor","store","router","customData$","pipe","select","accessYourSuperUpdateSubmitted_CustomData","accessYourSuperUpdateSubmitted_ApplicationData","accessYourSuperUpdateSubmitted_ApplicationId","memberAccountDropdown_SelectedAccount","commonState_IsSending","applicationUpdated","ngOnInit","__async","__superGet","ngOnInitBase","sub","combineLatest","map","applicationData","applicationId","selectedAccount","subscribe","x","applicationTypeId","AccessYourSuperApplicationTypeEnum","SevereFinancialHardship","dispatch","GetSfhDataAction","TransferToKiwiSaver","GetKiwiSaverDataAction","GetCustomDataAction","navigate","ngOnDestroy","ngOnDestroyBase","ResetComponentStateAction","ɵɵdirectiveInject","Store","Router","selectors","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","AccessYourSuperUpdateSubmittedComponent_ng_container_0_Template","AccessYourSuperUpdateSubmittedComponent_div_1_Template","NgIf","AccessYourSuperReviewDisplayComponent","AccessYourSuperDocumentsComponent","AsyncPipe","NgClass","AppButtonComponent","TranslatePipe","RouterLink","styles","AccessYourSuperReviewSubmittedComponent","ComponentBase","constructor","store","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵtextInterpolate","ɵɵpipeBind1","AppComponentWrapperComponent","AppToolbarOptionsComponent","TextTransformPipe","AnimateCssDirective","AccessYourSuperUpdateSubmittedComponent","encapsulation","memberPortalState","createFeatureSelector","featureKey","noticeOfIntentTaxDeduction","createSelector","state","noticeOfIntentTaxDeductionContainerComponentState","noticeOfIntentTaxDeduction_CurrentStep","currentStep","noticeOfIntentTaxDeduction_Applications","applications","noticeOfIntentTaxDeduction_FormComponentData","formComponentData","noticeOfIntentTaxDeduction_Form","form","noticeOfIntentTaxDeductionForm_ViewTitle","memberPortalState","createFeatureSelector","featureKey","noticeOfIntentTaxDeductionForm","createSelector","state","noticeOfIntentTaxDeductionFormComponentState","noticeOfIntentTaxDeductionForm_Form","form","noticeOfIntentTaxDeductionForm_TaxDeductionClaimTypes","taxDeductionClaimTypes","noticeOfIntentTaxDeductionForm_FinancialYearDropdownOptions","financialYearDropdownOptions","noticeOfIntentTaxDeductionForm_SelectedFinancialYear","financialYear","value","controlId","controls","personalContribution","id","claimType","noticeOfIntentTaxDeductionForm_FinancialYearContributionsAmountId","financialYearContributions","noticeOfIntentTaxDeductionForm_Submitted","submitted","noticeOfIntentTaxDeductionForm_HasWithdrawalPending","hasWithdrawalPending","noticeOfIntentTaxDeductionForm_Disclaimer","disclaimer","NoiPendingWithdrawalDialog","ComponentBase","constructor","store","dialogRef","tenantConfig$","pipe","select","commomState_SystemConfig_Config","tenantCode","popoverText","ngOnInit","ngOnInitBase","sub","subscribe","x","fundCode","toLowerCase","replace","name","ngOnDestroy","ngOnDestroyBase","close","ɵɵdirectiveInject","Store","MatDialogRef","selectors","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵlistener","ɵɵclassMapInterpolate1","ɵɵadvance","ɵɵtextInterpolate","AppButtonComponent","encapsulation","ɵɵelementContainerStart","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ɵɵpureFunction2","_c0","ctx_r1","screenWidth","model","formWording","variantTypeOriginalClaimAmount","form_r3","controls","originalClaimAmount","ɵɵlistener","ɵɵrestoreView","_r4","ɵɵnextContext","$implicit","ɵɵresetView","submit","value","ɵɵpropertyInterpolate","ɵɵpipeBind1","_c4","isInvalid","isSubmitting$","ɵɵtext","_r1","updatePersonalDetails","ɵɵtemplate","NoticeOfIntentTaxDeductionFormComponent_div_1_ng_container_1_ng_container_23_Template","cancel","NoticeOfIntentTaxDeductionFormComponent_div_1_ng_container_1_app_button_42_Template","tfnTooltipText","ɵɵclassMap","deductionType","deductionTypeTooltip","taxDeductionClaimTypes$","claimType","financialYear","financialYearTooltip","financialYearDropdownOptions$","personalContribution","personalContributionTooltip","_c1","newTypeClaimAmount","variantTypeClaimAmount","newTypeClaimAmountTooltip","variantTypeClaimAmountTooltip","claimAmount","withdrawalRequested","withdrawalRequestedTooltip","hasWithdrawalPending","disclaimer$","ɵɵsanitizeHtml","disclaimer","_c2","_c3","elevatedAccess$","_r5","goHome","newTypeSubmissionMessage","variantTypeSubmissionMessage","NoticeOfIntentTaxDeductionFormComponent_div_1_ng_container_1_Template","NoticeOfIntentTaxDeductionFormComponent_div_1_ng_container_3_Template","submitted$","NoticeOfIntentTaxDeductionFormComponent","ComponentBase","data","account","accountId","constructor","store","dialog","router","form$","pipe","select","noticeOfIntentTaxDeductionForm_Form","noticeOfIntentTaxDeductionForm_TaxDeductionClaimTypes","noticeOfIntentTaxDeductionForm_FinancialYearDropdownOptions","selectedFinancialYear$","noticeOfIntentTaxDeductionForm_SelectedFinancialYear","financialYearContributionsAmountId$","noticeOfIntentTaxDeductionForm_FinancialYearContributionsAmountId","noticeOfIntentTaxDeductionForm_Submitted","hasWithdrawalPending$","noticeOfIntentTaxDeductionForm_HasWithdrawalPending","commomState_ElevatedAccess","noticeOfIntentTaxDeductionForm_Disclaimer","commonState_IsSending","currentFinancialYear","previousFinancialYear","noiPendingWithdrawalRef","elevatedAccess","currencyPipe","CurrencyPipe","ngOnInit","ngOnInitBase","sub","subscribe","x","taxDeductionClaimTypes","push","key","financialYearOptions","currentDate","Date","currentYear","getFullYear","currentMonth","getMonth","dispatch","SetTaxDeductionRadioOptionsAction","payload","SetFinancialYearDropdownOptionsAction","SetValueAction","contributions","distinctUntilChanged","y","JSON","stringify","controlId","transform","previousYear","SetDisclaimerAction","variantTypeSubmissionDisclaimer","newTypeSubmissionDisclaimer","replace","open","NoiPendingWithdrawalDialog","width","afterClosed","ngOnDestroy","resetState","ngOnDestroyBase","submission","RequestAction","navigate","ResetFormStateAction","ResetComponentStateAction","ɵɵdirectiveInject","Store","MatDialog","Router","selectors","inputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","NoticeOfIntentTaxDeductionFormComponent_div_1_Template","NgIf","AsyncPipe","MemberViewComponent","AppButtonComponent","NgClass","TranslatePipe","NgrxFormsModule","NgrxFormDirective","NgrxStatusCssClassesDirective","EntryFieldRadioComponent","InputScrollDirective","EntryFieldDropdownComponent","AppReadonlyComponent","NumberEntryFieldComponent","AppRadioDirective","EntryCheckboxFieldComponent","AppButtonDirective","styles","ɵɵelementContainerStart","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","item_r1","financialYear","personalContributionAmount","claimAmount","submittedDate","ɵɵlistener","ɵɵrestoreView","_r2","ctx_r2","ɵɵnextContext","ɵɵresetView","startApplication","ɵɵpropertyInterpolate","ɵɵpipeBind1","ɵɵtemplate","NoticeOfIntentTaxDeductionContainerComponent_ng_container_0_div_1_ng_container_23_Template","NoticeOfIntentTaxDeductionContainerComponent_ng_container_0_div_1_app_button_25_Template","ɵɵclassMapInterpolate1","ɵɵproperty","applications","elevatedAccess$","ɵɵelement","formComponentData_r4","errorMessage","ɵɵsanitizeHtml","_r6","continue","ɵɵpureFunction2","_c2","screenWidth","form_r7","isInvalid","_r5","cancel","NoticeOfIntentTaxDeductionContainerComponent_ng_container_0_ng_container_2_ng_container_2_div_1_app_button_16_Template","formWording","startDisclaimer","ageDisclaimer","controls","disclaimer","_c0","ɵɵclassMap","_c1","NoticeOfIntentTaxDeductionContainerComponent_ng_container_0_ng_container_2_ng_container_2_div_1_Template","currentStep_r8","accountId","NoticeOfIntentTaxDeductionContainerComponent_ng_container_0_ng_container_2_div_1_Template","NoticeOfIntentTaxDeductionContainerComponent_ng_container_0_ng_container_2_ng_container_2_Template","NoticeOfIntentTaxDeductionContainerComponent_ng_container_0_ng_container_2_div_4_Template","form$","NoticeOfIntentTaxDeductionContainerComponent_ng_container_0_div_1_Template","NoticeOfIntentTaxDeductionContainerComponent_ng_container_0_ng_container_2_Template","formComponentData$","NoticeOfIntentTaxDeductionContainerComponent","ComponentBase","constructor","store","appstore","currentStep$","pipe","select","noticeOfIntentTaxDeduction_CurrentStep","applications$","noticeOfIntentTaxDeduction_Applications","selectedAccount$","memberAccountDropdown_SelectedAccount","noticeOfIntentTaxDeduction_FormComponentData","noticeOfIntentTaxDeduction_Form","commomState_ElevatedAccess","elevatedAccess","ngOnInit","ngOnInitBase","sub","combineLatest","subscribe","x","dispatch","RequestAction","ngOnDestroy","ResetComponentStateAction","ngOnDestroyBase","GetFormDataAction","SetCurrentStepAction","currentStep","ɵɵdirectiveInject","Store","selectors","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","NoticeOfIntentTaxDeductionContainerComponent_ng_container_0_Template","NgIf","AsyncPipe","RouterLink","TranslatePipe","NgFor","AppButtonComponent","NgClass","NoticeOfIntentTaxDeductionFormComponent","EntryCheckboxFieldComponent","styles","NoticeOfIntentToClaimTaxDeductionViewComponent","ComponentBase","constructor","store","viewContainerTitle$","pipe","select","noticeOfIntentTaxDeductionForm_ViewTitle","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵtextInterpolate","ɵɵpipeBind1","ɵɵproperty","AppComponentWrapperComponent","AppToolbarOptionsComponent","AnimateCssDirective","TextTransformPipe","AsyncPipe","NoticeOfIntentTaxDeductionContainerComponent","encapsulation","memberPortalState","createFeatureSelector","featureKey","pensionChangePaymentSchedule","createSelector","state","pensionChangePaymentScheduleState","pensionChangePaymentSchedule_Form","form","pensionChangePaymentSchedule_Data","data","pensionChangePaymentSchedule_FilteredPaymentTypes","filteredPaymentTypes","pensionChangePaymentSchedule_FilteredFrequencies","filteredFrequencies","pensionChangePaymentSchedule_IsAcctPension","isAcctPension","pensionChangePaymentSchedule_FormSubmitted","formSubmitted","AccountClassificationEnum","ɵɵelementContainerStart","ɵɵelement","ɵɵadvance","ɵɵproperty","ɵɵpipeBind1","form_r2","value","paymentAmount","data_r3","formWording","paymentAmountTooltip","controls","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵtemplate","PensionChangeScheduleComponent_div_0_ng_container_1_ng_container_1_form_3_ng_container_27_app_entry_number_5_Template","paymentType","ɵɵtextInterpolate1","ctx_r3","getFrequencyText","paymentFrequency","PensionChangeScheduleComponent_div_0_ng_container_1_ng_container_1_form_3_ng_container_26_Template","PensionChangeScheduleComponent_div_0_ng_container_1_ng_container_1_form_3_ng_container_27_Template","PensionChangeScheduleComponent_div_0_ng_container_1_ng_container_1_form_3_p_34_Template","ɵɵlistener","ɵɵrestoreView","_r1","ɵɵnextContext","ɵɵresetView","cancelApplication","submitApplication","annualMaximum","annualMinimum","paymentAmountAlreadyMade","pensionNextPaymentDate","paymentFrequencyTooltip","paymentFrequencies$","paymentTypes$","ɵɵtextInterpolate2","freqMin","freqMax","showMinMaxWarning","ɵɵpropertyInterpolate","submitting$","isInvalid","valuesChanged","PensionChangeScheduleComponent_div_0_ng_container_1_ng_container_1_form_3_Template","form$","dateBasedSubmissionWording","PensionChangeScheduleComponent_div_0_ng_container_1_ng_container_3_p_3_Template","ɵɵtextInterpolate","submissionWording","showDateWarning","PensionChangeScheduleComponent_div_0_ng_container_1_ng_container_1_Template","PensionChangeScheduleComponent_div_0_ng_container_1_ng_container_3_Template","formSubmitted$","_r5","PensionChangeScheduleComponent_div_0_ng_container_1_Template","PensionChangeScheduleComponent_div_0_ng_container_2_Template","pendingRequestExists","PensionChangeScheduleComponent","ComponentBase","constructor","store","router","selectedAccount$","pipe","select","memberAccountDropdown_SelectedAccount","data$","pensionChangePaymentSchedule_Data","pensionChangePaymentSchedule_Form","pensionChangePaymentSchedule_FilteredFrequencies","pensionChangePaymentSchedule_FilteredPaymentTypes","isAcctPension$","pensionChangePaymentSchedule_IsAcctPension","pensionChangePaymentSchedule_FormSubmitted","commonState_IsSending","accountId","helper","Helper","ngOnInit","ngOnInitBase","sub","subscribe","x","dispatch","GetPaymentScheduleRequestAction","isPension","accountClassificationId","AccountClassificationEnum","Pension","combineLatest","map","isAcctPension","data","filteredList","paymentTypes","filter","key","PensionPaymentTypeEnum","Minimum","Nominated","SetFilteredPaymentTypesAction","Maximum","filteredFrequencies","paymentFrequencies","FrequencyEnum","Annually","HalfYearly","Quarterly","Monthly","SetFilteredFrequenciesAction","frequencies","ngOnDestroy","ngOnDestroyBase","ResetFormAction","navigate","__async","formData","getValue","SubmitPaymentScheduleRequestAction","submissionData","paymentFrequencyId","paymentTypeId","currentDate","Date","getFullYear","getMonth","freqId","apiData","currentPensionPaymentTypeId","currentFrequencyId","currentFrequencyAmount","ɵɵdirectiveInject","Store","Router","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","PensionChangeScheduleComponent_div_0_Template","NgIf","AsyncPipe","NgrxFormsModule","NgrxFormDirective","NgrxStatusCssClassesDirective","AppReadonlyComponent","CurrencyPipe","MatIcon","MatTooltip","EntryFieldDropdownComponent","InputScrollDirective","NumberEntryFieldComponent","AnimateCssDirective","AppButtonComponent","TranslatePipe","AppButtonDirective","RouterLink","DatePipe","styles","PensionChangeScheduleViewComponent","ComponentBase","constructor","store","router","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","Router","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵtextInterpolate","ɵɵpipeBind1","AppComponentWrapperComponent","AppToolbarOptionsComponent","TextTransformPipe","PensionChangeScheduleComponent","AnimateCssDirective","encapsulation","memberPortalState","createFeatureSelector","featureKey","pensionChangePaymentScheduleRequests","createSelector","state","pensionChangePaymentScheduleRequestsState","pensionChangePaymentScheduleRequests_Data","data","ɵɵelementContainerStart","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","item_r1","paymentFrequency","paymentType","ɵɵpipeBind1","paymentAmount","submittedOn","caseStatus","ɵɵtemplate","PensionChangeScheduleRequestsComponent_ng_container_1_ng_container_1_table_4_ng_container_15_Template","ɵɵclassMapInterpolate1","ɵɵproperty","data_r2","ɵɵtextInterpolate1","item_r3","PensionChangeScheduleRequestsComponent_ng_container_1_ng_container_1_div_5_ng_container_1_Template","PensionChangeScheduleRequestsComponent_ng_container_1_ng_container_1_table_4_Template","PensionChangeScheduleRequestsComponent_ng_container_1_ng_container_1_div_5_Template","ctx_r3","screenWidth","PensionChangeScheduleRequestsComponent_ng_container_1_ng_container_1_Template","PensionChangeScheduleRequestsComponent_ng_container_1_ng_container_2_Template","length","PensionChangeScheduleRequestsComponent","ComponentBase","constructor","store","router","selectedAccount$","pipe","select","memberAccountDropdown_SelectedAccount","data$","pensionChangePaymentScheduleRequests_Data","ngOnInit","ngOnInitBase","sub","subscribe","x","accountId","dispatch","GetChangePaymentScheduleRequestsRequestAction","ngOnDestroy","ngOnDestroyBase","ResetFormAction","goBack","navigate","ɵɵdirectiveInject","Store","Router","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","PensionChangeScheduleRequestsComponent_ng_container_1_Template","ɵɵlistener","ɵɵpropertyInterpolate","NgIf","AsyncPipe","TranslatePipe","CurrencyPipe","DatePipe","NgFor","AppButtonComponent","styles","PensionChangeScheduleRequestsViewComponent","ComponentBase","constructor","store","router","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","Router","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵtextInterpolate","ɵɵpipeBind1","AppComponentWrapperComponent","AnimateCssDirective","AppToolbarOptionsComponent","TextTransformPipe","PensionChangeScheduleRequestsComponent","encapsulation","investmentPortalState","createFeatureSelector","featureKey","investmentSwitchHistory","createSelector","state","investmentSwitchHistoryState","investmentSwitchHistory_Data","data","investmentSwitchHistory_Filter","filter","investmentSwitchHistory_IsLoading","isLoading","investmentSwitchHistory_SwitchTypes","switchTypes","investmentSwitchHistory_SwitchStatues","switchStatuses","InvestmentSwitchTypeOptionsTypeEnum","ɵɵelementContainerStart","ɵɵtext","ɵɵelementStart","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","option_r1","from","ɵɵtemplate","InvestmentSwitchHistoryCardComponent_div_15_ng_container_4_Template","ɵɵtextInterpolate","option","ɵɵproperty","to","InvestmentSwitchHistoryCardComponent","ComponentBase","details","value","investmentSwitchDetails","accountClass","accountClassification","constructor","store","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","combineOptions","optionsList","map","optionId","percentage","existingOption","find","x","push","length","getSwitchType","type","InvestmentSwitchTypeOptionsTypeEnum","current","AccountClassificationEnum","Accumulation","ɵɵdirectiveInject","Store","selectors","inputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","InvestmentSwitchHistoryCardComponent_div_15_Template","switchType","statusId","switchStatus","ɵɵpipeBind2","requestedDate","options","AnimateCssDirective","NgClass","MatExpansionPanel","MatExpansionPanelHeader","MatExpansionPanelTitle","NgFor","NgIf","MatIcon","DatePipe","styles","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵproperty","menuDate_r3","ɵɵadvance","ɵɵtextInterpolate1","ɵɵpipeBind1","ɵɵpipeBind2","filter_r2","value","from","to","ɵɵlistener","item_r5","ɵɵrestoreView","_r4","$implicit","ctx_r5","ɵɵnextContext","ɵɵresetView","selectTypeFilter","item_r8","_r7","selectStatusFilter","_r9","clearYear","filter_r11","_r10","currentFinancialYear","filter_r13","_r12","previousFinancialYear","$event","i0","_r14","stopPropagation","ɵɵelement","tmp_11_0","filter$","controls","tmp_12_0","ɵɵtemplate","InvestmentSwitchHistoryComponent_div_0_div_4_button_47_Template","InvestmentSwitchHistoryComponent_div_0_div_4_button_51_Template","InvestmentSwitchHistoryComponent_div_0_div_4_button_55_Template","InvestmentSwitchHistoryComponent_div_0_div_4_button_59_Template","InvestmentSwitchHistoryComponent_div_0_div_4_button_61_Template","InvestmentSwitchHistoryComponent_div_0_div_4_button_63_Template","InvestmentSwitchHistoryComponent_div_0_div_4_div_65_Template","_r1","onClearFilterClick","menuType_r17","switchType","menuStatus_r18","switchStatus","filter_r15","filterMenu_r16","switchTypes$","switchStatuses$","tmp_24_0","tmp_25_0","tmp_26_0","tmp_27_0","menuMore_r19","ɵɵelementContainerStart","details_r20","accountClassification","_r21","onLoadMore","InvestmentSwitchHistoryComponent_div_0_div_12_ng_container_1_Template","InvestmentSwitchHistoryComponent_div_0_div_12_div_2_Template","data_r22","switchHistory","currentPage","isLoading$","InvestmentSwitchHistoryComponent_div_0_div_4_Template","InvestmentSwitchHistoryComponent_div_0_app_no_items_6_Template","InvestmentSwitchHistoryComponent_div_0_app_no_items_9_Template","InvestmentSwitchHistoryComponent_div_0_div_12_Template","length","tmp_3_0","tmp_4_0","InvestmentSwitchHistoryComponent","ComponentBase","constructor","store","selectedAccount$","pipe","select","memberAccountDropdown_SelectedAccount","data$","investmentSwitchHistory_Data","investmentSwitchHistory_Filter","investmentSwitchHistory_IsLoading","investmentSwitchHistory_SwitchTypes","investmentSwitchHistory_SwitchStatues","query","InvestmentSwitchHistoryFilter","filter","helper","Helper","ngOnInit","ngOnInitBase","sub","subscribe","x","__async","accountId","formatQuery","isQueryDifferent","dispatch","RequestAction","page","distinctUntilChanged","y","JSON","stringify","accountClassificationId","ngOnDestroy","ResetAction","ngOnDestroyBase","ResetFilterAction","list","push","join","onLoadMoreTransactions","SwitchHistoryIncrementPageAction","dates","getFinancialYear","Date","SwitchHistorySetFromToDateAction","toISOString","today","getFullYear","getMonth","getDay","item","SwitchHistoryChangeSwitchTypeFilterAction","key","SwitchHistoryChangeSwitchStatusFilterAction","ɵɵdirectiveInject","Store","selectors","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","InvestmentSwitchHistoryComponent_div_0_Template","NgIf","AsyncPipe","MatButton","MatMenuTrigger","DashPipe","MatIcon","MatMenu","MatMenuItem","EntryFieldDateComponent","InputDateScrollDirective","AppNoItemsComponent","InvestmentSwitchHistoryCardComponent","AppButtonComponent","NgFor","DatePipe","MessageDirective","styles","InvestmentHistoryViewComponent","ComponentBase","constructor","store","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵtextInterpolate","ɵɵpipeBind1","AppComponentWrapperComponent","AppToolbarOptionsComponent","TextTransformPipe","InvestmentSwitchHistoryComponent","AnimateCssDirective","encapsulation","memberPortalState","createFeatureSelector","featureKey","getStartAPensionFormState","createSelector","state","startAPensionFormComponentState","startAPensionForm_CurrentStep","currentStep","startAPensionForm_ApplicationId","applicationId","startAPensionForm_ApplicationData","applicationData","startAPensionForm_InitialFormData","initialFormData","ɵɵelementStart","ɵɵlistener","$event","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","preventClick","ɵɵelementEnd","ɵɵproperty","step_r3","completed","title","i_r4","nextValidStep","StartAPensionStepper","ComponentBase","stepTitles","value","titles","step","currentStep","constructor","store","cdRef","ngAfterViewInit","stepper","selectedIndex","detectChanges","ngOnDestroy","ngOnDestroyBase","ngOnInit","ngOnInitBase","resetCompletion","index","steps","find","x","stepindex","setSelectedIndex","indexUpdate","length","forEach","i","event","stopPropagation","ɵɵdirectiveInject","Store","ChangeDetectorRef","selectors","viewQuery","rf","ctx","ɵɵtemplate","StartAPensionStepper_mat_step_2_Template","ɵɵadvance","MatStepper","NgFor","MatStep","styles","memberPortalState","createFeatureSelector","featureKey","getStartAPensionAccountDetailsFormState","createSelector","state","startAPensionAccountDetailsFormComponentState","startAPensionAccountDetailsForm_Form","form","startAPensionEligibilityForm_TransferAmounts","transferTypes","startAPensionAccountDetailsForm_CurrentTotalPercent","value","options","reduce","a","b","percentage","ɵɵelementContainerStart","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵtextInterpolate","item_r1","value","investmentOptionName","ɵɵproperty","controls","percentage","ɵɵpureFunction2","_c0","ctx_r1","total","ɵɵtextInterpolate1","ɵɵpipeBind1","ɵɵtemplate","StartAPensionInvestmentOptionsComponent_ng_container_0_table_1_ng_container_8_Template","StartAPensionInvestmentOptionsComponent_ng_container_0_table_1_div_12_Template","isCurrentOptions","formControl","trackByFn","length","item_r3","StartAPensionInvestmentOptionsComponent_ng_container_0_table_2_ng_container_3_Template","StartAPensionInvestmentOptionsComponent_ng_container_0_table_2_div_7_Template","StartAPensionInvestmentOptionsComponent_ng_container_0_table_1_Template","StartAPensionInvestmentOptionsComponent_ng_container_0_table_2_Template","screenWidth","StartAPensionInvestmentOptionsComponent","ComponentBase","form","totalCount","isCurrent","constructor","store","ngOnDestroy","ngOnDestroyBase","ngOnInit","__async","__superGet","ngOnInitBase","index","item","ɵɵdirectiveInject","Store","selectors","hostAttrs","inputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","StartAPensionInvestmentOptionsComponent_ng_container_0_Template","NgIf","NgFor","NumberEntryFieldComponent","InputScrollDirective","NgClass","ConvertNanPipe","styles","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ctx_r1","formData","customWording","fullAmountWarning","ɵɵsanitizeHtml","ɵɵtext","ɵɵelementContainerStart","ɵɵtemplate","StartAPensionAccountDetailsFormComponent_div_3_ng_container_16_p_7_Template","StartAPensionAccountDetailsFormComponent_div_3_ng_container_16_p_8_Template","form_r3","controls","partialAmount","value","accountBalance","StartAPensionAccountDetailsFormComponent_div_3_div_15_Template","StartAPensionAccountDetailsFormComponent_div_3_ng_container_16_Template","ɵɵlistener","ɵɵrestoreView","_r1","ɵɵnextContext","ɵɵresetView","exit","goBack","$implicit","saveAccountDetails","ɵɵtextInterpolate1","accountInfo","ɵɵtextInterpolate","accumulationAccountInfo","transferAmount","partialAmountWarning","transferTypes$","transferType","pensionOptionsQuestion","investmentOptionsTooltip","options","ɵɵpipeBind1","currentTotalPercent$","ɵɵpureFunction2","_c0","screenWidth","ɵɵpureFunction1","_c1","ɵɵpropertyInterpolate","isSubmitting","ɵɵclassMapInterpolate1","_c2","_c3","isInvalid","StartAPensionAccountDetailsFormComponent","ComponentBase","data","account","accountId","application","applicationId","investmentOptions","balance","submitting","constructor","store","router","form$","pipe","select","startAPensionAccountDetailsForm_Form","startAPensionEligibilityForm_TransferAmounts","startAPensionAccountDetailsForm_CurrentTotalPercent","helper","Helper","ngOnInit","ngOnInitBase","dispatch","SetAccountDetailsFormDataAction","sub","subscribe","x","forEach","option","percentage","errors","SetErrorsAction","id","ngOnDestroy","ngOnDestroyBase","ResetComponentStateAction","ResetParentFormStateAction","navigate","SetCurrentStepAction","step","submissionData","__async","SubmitFormAction","submission","currentOptions","filter","ɵɵdirectiveInject","Store","Router","selectors","hostAttrs","inputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","StartAPensionAccountDetailsFormComponent_div_3_Template","NgIf","AsyncPipe","NgrxFormsModule","NgrxFormDirective","NgrxStatusCssClassesDirective","MatIcon","MatTooltip","EntryFieldRadioComponent","InputScrollDirective","NumberEntryFieldComponent","StartAPensionInvestmentOptionsComponent","NgClass","AppButtonComponent","AppButtonDirective","TranslatePipe","styles","memberPortalState","createFeatureSelector","featureKey","getStartAPensionBankDetailsFormState","createSelector","state","startAPensionBankDetailsFormComponentState","startAPensionBankDetailsForm_Form","form","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","form_r2","value","financialInstitutionName","ɵɵtext","ɵɵtemplate","StartAPensionBankDetailsFormComponent_div_3_div_4_Template","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r2","ɵɵnextContext","ɵɵresetView","exit","goBack","$implicit","saveBankDetails","ɵɵtextInterpolate","formData","customWording","bankDetailsInfo","length","bankAccountNameTooltip","controls","bankAccountName","bankAccountBsb","bankAccountNumber","ɵɵpureFunction2","_c0","screenWidth","ɵɵpureFunction1","_c1","ɵɵpropertyInterpolate","ɵɵpipeBind1","isSubmitting","ɵɵclassMapInterpolate1","_c2","_c3","isInvalid","StartAPensionBankDetailsFormComponent","ComponentBase","data","account","accountId","application","applicationId","submitting","constructor","store","router","form$","pipe","select","startAPensionBankDetailsForm_Form","helper","Helper","ngOnInit","ngOnInitBase","dispatch","SetBankDetailsFormDataAction","sub","pairwise","distinctUntilChanged","x","y","debounceTime","subscribe","form","SearchBankNameAction","bsb","ngOnDestroy","ngOnDestroyBase","ResetComponentStateAction","ResetParentFormStateAction","navigate","SetCurrentStepAction","step","submissionData","__async","SubmitFormAction","submission","financialInstituteName","ɵɵdirectiveInject","Store","Router","selectors","hostAttrs","inputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","StartAPensionBankDetailsFormComponent_div_3_Template","NgIf","AsyncPipe","NgrxFormsModule","NgrxFormDirective","NgrxStatusCssClassesDirective","AppReadonlyComponent","MatIcon","MatTooltip","EntryFieldComponent","InputScrollDirective","NgClass","AppButtonComponent","AppButtonDirective","TranslatePipe","styles","memberPortalState","createFeatureSelector","featureKey","getStartAPensionBeneficiaryFormState","createSelector","state","startAPensionBeneficiaryFormComponentState","startAPensionBeneficiaryForm_Form","form","startAPensionBeneficiaryForm_BeneficiaryAdded","value","beneficiaryAdded","startAPensionBeneficiaryForm_RelationshipTypes","relationshipTypes","startAPensionBeneficiaryForm_GenderTypes","genderTypes","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r2","ctx_r2","ɵɵnextContext","ɵɵresetView","addBeneficiary","ɵɵelementEnd","ɵɵclassMap","ɵɵpipeBind1","ɵɵpropertyInterpolate","ɵɵproperty","isSubmitting","_r4","removeBeneficiary","ɵɵelement","formData","memberPostalAddress","fullAddress","ɵɵtext","ɵɵadvance","ɵɵtextInterpolate1","customWording","beneficiaryAddress","form_r5","value","isAddressSame","controls","address","ɵɵtemplate","StartAPensionBeneficiaryFormComponent_div_3_div_8_app_readonly_33_Template","StartAPensionBeneficiaryFormComponent_div_3_div_8_div_34_Template","beneficiaryName","name","beneficiaryDob","dob","beneficiaryRelationship","relationshipTypes$","relationshipId","beneficiaryGender","beneficiaryGenderTooltip","genderTypes$","genderId","beneficiaryAddressIsSame","StartAPensionBeneficiaryFormComponent_div_3_app_button_4_Template","StartAPensionBeneficiaryFormComponent_div_3_app_button_6_Template","StartAPensionBeneficiaryFormComponent_div_3_div_8_Template","_r1","exit","goBack","$implicit","saveBeneficiary","beneficiaryDisclaimer","ɵɵsanitizeHtml","beneficiaryAdded$","ɵɵpureFunction2","_c0","screenWidth","ɵɵpureFunction1","_c1","ɵɵclassMapInterpolate1","_c2","_c3","isInvalid","StartAPensionBeneficiaryFormComponent","ComponentBase","data","account","accountId","application","applicationId","submitting","constructor","store","router","form$","pipe","select","startAPensionBeneficiaryForm_Form","startAPensionBeneficiaryForm_BeneficiaryAdded","startAPensionBeneficiaryForm_RelationshipTypes","startAPensionBeneficiaryForm_GenderTypes","helper","Helper","ngOnInit","ngOnInitBase","dispatch","SetBeneficiaryFormDataAction","ngOnDestroy","ngOnDestroyBase","ResetComponentStateAction","ResetParentFormStateAction","navigate","SetCurrentStepAction","step","AddBeneficiaryAction","RemoveBeneficiaryAction","submissionData","__async","SubmitFormAction","submission","beneficiaryAdded","ɵɵdirectiveInject","Store","Router","selectors","hostAttrs","inputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","StartAPensionBeneficiaryFormComponent_div_3_Template","NgIf","AsyncPipe","NgrxFormsModule","NgrxFormDirective","NgrxStatusCssClassesDirective","AppButtonComponent","TranslatePipe","EntryFieldComponent","InputScrollDirective","EntryFieldDateComponent","InputDateScrollDirective","EntryFieldRadioComponent","MatIcon","MatTooltip","AppRadioDirective","AppReadonlyComponent","EntryFieldAddressAccurityComponent","InputAddressScrollDirective","NgClass","AppButtonDirective","styles","PensionApplicationSupportingDocumentModel","memberPortalState","createFeatureSelector","featureKey","getStartAPensionDocumentFormState","createSelector","state","startAPensionDocumentFormComponentState","startAPensionDocumentsForm_Form","form","startAPensionDocumentsForm_UploadedDocument","uploadedDocument","startAPensionDocumentsForm_DeletedDocument","deletedDocument","startAPensionDocumentsForm_ReplacedDocument","replacedDocument","startAPensionDocumentsForm_FileRequestFailed","fileRequestFailed","startAPensionDocumentsForm_SupportingDocuments","controls","supportingDocuments","startAPensionDocumentsForm_FormValidity","isValid","startAPensionDocumentsForm_Files","files","forEach","overview","index","id","value","isDocumentRequired","ɵɵelement","ɵɵproperty","ctx_r0","formData","customWording","identityInfo","ɵɵsanitizeHtml","ɵɵelementStart","ɵɵlistener","$event","ɵɵrestoreView","_r2","ɵɵnextContext","ɵɵresetView","onVerified","ɵɵelementEnd","accountId","ɵɵtext","ɵɵadvance","ɵɵtextInterpolate2","model","i_r3","isDocumentRequired","documentAmountRequired","ctx_r4","_r4","file_r6","$implicit","j_r7","index","uploadDocument","documentTypeId","value","filename","id","removeFile","extensions","isSubmitting","ɵɵtemplate","StartAPensionDocumentsFormComponent_div_0_div_3_form_9_div_1_span_4_Template","StartAPensionDocumentsFormComponent_div_0_div_3_form_9_div_1_div_7_Template","ɵɵtextInterpolate1","documentName","applicationInDraft","documentDescription","ɵɵpureFunction2","_c0","screenWidth","item_r8","controls","files","trackByFn","StartAPensionDocumentsFormComponent_div_0_div_3_form_9_div_1_Template","form_r9","supportingDocuments","_r10","exit","goBack","goNextStep","_c1","ɵɵpureFunction1","_c2","ɵɵpropertyInterpolate","ɵɵpipeBind1","ɵɵclassMapInterpolate1","_c3","_c4","isInvalid","StartAPensionDocumentsFormComponent_div_0_div_3_p_6_Template","StartAPensionDocumentsFormComponent_div_0_div_3_app_greenid_7_Template","StartAPensionDocumentsFormComponent_div_0_div_3_form_9_Template","StartAPensionDocumentsFormComponent_div_0_div_3_div_10_Template","greenIdVerified","elevatedAccess$","StartAPensionDocumentsFormComponent_div_0_div_3_Template","ɵɵtextInterpolate","title","form$","StartAPensionDocumentsFormComponent","ComponentBase","data","helper","clone","documents","account","application","applicationId","draftApplication","componentTitle","submitting","constructor","store","router","Helper","onDocumentsSaved","EventEmitter","pipe","select","startAPensionDocumentsForm_Form","uploadedDocument$","startAPensionDocumentsForm_UploadedDocument","deletedDocument$","startAPensionDocumentsForm_DeletedDocument","replacedDocument$","startAPensionDocumentsForm_ReplacedDocument","uploadFileFailed$","startAPensionDocumentsForm_FileRequestFailed","supportingDocuments$","startAPensionDocumentsForm_SupportingDocuments","files$","startAPensionDocumentsForm_Files","commomState_ElevatedAccess","elevatedAccess","ngOnInit","__async","__superGet","ngOnInitBase","dispatch","SetDocumentsFormDataAction","length","sort","x","y","forEach","documentOverview","SetupSupportingDocumentOverviewAction","documentAmount","documentList","subscribe","sub","distinctUntilChanged","debounceTime","overviewIndex","docList","uploadedDocument","uploadIndex","originalFileName","SetValueAction","AddNewAppFileAction","push","PensionApplicationSupportingDocumentModel","JSON","stringify","control","isRequired","uploadedFileIndex","findIndex","o","undefined","authority","errors","SetErrorsAction","filesControlId","documentIndex","uploadedDocumentId","fileName","controlId","emit","MarkAsTouchedAction","splice","RemoveAppFileAction","SaveDocumentAction","payload","draft","__spreadProps","__spreadValues","file","customError","ResetFileRequestFailedAction","ngOnDestroy","ngOnDestroyBase","ResetComponentStateAction","ResetParentFormStateAction","navigate","SetCurrentStepAction","step","verified","GreenIdVerifiedAction","SubmitFormAction","item","document","docs","getValue","originalFile","ReplaceDocumentAction","console","log","DeleteDocumentAction","AppFileModel","checkFileUploaded","fileUploaded","ɵɵdirectiveInject","Store","Router","selectors","hostAttrs","inputs","outputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","StartAPensionDocumentsFormComponent_div_0_Template","NgIf","AsyncPipe","AppGreenIdComponent","NgrxFormsModule","NgrxFormDirective","NgrxStatusCssClassesDirective","NgFor","NgClass","FileEntryFieldComponent","AppButtonComponent","TranslatePipe","AppButtonDirective","styles","memberPortalState","createFeatureSelector","featureKey","getStartAPensionEligibilityFormState","createSelector","state","startAPensionEligibilityFormComponentState","startAPensionEligibilityForm_Form","form","startAPensionEligibilityForm_TypesOfAccounts","typeOfAccounts","startAPensionEligibilityForm_Conditions","conditionsOfRelease","startAPensionEligibilityForm_ShowConditionOfReleaseNote","value","sapConditionOfRelease","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵtextInterpolate1","ctx_r2","formData","formWording","citizenQuestion","ɵɵproperty","form_r2","controls","sapAusCitizen","conditions$","sapConditionOfRelease","hasReachedPreservationAge","ttrTooltip","otherReasonText","value","retiredTooltip","terminallyIllOrOther","ɵɵtemplate","StartAPensionEligibilityFormComponent_div_3_div_2_Template","StartAPensionEligibilityFormComponent_div_3_div_9_Template","StartAPensionEligibilityFormComponent_div_3_div_10_Template","StartAPensionEligibilityFormComponent_div_3_div_11_Template","StartAPensionEligibilityFormComponent_div_3_div_12_Template","ɵɵlistener","ɵɵrestoreView","_r1","ɵɵnextContext","ɵɵresetView","exitForm","createApplication","showCitizenQuestion","typeOfAccount","typesOfAccounts$","sapTypeOfAccount","ɵɵpipeBind1","showNote$","ɵɵpureFunction2","_c0","screenWidth","ɵɵpureFunction1","_c1","ɵɵpropertyInterpolate","isSubmitting","_c2","isInvalid","StartAPensionEligibilityFormComponent","ComponentBase","data","store","dispatch","SetEligibilityFormDataAction","account","accountId","submitting","constructor","router","form$","pipe","select","startAPensionEligibilityForm_Form","startAPensionEligibilityForm_TypesOfAccounts","startAPensionEligibilityForm_Conditions","startAPensionEligibilityForm_ShowConditionOfReleaseNote","environment","startAPension","eligibilitySection","helper","Helper","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","ResetComponentStateAction","navigate","__async","getValue","SubmitFormAction","conditionId","submission","length","ɵɵdirectiveInject","Store","Router","selectors","hostAttrs","inputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","StartAPensionEligibilityFormComponent_div_3_Template","NgIf","AsyncPipe","NgrxFormsModule","NgrxFormDirective","NgrxStatusCssClassesDirective","EntryFieldRadioComponent","AppRadioDirective","InputScrollDirective","EntryTextAreaFieldComponent","NgClass","AppButtonComponent","AppButtonDirective","TranslatePipe","styles","memberPortalState","createFeatureSelector","featureKey","getStartAPensionPaymentDetailsFormState","createSelector","state","startAPensionPaymentDetailsFormComponentState","startAPensionPaymentDetailsForm_Form","form","startAPensionEligibilityForm_FrequencyTypes","frequencyTypes","startAPensionEligibilityForm_CommencementOfDateTypes","commencementOfPaymentsOption","startAPensionEligibilityForm_PaymentTypes","paymentTypes","startAPensionPaymentDetailsForm_FutureTotalPercent","value","options","reduce","a","b","percentage","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelementContainerStart","ɵɵelement","ɵɵtemplate","StartAPensionPaymentDetailsFormComponent_div_3_ng_container_18_p_5_Template","StartAPensionPaymentDetailsFormComponent_div_3_ng_container_18_p_6_Template","ɵɵadvance","ɵɵproperty","form_r2","controls","commencementOfDate","ctx_r2","isValidDate","value","isValidDatePeriod","ɵɵtextInterpolate1","ɵɵpipeBind1","annualMax","StartAPensionPaymentDetailsFormComponent_div_3_ng_container_27_p_9_Template","StartAPensionPaymentDetailsFormComponent_div_3_ng_container_27_p_10_Template","formData","customWording","paymentAmountQuestion","nominatedWarning","paymentAmount","StartAPensionPaymentDetailsFormComponent_div_3_ng_container_18_Template","StartAPensionPaymentDetailsFormComponent_div_3_ng_container_27_Template","ɵɵlistener","ɵɵrestoreView","_r1","ɵɵnextContext","ɵɵresetView","exit","goBack","$implicit","savePaymentDetails","paymentFrequencyQuestion","paymentFrequencyTooltip","frequencyTypes$","frequencyType","commencementOfPaymentQuestion","commencementOfPaymentsTooltip","commencementTypes$","commencementOfDateOption","paymentTypeQuestion","paymentTypeWarning","paymentTypes$","paymentType","futurePensionPaymentsQuestion","futurePensionPaymentsWarning","options","futureTotalPercent$","ɵɵpureFunction2","_c0","screenWidth","ɵɵpureFunction1","_c1","ɵɵpropertyInterpolate","isSubmitting","ɵɵclassMapInterpolate1","_c2","_c3","isInvalid","StartAPensionPaymentDetailsFormComponent","ComponentBase","data","account","accountId","application","applicationId","investmentOptions","ttr","isTtr","balance","accountBalance","submitting","constructor","store","router","form$","pipe","select","startAPensionPaymentDetailsForm_Form","startAPensionEligibilityForm_FrequencyTypes","startAPensionEligibilityForm_CommencementOfDateTypes","startAPensionEligibilityForm_PaymentTypes","startAPensionPaymentDetailsForm_FutureTotalPercent","helper","Helper","ngOnInit","ngOnInitBase","dispatch","SetPaymentDetailsFormDataAction","sub","subscribe","x","forEach","option","percentage","errors","SetErrorsAction","id","ngOnDestroy","ngOnDestroyBase","ResetComponentStateAction","ResetParentFormStateAction","navigate","SetCurrentStepAction","step","submissionData","__async","SubmitFormAction","submission","frequencyId","paymentTypeId","commencementOfPayments","futureOptions","filter","dateString","date","Date","isNaN","getTime","currentMonth","getFullYear","getMonth","selectedMonth","ɵɵdirectiveInject","Store","Router","selectors","hostAttrs","inputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","StartAPensionPaymentDetailsFormComponent_div_3_Template","NgIf","AsyncPipe","NgrxFormsModule","NgrxFormDirective","NgrxStatusCssClassesDirective","MatIcon","MatTooltip","EntryFieldRadioComponent","InputScrollDirective","EntryFieldDateMonthYearComponent","InputDateScrollDirective","NumberEntryFieldComponent","CurrencyPipe","StartAPensionInvestmentOptionsComponent","NgClass","AppButtonComponent","TranslatePipe","AppButtonDirective","styles","memberPortalState","createFeatureSelector","featureKey","getStartAPensionReviewState","createSelector","state","startAPensionReviewComponentState","startAPensionReview_Form","form","startAPensionReview_ApplicationSubmitted","applicationSubmitted","ɵɵelementContainerStart","ɵɵelement","ɵɵadvance","ɵɵproperty","ɵɵpipeBind1","ctx_r0","formData","pensionApplicationAccountDetails","savedData","transferAmount","ɵɵelementStart","ɵɵtemplate","StartAPensionReviewDisplayComponent_div_3_ng_container_3_Template","ɵɵelementEnd","customWording","accountInfo","accumulationAccountInfo","transferAmountTypes","transferTypeId","value","option_r2","investmentOptionName","percentage","pensionApplicationPaymentDetails","paymentAmountQuestion","paymentAmount","StartAPensionReviewDisplayComponent_div_12_ng_container_5_Template","paymentFrequencyQuestion","paymentFrequencyTypes","frequencyId","commencementOfPaymentQuestion","paymentCommencementDate","ɵɵpipeBind2","paymentTypeQuestion","paymentTypeTypes","pensionPaymentTypeId","option_r3","pensionApplicationBankDetails","financialInstitutionName","bankAccountName","bankAccountBsb","bankAccountNumber","pensionApplicationBeneficiaryDetails","beneficiaryName","beneficiaryDob","beneficiaryRelationship","relationshipTypes","beneficiaryRelationshipId","beneficiaryGender","genderTypes","genderId","beneficiaryAddress","fullAddress","ɵɵtext","ɵɵtextInterpolate3","overview_r4","documentName","isDocumentRequired","documentAmountRequired","ɵɵtextInterpolate","checkIfDocumentsExist","StartAPensionReviewDisplayComponent_div_31_ng_container_1_Template","pensionApplicationDocumentsDetails","documents","StartAPensionReviewDisplayComponent","ComponentBase","data","constructor","store","ngOnInit","__async","__superGet","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","overview","uploadedDocs","documentList","filter","x","originalFileName","length","documentsUploaded","ɵɵdirectiveInject","Store","selectors","inputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","StartAPensionReviewDisplayComponent_div_3_Template","StartAPensionReviewDisplayComponent_ng_container_8_Template","StartAPensionReviewDisplayComponent_div_12_Template","StartAPensionReviewDisplayComponent_ng_container_17_Template","StartAPensionReviewDisplayComponent_div_21_Template","StartAPensionReviewDisplayComponent_div_26_Template","StartAPensionReviewDisplayComponent_div_27_Template","StartAPensionReviewDisplayComponent_div_31_Template","currentOptions","futureOptions","NgIf","AppReadonlyComponent","NgFor","MatIcon","CurrencyPipe","DatePipe","encapsulation","ɵɵelementStart","ɵɵelement","ɵɵtext","ɵɵelementEnd","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","exit","goBack","submitApplication","ɵɵadvance","ɵɵproperty","formData","form_r3","pensionApplicationReviewDetails","customWording","submissionDisclaimer","ɵɵsanitizeHtml","controls","disclaimer","ɵɵpureFunction2","_c0","screenWidth","ɵɵpureFunction1","_c1","ɵɵpropertyInterpolate","ɵɵpipeBind1","isSubmitting","ɵɵclassMapInterpolate1","_c2","_c3","isInvalid","ɵɵtemplate","StartAPensionReviewComponent_div_0_div_1_div_3_Template","form$","StartAPensionReviewComponent_div_0_div_1_Template","StartAPensionReviewComponent_div_0_div_2_Template","applicationSubmitted","StartAPensionReviewComponent","ComponentBase","data","value","account","accountId","application","applicationId","submitting","constructor","store","router","helper","Helper","onSubmissionSuccesful","EventEmitter","pipe","select","startAPensionReview_Form","applicationSubmitted$","startAPensionReview_ApplicationSubmitted","elevatedAccess$","commomState_ElevatedAccess","elevatedAccess","ngOnInit","__async","__superGet","ngOnInitBase","sub","subscribe","x","emit","ngOnDestroy","ngOnDestroyBase","dispatch","ResetComponentStateAction","ResetParentFormStateAction","navigate","SetCurrentStepAction","step","SubmitApplicationAction","ɵɵdirectiveInject","Store","Router","selectors","inputs","outputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","StartAPensionReviewComponent_div_0_Template","NgIf","AsyncPipe","StartAPensionReviewDisplayComponent","NgrxFormsModule","NgrxFormDirective","NgrxStatusCssClassesDirective","EntryCheckboxFieldComponent","InputScrollDirective","NgClass","AppButtonComponent","TranslatePipe","AppButtonDirective","RouterLink","styles","ɵɵelementContainerStart","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","exit","ɵɵadvance","ɵɵtextInterpolate1","initialFormData_r3","errorMessage","ɵɵpropertyInterpolate","ɵɵpipeBind1","ɵɵelement","_r4","nextStep","ɵɵproperty","formWording","initialDisclaimer","ɵɵsanitizeHtml","ɵɵpureFunction2","_c0","screenWidth","_c1","_c2","submitting","accountId","ɵɵtemplate","StartAPensionFormComponent_ng_container_2_ng_container_2_ng_container_1_Template","StartAPensionFormComponent_ng_container_2_ng_container_2_app_start_a_pension_eligibility_2_Template","StartAPensionFormComponent_ng_container_2_ng_container_1_Template","StartAPensionFormComponent_ng_container_2_ng_container_2_Template","stepperData","currentStep","onStepperSelectionChange","data_r6","StartAPensionFormComponent_ng_container_4_ng_container_2_div_3_li_2_Template","validationErrorList","StartAPensionFormComponent_ng_container_4_ng_container_2_div_3_Template","_r5","updatePersonalDetails","nextStepMemberDetails","length","ɵɵpureFunction1","_c3","ɵɵclassMapInterpolate1","applicationId","applicationData_r7","pensionInvestmentOptions","pensionApplicationAccountDetails","pensionApplicationBaseDetails","accountBalance","savedData","currentOptions","pensionApplicationPaymentDetails","isTtrApplication","pensionApplicationBankDetails","pensionApplicationBeneficiaryDetails","$event","_r8","onDocumentsSaved","pensionApplicationDocumentsDetails","_r9","onSubmissionSuccesful","StartAPensionFormComponent_ng_container_4_div_1_Template","StartAPensionFormComponent_ng_container_4_ng_container_2_Template","StartAPensionFormComponent_ng_container_4_ng_container_3_Template","StartAPensionFormComponent_ng_container_4_ng_container_4_Template","StartAPensionFormComponent_ng_container_4_ng_container_5_Template","StartAPensionFormComponent_ng_container_4_ng_container_6_Template","StartAPensionFormComponent_ng_container_4_ng_container_7_Template","StartAPensionFormComponent_ng_container_4_ng_container_8_Template","showStepper","StartAPensionFormComponent","ComponentBase","constructor","store","translate","router","currentStep$","pipe","select","startAPensionForm_CurrentStep","applicationData$","startAPensionForm_ApplicationData","applicationId$","startAPensionForm_ApplicationId","initialFormData$","startAPensionForm_InitialFormData","accountDropdown$","memberAccountDropdown_SelectedAccount","memberViewModel$","commonState_MemberData","isSubmitting$","commonState_IsSending","helper","Helper","ngOnInit","ngOnInitBase","sub","subscribe","x","combineLatest","distinctUntilChanged","y","navigate","dispatch","GetInitialFormDataRequestAction","JSON","stringify","ApplicationDataRequestAction","push","title","completed","stepIndex","__async","myStepper","setSelectedIndex","residentialAddress","fullAddress","count","fieldsMissing","firstName","lastName","dateOfBirth","get","msg","join","toString","ngOnDestroy","ResetParentFormStateAction","ngOnDestroyBase","back","SetCurrentStepAction","step","appData","getValue","IncrementCurrentStepWithApiRequestAction","titles","event","selectedIndex","payload","SetApplicationDocumentsAction","documents","ɵɵdirectiveInject","Store","TranslateService","Router","selectors","viewQuery","rf","ctx","StartAPensionStepper","StartAPensionFormComponent_ng_container_2_Template","StartAPensionFormComponent_ng_container_4_Template","NgSwitch","NgIf","AsyncPipe","AppButtonComponent","NgSwitchCase","NgClass","TranslatePipe","StartAPensionEligibilityFormComponent","NgFor","MemberViewComponent","AppButtonDirective","StartAPensionAccountDetailsFormComponent","StartAPensionPaymentDetailsFormComponent","StartAPensionBankDetailsFormComponent","StartAPensionBeneficiaryFormComponent","StartAPensionDocumentsFormComponent","StartAPensionReviewComponent","styles","StartAPensionCreateComponent","ComponentBase","constructor","store","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵtextInterpolate","ɵɵpipeBind1","AppComponentWrapperComponent","AppToolbarOptionsComponent","TextTransformPipe","StartAPensionFormComponent","AnimateCssDirective","encapsulation","PensionApplicationConditionEnum","memberPortalState","createFeatureSelector","featureKey","getStartAPensionStartState","createSelector","state","startAPensionStartComponentState","startAPensionStart_Model","model","startAPensionStart_Filter","filter","startAPensionStart_ProcessStarted","processStarted","startAPensionStart_UpdatingSubmitted","updatingSubmitted","startAPensionStart_CanCreateNewApp","ttrDraftExists","draftApplications","find","x","conditionId","PensionApplicationConditionEnum","Ttr","rpDraftExists","memberPortalState","createFeatureSelector","featureKey","getStartAPensionUpdateSubmittedState","createSelector","state","startAPensionUpdateSubmittedComponentState","startAPensionUpdateSubmitted_ApplicationData","applicationData","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ɵɵpipeBind2","item_r1","createdOn","cancelledOn","submittedOn","caseStatus","ɵɵlistener","ɵɵrestoreView","_r2","ɵɵnextContext","$implicit","ctx_r2","ɵɵresetView","continueApplication","pensionApplicationId","$event","cancelApplication","ɵɵpropertyInterpolate","ɵɵpipeBind1","ɵɵproperty","isSubmitting$","cancelDialogText","_r4","updateSubmittedApp","ɵɵtemplate","StartAPensionStartComponent_div_0_div_5_ng_container_13_td_9_app_button_2_Template","caseStatusId","_r5","_r6","StartAPensionStartComponent_div_0_div_5_ng_container_13_tr_11_td_1_Template","ɵɵelementContainerStart","StartAPensionStartComponent_div_0_div_5_ng_container_13_td_4_Template","StartAPensionStartComponent_div_0_div_5_ng_container_13_td_5_Template","StartAPensionStartComponent_div_0_div_5_ng_container_13_td_6_Template","StartAPensionStartComponent_div_0_div_5_ng_container_13_td_7_Template","StartAPensionStartComponent_div_0_div_5_ng_container_13_td_8_Template","StartAPensionStartComponent_div_0_div_5_ng_container_13_td_9_Template","StartAPensionStartComponent_div_0_div_5_ng_container_13_tr_10_Template","StartAPensionStartComponent_div_0_div_5_ng_container_13_tr_11_Template","ɵɵtextInterpolate","typeOfAccount","filter_r7","value","activeOptionButton","screenWidth","StartAPensionStartComponent_div_0_div_5_th_7_Template","StartAPensionStartComponent_div_0_div_5_th_8_Template","StartAPensionStartComponent_div_0_div_5_th_9_Template","StartAPensionStartComponent_div_0_div_5_th_10_Template","StartAPensionStartComponent_div_0_div_5_th_11_Template","StartAPensionStartComponent_div_0_div_5_ng_container_13_Template","ɵɵclassMapInterpolate1","currentList","item_r8","_r9","_r10","StartAPensionStartComponent_div_0_div_6_div_1_h5_3_Template","StartAPensionStartComponent_div_0_div_6_div_1_h5_4_Template","StartAPensionStartComponent_div_0_div_6_div_1_h5_5_Template","StartAPensionStartComponent_div_0_div_6_div_1_h5_6_Template","StartAPensionStartComponent_div_0_div_6_div_1_div_7_Template","StartAPensionStartComponent_div_0_div_6_div_1_app_button_8_Template","StartAPensionStartComponent_div_0_div_6_div_1_Template","_r11","createNewApplication","StartAPensionStartComponent_div_0_ng_container_7_div_1_Template","canCreateNewApp$","ɵɵelement","StartAPensionStartComponent_div_0_p_3_Template","StartAPensionStartComponent_div_0_p_4_Template","StartAPensionStartComponent_div_0_div_5_Template","StartAPensionStartComponent_div_0_div_6_Template","StartAPensionStartComponent_div_0_ng_container_7_Template","controls","model$","StartAPensionStartComponent","ComponentBase","constructor","store","router","pipe","select","startAPensionStart_Model","filter$","startAPensionStart_Filter","accountDropdown$","memberAccountDropdown_SelectedAccount","startAPensionStart_CanCreateNewApp","formApplicationData$","startAPensionForm_ApplicationData","processStarted$","startAPensionStart_ProcessStarted","updatingSubmittedApplicationData$","startAPensionUpdateSubmitted_ApplicationData","updatingSubmitted$","startAPensionStart_UpdatingSubmitted","commonState_IsSending","applicationId","ngOnInit","ngOnInitBase","sub","distinctUntilChanged","x","y","accountId","subscribe","dispatch","RequestAction","combineLatest","map","filter","model","draftApplications","submittedApplications","cancelledApplications","navigate","ngOnDestroy","ngOnDestroyBase","ResetComponentStateAction","ProcessStartedAction","SetCurrentStepAction","step","__async","ContinueApplicationRequestAction","event","CancelApplicationAction","UpdateSubmittedApplicationRequestAction","ɵɵdirectiveInject","Store","Router","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","StartAPensionStartComponent_div_0_Template","NgIf","AsyncPipe","AppButtonToggleComponent","TranslatePipe","NgFor","DatePipe","AppButtonComponent","AppRadioDirective","styles","StartAPensionViewComponent","ComponentBase","constructor","store","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵtextInterpolate","ɵɵpipeBind1","AppComponentWrapperComponent","AppToolbarOptionsComponent","TextTransformPipe","StartAPensionStartComponent","AnimateCssDirective","encapsulation","ɵɵelementContainerStart","ɵɵelement","ɵɵadvance","ɵɵproperty","ɵɵpipeBind1","ctx_r2","isSubmitting$","applicationData_r2","pensionApplicationBaseDetails","pensionApplicationId","selectedAccount$","accountId","pensionApplicationDocumentsDetails","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵtemplate","StartAPensionUpdateSubmittedComponent_ng_container_0_ng_container_6_Template","ɵɵlistener","ɵɵrestoreView","_r1","ɵɵnextContext","ɵɵresetView","leavePage","submit","applicationData$","ɵɵpureFunction2","_c0","screenWidth","ɵɵpureFunction1","_c1","ɵɵpropertyInterpolate","StartAPensionUpdateSubmittedComponent","ComponentBase","constructor","store","router","pipe","select","startAPensionUpdateSubmitted_ApplicationData","memberAccountDropdown_SelectedAccount","commonState_IsSending","applicationUpdated","ngOnInit","__async","__superGet","ngOnInitBase","sub","combineLatest","map","applicationData","subscribe","x","navigate","ngOnDestroy","dispatch","ResetParentFormStateAction","ResetComponentStateAction","ngOnDestroyBase","ɵɵdirectiveInject","Store","Router","selectors","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","StartAPensionUpdateSubmittedComponent_ng_container_0_Template","StartAPensionUpdateSubmittedComponent_div_2_Template","NgIf","AsyncPipe","StartAPensionDocumentsFormComponent","StartAPensionReviewDisplayComponent","NgClass","AppButtonComponent","TranslatePipe","RouterLink","styles","StartAPensionUpdateSubmittedViewComponent","ComponentBase","constructor","store","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵtextInterpolate","ɵɵpipeBind1","AppComponentWrapperComponent","AppToolbarOptionsComponent","TextTransformPipe","AnimateCssDirective","StartAPensionUpdateSubmittedComponent","encapsulation","ɵɵelementContainerStart","ɵɵelement","ɵɵadvance","ɵɵpropertyInterpolate2","item_r2","value","description","ɵɵpipeBind1","amount","ɵɵproperty","controls","checkbox","ɵɵelementStart","ɵɵtemplate","InsuranceUpdateComponent_div_0_ng_container_1_ng_container_1_ng_container_1_ng_container_2_Template","ɵɵelementEnd","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r2","ɵɵnextContext","ɵɵresetView","exitForm","initialForm_r4","$implicit","reduceCover","insuranceItems","cancelCover","ɵɵpureFunction2","_c0","screenWidth","ɵɵpureFunction1","_c1","ɵɵpropertyInterpolate","_c2","insuranceNotSelected","InsuranceUpdateComponent_div_0_ng_container_1_ng_container_1_ng_container_1_Template","initialForm$","ɵɵtext","ɵɵtextInterpolate","cover_r6","coverType","newAmount","InsuranceUpdateComponent_div_0_ng_container_1_ng_container_4_div_1_ng_container_1_div_4_div_4_Template","ɵɵtextInterpolate2","insurance_r7","covers","trackByFn","InsuranceUpdateComponent_div_0_ng_container_1_ng_container_4_div_1_ng_container_1_div_4_Template","_r5","cancelReducingInsurance","reduceForm_r8","submitInsuranceToReduce","insurance","submitting$","isInvalid","InsuranceUpdateComponent_div_0_ng_container_1_ng_container_4_div_1_ng_container_1_Template","reduceForm$","InsuranceUpdateComponent_div_0_ng_container_1_ng_container_4_div_1_Template","insuranceToReduce$","cover_r10","InsuranceUpdateComponent_div_0_ng_container_1_ng_container_6_div_1_ng_container_1_div_4_ng_container_5_div_1_Template","insurance_r11","InsuranceUpdateComponent_div_0_ng_container_1_ng_container_6_div_1_ng_container_1_div_4_mat_icon_4_Template","InsuranceUpdateComponent_div_0_ng_container_1_ng_container_6_div_1_ng_container_1_div_4_ng_container_5_Template","code","InsuranceUpdateComponent_div_0_ng_container_1_ng_container_6_div_1_ng_container_1_div_4_Template","_r9","cancelCancellingInsurance","cancelForm_r12","submitInsuranceToCancel","InsuranceUpdateComponent_div_0_ng_container_1_ng_container_6_div_1_ng_container_1_Template","cancelForm$","InsuranceUpdateComponent_div_0_ng_container_1_ng_container_6_div_1_Template","insuranceToCancel$","InsuranceUpdateComponent_div_0_ng_container_1_ng_container_1_Template","InsuranceUpdateComponent_div_0_ng_container_1_ng_container_4_Template","InsuranceUpdateComponent_div_0_ng_container_1_ng_container_6_Template","length","ɵɵtextInterpolate1","InsuranceUpdateComponent_div_0_ng_container_1_Template","InsuranceUpdateComponent_div_0_div_3_Template","submitted$","InsuranceUpdateComponent","ComponentBase","constructor","store","appstore","router","model$","pipe","select","insuranceUpdate_Model","insuranceUpdate_InitialForm","insuranceUpdate_ReduceForm","reduceFormKeyProps$","insuranceUpdate_ReduceFormKeyProps","cancelFormKeyProps$","insuranceUpdate_CancelFormKeyProps","insuranceUpdate_CancelForm","insuranceUpdate_Submitted","selectedAccount$","memberAccountDropdown_SelectedAccount","insuranceUpdate_InsuranceToReduce","insuranceUpdate_InsuranceToCancel","commonState_IsSending","helper","Helper","ngOnInit","ngOnInitBase","sub","subscribe","x","navigate","distinctUntilChanged","y","JSON","stringify","forEach","insuranceType","deathToggle","tpdToggle","deathCheckboxId","tpdCheckboxId","coverTypes","cover","checkboxId","toggled","dispatch","SetErrorsAction","customError","originalTotal","newDeathAmount","newTpdAmount","deathId","tpdId","deathErrors","tpdErrors","newAmountId","controlid","ngOnDestroy","ngOnDestroyBase","ResetStateAction","form","every","__async","insuranceData","getValue","selectedIds","filter","map","insuranceId","insuranceToCancel","insurances","findIndex","id","SetInsuranceDetailsToCancelAction","insuranceToReduce","SetInsuranceDetailsToReduceAction","submission","originalAmount","details","insuranceCoverTypeDetailId","account","SubmitInsuranceToCancelAction","accountId","SubmitInsuranceToReduceAction","index","item","ɵɵdirectiveInject","Store","Router","selectors","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","InsuranceUpdateComponent_div_0_Template","NgIf","AsyncPipe","NgrxFormsModule","NgrxFormDirective","NgrxStatusCssClassesDirective","NgFor","EntryCheckboxFieldComponent","InputScrollDirective","NgClass","AppButtonComponent","TranslatePipe","CurrencyPipe","NumberEntryFieldComponent","AppButtonDirective","MatIcon","MatTooltip","RouterLink","styles","InsuranceUpdateViewComponent","ComponentBase","constructor","store","router","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","Router","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵtextInterpolate","ɵɵpipeBind1","AppComponentWrapperComponent","AppToolbarOptionsComponent","TextTransformPipe","InsuranceUpdateComponent","AnimateCssDirective","encapsulation","memberPortalState","createFeatureSelector","featureKey","insuranceUpdateHistory","createSelector","state","insuranceUpdateHistoryComponentState","insuranceUpdateHistory_Model","model","insuranceUpdateHistory_Filter","filter","insuranceUpdateHistory_IsLoading","isLoading","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate2","coverTypeDetail_r1","insuranceCoverTypeDetail","amount","ɵɵpipeBind1","ɵɵtemplate","InsuranceUpdateHistoryCardComponent_div_14_div_3_Template","ɵɵtextInterpolate","detail_r2","coverType","ɵɵproperty","details","InsuranceUpdateHistoryCardComponent","ComponentBase","value","insuranceUpdateDetails","constructor","store","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","getChangeType","coverTypes","every","detail","inner","ɵɵdirectiveInject","Store","selectors","inputs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","InsuranceUpdateHistoryCardComponent_div_14_Template","statusId","ɵɵtextInterpolate1","caseStatus","ɵɵpipeBind2","submittedOn","AnimateCssDirective","NgClass","MatExpansionPanel","MatExpansionPanelHeader","MatExpansionPanelTitle","NgFor","CurrencyPipe","DatePipe","styles","ɵɵelementContainerStart","ɵɵelement","ɵɵadvance","ɵɵproperty","item_r2","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r3","ctx_r3","ɵɵnextContext","ɵɵresetView","onLoadMore","ɵɵelementEnd","ɵɵtext","ɵɵtemplate","InsuranceUpdateHistoryComponent_div_0_div_1_ng_container_4_Template","InsuranceUpdateHistoryComponent_div_0_div_1_div_5_Template","data_r5","ɵɵpipeBind1","filter$","value","currentPage","isLoading$","InsuranceUpdateHistoryComponent_div_0_div_1_Template","InsuranceUpdateHistoryComponent_div_0_ng_container_2_Template","_r1","goBack","length","ɵɵpropertyInterpolate","InsuranceUpdateHistoryComponent","ComponentBase","constructor","store","appstore","router","selectedAccount$","pipe","select","memberAccountDropdown_SelectedAccount","model$","insuranceUpdateHistory_Model","insuranceUpdateHistory_Filter","insuranceUpdateHistory_IsLoading","query","InsuranceUpdateHistoryFilter","accountId","ngOnInit","ngOnInitBase","sub","distinctUntilChanged","x","y","JSON","stringify","subscribe","dispatch","RequestAction","page","__async","isQueryDifferent","filter","ngOnDestroy","ngOnDestroyBase","ResetStateAction","navigate","IncrementPageAction","ɵɵdirectiveInject","Store","Router","selectors","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","InsuranceUpdateHistoryComponent_div_0_Template","NgIf","AsyncPipe","NgFor","InsuranceUpdateHistoryCardComponent","AppButtonComponent","AppNoItemsComponent","TranslatePipe","MessageDirective","styles","InsuranceUpdateHistoryViewComponent","ComponentBase","constructor","store","router","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","ɵɵdirectiveInject","Store","Router","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵtextInterpolate","ɵɵpipeBind1","AppComponentWrapperComponent","AppToolbarOptionsComponent","TextTransformPipe","InsuranceUpdateHistoryComponent","AnimateCssDirective","encapsulation","routes","path","loadChildren","then","m","VerveRoutingModule","CIRTRoutingModule","SMRTRoutingModule","component","MsalRedirectComponent","GetTenantNotLoggedInLayout","layout","canActivate","MsalGuard","AccountDataGuardService","children","outlet","MaintenancePageComponent","ErrorPageGuardService","ErrorPageComponent","ElevatedAccessComponent","MsalCheckService","LoginErrorPageComponent","BlackoutGuardService","GetTenantMainLayout","mainLayout","ChangePasswordComponent","GetTenantDashboard","TransactionsComponent","AccountFeatureToggleGuardService","data","flag","FeatureToggleName","member","personalDetails","view","PersonalDetailsComponent","update","PersonalEditComponent","account","beneficiaries","BeneficiaryEditComponent","BeneficiaryViewComponent","environment","takeMeWithYouUrl","takeMeWithYou","TakeMeWithYouViewComponent","transactions","TransactionListViewComponent","ShowQuestionnaireGuardService","insuranceQuestionnaire","QuestionnaireViewComponent","insuranceDetails","InsuranceViewComponent","insuranceChangeRequest","InsuranceUpdateViewComponent","InsuranceUpdateHistoryViewComponent","rollIn","RollInViewComponent","contributionCapLimits","ContributionsViewComponent","personalContribution","PersonalContributionViewComponent","makeAContribution","MakeContributionViewComponent","underlyingInvestmentView","AssetsViewComponent","unitPriceListing","UnitPricesComponent","viewStatements","MemberStatementsViewComponent","otherDocuments","OtherDocumentsViewComponent","pensionDetails","PensionViewComponent","changePensionSchedule","PensionChangeScheduleViewComponent","PensionChangeScheduleRequestsViewComponent","superCalculator","CalculatorViewComponent","manageInvestments","InvestmentEditViewComponent","InvestmentHistoryViewComponent","underlyingInvestment","underlyingInvestmentSummary","UnderlyingInvestmentViewComponent","accessYourSuper","AccessYourSuperViewComponent","AccessYourSuperCreateComponent","AccessYourSuperReviewSubmittedComponent","intentToClaimTaxDeduction","NoticeOfIntentToClaimTaxDeductionViewComponent","startAPension","StartAPensionViewComponent","StartAPensionCreateComponent","StartAPensionUpdateSubmittedViewComponent","redirectTo","AppRoutingModule","RouterModule","forRoot","anchorScrolling","AreYouStillThereDialog","ComponentBase","constructor","store","authService","dialogRef","tenantConfig$","pipe","select","commomState_SystemConfig_Config","tenantCode","ngOnInit","ngOnInitBase","sub","subscribe","x","fundCode","toLowerCase","ngOnDestroy","ngOnDestroyBase","stillThere","close","logout","ɵɵdirectiveInject","Store","MsalService","MatDialogRef","selectors","hostAttrs","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵlistener","ɵɵclassMapInterpolate1","AppButtonComponent","styles","memberPortalState","createFeatureSelector","featureKey","getChatView","createSelector","state","chatViewState","getChat_Model","model","getChat_IsChatOpened","isChatOpened","getChat_Form","form","getChat_LastUpdated","lastUpdated","getChat_ChatLoaded","loaded","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","ɵɵpipeBind2","ctx_r1","newDate","ɵɵtemplate","ChatViewComponent_ul_13_li_1_mat_icon_2_Template","ChatViewComponent_ul_13_li_1_mat_icon_3_Template","ChatViewComponent_ul_13_li_1_mat_icon_8_Template","ɵɵelement","ɵɵclassMapInterpolate1","item_r3","isMemberMessage","ɵɵproperty","ɵɵtextInterpolate1","author","date","body","ɵɵsanitizeHtml","ChatViewComponent_ul_13_li_1_Template","ChatViewComponent_ul_13_li_3_Template","ChatViewComponent_ul_13_li_4_Template","tmp_3_0","ɵɵpipeBind1","model$","conversationHistory","conversationStatus","isWaitingAgent","outOfHours","ɵɵlistener","form_r5","ɵɵrestoreView","_r4","$implicit","ɵɵnextContext","ɵɵresetView","onSubmitClick","value","controls","message","ChatViewComponent_div_16_form_1_Template","form$","_r6","onStartNewChatClick","ChatViewComponent","ComponentBase","constructor","store","appStore","pipe","select","getChat_Model","isChatOpened$","getChat_IsChatOpened","selectedAccount$","memberAccountDropdown_SelectedAccount","loggedinInfo$","commomState_LoggedinInfo","lastUpdated$","getChat_LastUpdated","chatLoaded$","getChat_ChatLoaded","getChat_Form","control","createFormControlState","helper","Helper","conversation","client","memberNumber","channelSid","init","Date","isTyping","unreadMessages","users","Map","ngOnInit","__async","__superGet","ngOnInitBase","dispatch","ChatLoadedAction","RequestAction","sub","subscribe","x","state","current","setAllMessagesRead","setTimeout","messages","nativeElement","scrollTo","left","top","scrollHeight","behavior","environment","code","setupConversation","twilioToken","twilioChannel","model","getValue","Twilio","Conversations","Client","on","z","peekConversationBySid","unread","getUnreadMessagesCount","isChatOpened","countP","getParticipants","length","updateReasons","typingStarted","data","messageAdded","error","dd","participants","_participants","size","checkUser","get","attributes","autoreply","RequestDeleteChatAction","u","getUser","set","friendlyName","m","toLowerCase","dateCreated","toString","AddMessageAction","payload","ngOnDestroy","ngOnDestroyBase","onEntryButtonClick","isOpened","chat","classList","remove","add","ToggleChatAction","text","sendMessage","ClearChatFormAction","e","df","RequestNewChatAction","ɵɵdirectiveInject","Store","selectors","viewQuery","rf","ctx","ChatViewComponent_ul_11_Template","ChatViewComponent_ul_13_Template","ChatViewComponent_div_15_Template","ChatViewComponent_div_16_Template","ChatViewComponent_div_17_Template","i0","_r1","ChatViewComponent_mat_icon_19_Template","ChatViewComponent_mat_icon_21_Template","tmp_4_0","ɵɵpropertyInterpolate","NgIf","AsyncPipe","MatIcon","DatePipe","NgFor","NgrxFormsModule","NgrxFormDirective","NgrxStatusCssClassesDirective","FormsModule","ɵNgNoValidate","NgControlStatusGroup","NgForm","ReactiveFormsModule","EntryTextAreaFieldComponent","InputScrollDirective","AppButtonComponent","MatMiniFabButton","MatBadge","styles","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","onCloseClick","ɵɵtext","ɵɵelementEnd","ElevatedAccessBannerComponent","ComponentBase","constructor","store","router","displayClose","inIframe","window","self","top","ngOnInit","ngOnInitBase","ngOnDestroy","ngOnDestroyBase","close","ɵɵdirectiveInject","Store","Router","selectors","features","ɵɵInheritDefinitionFeature","decls","vars","consts","template","rf","ctx","ɵɵtemplate","ElevatedAccessBannerComponent_mat_icon_5_Template","ɵɵadvance","ɵɵproperty","NgIf","MatIcon","styles","ɵɵelement","ɵɵclassMapInterpolate1","ctx_r0","code","AppComponent","constructor","msalGuardConfig","authService","msalBroadcastService","store","doc","translate","sanitizer","tenantService","router","overlayContainer","dialog","idle","title","featuretoggle$","pipe","select","commomState_SystemConfig_FeatureToggle","updateTraditionalPlaceName","FeatureToggleName","member","personalDetails","addressTraditionalPlaceName","update","selectedAccount$","memberAccountDropdown_SelectedAccount","favIcon","document","querySelector","tenantConfig$","commomState_SystemConfig_Config","loggedinInfo$","commomState_LoggedinInfo","resetChat","showChat","environment","accountFeatureToggles$","commonState_SystemConfig_AccountFeatureToggles","siteError$","commonState_SystemConfig_SiteError","isElevatedAccess$","commomState_ElevatedAccess","hasError","_destroying$","Subject","featureToggleHelper","FeatureToggleHelper","helper","Helper","redirectToDashboard","showQuestionnaireFeatureToggle","account","insuranceQuestionnaire","view","twilioChatFeatureToggle","twilioChat","areYouStillThereRef","twilioConversationsLoaded","toggleCheck","inject","FeatureToggleCheckService","addLangs","setDefaultLang","use","getContainerElement","classList","add","dynamicCSSUrl","onActivate","event","setTimeout","window","scroll","top","left","behavior","displayMessage","evt","data","action","sessionStorage","clear","localStorage","openAreYouStillThere","open","AreYouStillThereDialog","width","afterClosed","subscribe","ngOnInit","__async","addEventListener","takeUntil","x","dispatch","RequestMemberDataAction","combineLatest","distinctUntilChanged","prev","curr","accountId","removeItem","featureToggles","getValue","checkToggle","ShowQuestionnaireRequestAction","show","toggle","username","loadScript","setIdle","watch","href","tenantEmail","email","tenantPhone","phoneNumber","SystemConfigurationRequestAction","uiComponentConfig","AppInjector","get","UserServiceConfig","enabled","showAddressTraditionalPlaceName","navigate","setupGoogleTagManager","msalSubject$","filter","msg","eventType","EventType","LOGIN_FAILURE","ACQUIRE_TOKEN_FAILURE","result","error","errorCode","setItem","alert","logout","location","reload","message","indexOf","SetSiteError","HANDLE_REDIRECT_END","LOGIN_SUCCESS","ACQUIRE_TOKEN_SUCCESS","msalResult","payload","role","idTokenClaims","extension_Role","SetIsFundElevatedAccessAction","isElevated","SetIsAdviserElevatedAccessAction","getItem","LOGOUT_SUCCESS","ResetSelectedAccountDataAction","setInterrupts","DEFAULT_INTERRUPTSOURCES","onInterrupt","onIdleStart","onTimeout","instance","getActiveAccount","ngOnDestroy","next","undefined","complete","ga","events","e","NavigationEnd","gtag","page_path","urlAfterRedirects","script","createElement","async","src","head","prepend","s","type","innerHTML","getElementsByTagName","appendChild","ɵɵdirectiveInject","MSAL_GUARD_CONFIG","MsalService","MsalBroadcastService","Store","DOCUMENT","TranslateService","DomSanitizer","TenantService","Router","OverlayContainer","MatDialog","Idle","selectors","decls","vars","consts","template","rf","ctx","ɵɵtemplate","AppComponent_app_elevated_access_banner_0_Template","ɵɵelementStart","ɵɵlistener","$event","ɵɵelementEnd","AppComponent_app_chat_view_3_Template","ɵɵproperty","ɵɵpipeBind1","ɵɵadvance","NgIf","ElevatedAccessBannerComponent","RouterOutlet","ChatViewComponent","AsyncPipe","encapsulation","AccumGuardService","constructor","store","router","selectedAccount$","pipe","select","memberAccountDropdown_SelectedAccount","canActivate","route","state","Observable","obs","subscribe","account","isPensionType","next","ɵɵinject","Store","Router","factory","ɵfac","FeatureFlagGuardService","constructor","store","router","featuretoggle$","pipe","select","commomState_SystemConfig_FeatureToggle","canActivate","route","state","Observable","obs","featureflag","data","flag","subscribe","hasOwnProperty","next","dispatch","SystemConfigurationRequestAction","ɵɵinject","Store","Router","factory","ɵfac","MemberFeatureToggleGuardService","constructor","store","router","featuretoggle$","pipe","select","commonState_SystemConfig_AccountFeatureToggles","selectedAccount$","memberAccountDropdown_SelectedAccount","canActivate","route","state","featureFlag","data","flag","combineLatest","debounceTime","distinctUntilChanged","x","y","JSON","stringify","skipWhile","map","globalFlag","find","level","FeatureToggleLevel","global","name","value","FeatureToggleValue","available","navigate","ɵɵinject","Store","Router","factory","ɵfac","PensionGuardService","constructor","store","router","selectedAccount$","pipe","select","memberAccountDropdown_SelectedAccount","canActivate","route","state","Observable","obs","subscribe","account","accountTypeId","next","ɵɵinject","Store","Router","factory","ɵfac","PermissionGuardService","constructor","store","router","canActivate","route","state","role","data","permission","Observable","obs","ɵɵinject","Store","Router","factory","ɵfac","CostOfCoverService","BaseService","constructor","http","toastr","store","getCostOfCovers","get","environment","apiUrl","headers","ɵɵinject","HttpClient","ToastrService","Store","factory","ɵfac","FeatureToggleService","BaseService","constructor","http","toastr","store","getAccountFeatureToggles","accountId","get","environment","apiUrl","headers","ɵɵinject","HttpClient","ToastrService","Store","factory","ɵfac","HelperService","BaseService","constructor","http","toastr","store","systemConfiguration","get","environment","apiUrl","headers","ɵɵinject","HttpClient","ToastrService","Store","factory","ɵfac","CoreApiHelper","constructor","urls","checkUrl","url","urlFragments","split","endOfUrl","slice","pop","includes","HttpCustomInterceptor","constructor","store","toastr","authService","route","router","requests","coreApiHelper","CoreApiHelper","isLoading","isFetching","isSending","showError","errors","forEach","element","error","removeRequest","req","filter","x","method","url","hasValue","length","setTimeout","dispatch","IsFetchingAction","payload","IsSendingAction","IsLoadingAction","intercept","request","next","endsWith","startsWith","environment","apiUrl","exist","push","handle","pipe","tap","event","finalize","catchError","caught","message","result","checkUrl","SetSiteError","throwError","ɵɵinject","Store","ToastrService","MsalService","ActivatedRoute","Router","factory","ɵfac","MemberCorrespondenceService","BaseService","constructor","http","toastr","store","getMemberCorrespondece","memberId","page","params","HttpParams","set","toString","get","environment","apiUrl","headers","getMemberCorrespondeceFile","correspondenceSource","correspondenceId","ɵɵinject","HttpClient","ToastrService","Store","factory","ɵfac","MemberNoteTypeService","BaseService","constructor","http","toastr","store","getMemberNoteTypes","get","environment","apiUrl","headers","ɵɵinject","HttpClient","ToastrService","Store","factory","ɵfac","RolesService","BaseService","constructor","http","toastr","store","get","search","params","HttpParams","set","environment","apiUrl","headers","getById","roleId","ɵɵinject","HttpClient","ToastrService","Store","factory","ɵfac","TakeMeWithYouService","BaseService","constructor","http","toastr","store","getChoiceOfFund","accountId","params","HttpParams","set","toString","get","environment","apiUrl","headers","ɵɵinject","HttpClient","ToastrService","Store","factory","ɵfac","commonState","isLoading","isFetching","isSending","screenWidth","window","innerWidth","menuList","systemConfig","loggedInModel","siteError","loginViewVideoUrl","member","accountDataRetrieved","reducerList","createReducer","on","ResponseMemberDataAction","state","payload","__spreadProps","__spreadValues","IsLoadingAction","ChangeScreenWidthAction","SetLoginVideoUrlAction","url","SetMenuAction","data","SystemConfigurationResponseAction","IsLoggedInResponseAction","isAdviserElevated","isFundElevated","SetIsFundElevatedAccessAction","isElevated","SetIsAdviserElevatedAccessAction","AccountFeatureTogglesResponseAction","limitedServiceToggles","filter","o","message","startDate","endDate","accountIdFeatureToggles","accountId","accountFeatureToggles","SetSiteError","error","IsFetchingAction","IsSendingAction","AccountDataRetrievedAction","commonReducer","action","ChangePasswordModel","constructor","newPassword","confirmPassword","changePasswordFormName","changePasswordState","form","createFormGroupState","ChangePasswordModel","validateChangePasswordForm","updateGroup","newPassword","validate","required","confirmPassword","value","myForm","setErrors","passwordDoesNotMatch","actual","reducer","createReducer","onNgrxForms","onNgrxFormsAction","SetValueAction","state","action","on","SubmitCompletedAction","__spreadValues","changePasswordReducerFormState","wrapReducerWithFormStateUpdate","s","changePasswordReducer","takeMeWithYouState","reducer","createReducer","onNgrxForms","onNgrxFormsAction","SetValueAction","state","action","takeMeWithYouReducer","reducers","commonState","commonReducer","changePasswordState","changePasswordReducer","takeMeWithYouState","takeMeWithYouReducer","CommonEffects","constructor","store","actions$","userService","service","memberService","featureToggleService","getData$","createEffect","pipe","ofType","RequestMemberDataAction","switchMap","action","getView","map","data","ResponseMemberDataAction","payload","catchError","err","EMPTY","getSystemConfig$","SystemConfigurationRequestAction","systemConfiguration","SystemConfigurationResponseAction","isLoggedIn$","IsLoggedInRequestAction","isLoggedIn","IsLoggedInResponseAction","getAccountFeatureToggles$","AccountFeatureTogglesRequestAction","getAccountFeatureToggles","accountId","AccountFeatureTogglesResponseAction","ɵɵinject","Store","Actions","WebUserService","HelperService","MembersService","FeatureToggleService","factory","ɵfac","clearState","reducer","state","action","type","LogoutRequestAction","undefined","TranslateHttpLoader","constructor","httpHandler","prefix","suffix","getTranslation","lang","httpRequest","HttpRequest","handle","pipe","filter","httpEvent","HttpResponse","map","httpResponse","body","translateLoaderFactory","TRANSLATE_MODULE_CONFIG","loader","provide","TranslateLoader","useFactory","deps","HttpBackend","ChangePasswordEffects","constructor","store","actions$","toastr","router","service","submit$","createEffect","pipe","ofType","SubmitAction","switchMap","action","changepassword","payload","map","data","navigate","showOk","message","SubmitCompletedAction","catchError","err","EMPTY","ɵɵinject","Store","Actions","ToastrService","Router","WebUserService","factory","ɵfac","TakeMeWithYouEffects","constructor","store","actions$","takeMeWithYouService","getChoiceOfFund$","createEffect","pipe","ofType","RequestAction","switchMap","action","getChoiceOfFund","accountId","map","response","source","data","contentType","fileContents","link","document","createElement","href","download","fileDownloadName","click","ResponseAction","payload","catchError","err","EMPTY","ɵɵinject","Store","Actions","TakeMeWithYouService","factory","ɵfac","environment","production","enableProdMode","metaReducers","clearState","Bugsnag","start","apiKey","bugsnagApiKey","releaseStage","bugsnagEnv","enabledReleaseStages","onError","event","addMetadata","tenant","code","AppInjector","createTranslateLoader","http","TranslateHttpLoader","errorHandlerFactory","BugsnagErrorHandler","elevatedAccessPortalName","isElevatedAccess","window","location","href","toLowerCase","indexOf","MSALInstanceFactory","PublicClientApplication","msalElevatedConfig","msalAdviserElevatedConfig","msalConfig","initializeApp","msalService","store","__async","instance","initialize","then","enableAccountStorageEvents","accounts","getAllAccounts","length","setActiveAccount","dispatch","ResetSelectedAccountDataAction","catch","error","Promise","reject","MSALInterceptorConfigFactory","protectedResourceMap","Map","set","protectedResources","apiEndpoint","endpoint","replace","httpMethod","scopes","read","write","interactionType","InteractionType","Popup","Redirect","MSALGuardConfigFactory","authRequest","loginRequest","disableAnimations","document","documentElement","navigator","test","userAgent","myImports","CommonModule","HammerModule","FormsModule","BrowserAnimationsModule","withConfig","PdfJsViewerModule","RecaptchaV3Module","IfaaUiComponentsModule","forRoot","entryAppearance","showEntryPlaceholder","showButtonIcon","apiUrl","entryFileAttachedIcon","entryFileDefaultIcon","buttonTitleTextTransform","titleTextTransform","greenIdConfig","greenIdEnv","greenIdCode","iconVerified","greenIdVerifiedIcon","iconNotVerified","greenIdNotVerifiedIcon","tenantCode","MemberPortalSharedModule","ToastrModule","timeOut","positionClass","preventDuplicates","MaterialModule","AppRoutingModule","TranslateModule","TRANSLATE_MODULE_CONFIG","StoreModule","reducers","StoreDevtoolsModule","instrument","maxAge","logOnly","ReactiveFormsModule","NgrxFormsModule","EffectsModule","CommonEffects","ChangePasswordEffects","TakeMeWithYouEffects","NgIdleModule","GetTenantModule","getModule","bootstrapApplication","AppComponent","providers","importProvidersFrom","FeatureToggleCheckService","CurrencyPipe","DatePipe","MessagePipe","MembersService","EmploymentService","PensionGuardService","MsalCheckService","AccumGuardService","ShowQuestionnaireGuardService","FeatureFlagGuardService","AccountDataGuardService","AccountFeatureToggleGuardService","MemberFeatureToggleGuardService","BlackoutGuardService","ErrorPageGuardService","FeatureToggleService","AccountsService","HelperService","RolesService","PermissionGuardService","InsuranceService","BeneficiaryService","BPAYDetailsService","RollInService","TransactionService","TakeMeWithYouService","InvestmentService","MemberCorrespondenceService","UnderlyingInvestmentService","WebUserService","CostOfCoverService","MemberNoteTypeService","HistoricalDataService","SwitchInvestmentsService","InsuranceQuestionnaireService","MemberPensionService","UnitPriceService","DocumentsService","PersonalContributionService","NotificationService","CommonService","AccessYourSuperService","ChatService","NoticeOfIntentTaxDeductionService","StartAPensionService","provide","HTTP_INTERCEPTORS","useClass","HttpCustomInterceptor","multi","MsalInterceptor","MSAL_INSTANCE","useFactory","provideAppInitializer","inject","MsalService","Store","MSAL_GUARD_CONFIG","MSAL_INTERCEPTOR_CONFIG","MsalGuard","MsalBroadcastService","ErrorHandler","RECAPTCHA_V3_SITE_KEY","useValue","recaptchaApi"],"x_google_ignoreList":[0,1,2,3,5,6,7,8,9,11,21,22,23,24,25]}