@acorex/modules 21.0.0-next.51 → 21.0.0-next.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ai-management/README.md +1 -0
- package/fesm2022/{acorex-modules-ai-management-assist.entity-513RdKsz.mjs → acorex-modules-ai-management-assist.entity-CnyoIO-Z.mjs} +24 -16
- package/fesm2022/acorex-modules-ai-management-assist.entity-CnyoIO-Z.mjs.map +1 -0
- package/fesm2022/acorex-modules-ai-management.mjs +374 -35
- package/fesm2022/acorex-modules-ai-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-assessment-management-acorex-modules-assessment-management-BD5oxehv.mjs → acorex-modules-assessment-management-acorex-modules-assessment-management-DcPnI9fZ.mjs} +69 -505
- package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-DcPnI9fZ.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-assessment-case.entity-BWj2PB39.mjs → acorex-modules-assessment-management-assessment-case.entity-D880d_qz.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-assessment-case.entity-BWj2PB39.mjs.map → acorex-modules-assessment-management-assessment-case.entity-D880d_qz.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-BQnYnNOz.mjs → acorex-modules-assessment-management-assessment-session.entity-DvbocIN1.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-BQnYnNOz.mjs.map → acorex-modules-assessment-management-assessment-session.entity-DvbocIN1.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-BiS7QO_E.mjs → acorex-modules-assessment-management-fill-assessment-session.command-BMJ54EPO.mjs} +59 -85
- package/fesm2022/acorex-modules-assessment-management-fill-assessment-session.command-BMJ54EPO.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-index-BXw0Lf5c.mjs → acorex-modules-assessment-management-index-XdJCIYG3.mjs} +4 -4
- package/fesm2022/{acorex-modules-assessment-management-index-BXw0Lf5c.mjs.map → acorex-modules-assessment-management-index-XdJCIYG3.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-preview-question.command-Bm1v6ngB.mjs → acorex-modules-assessment-management-preview-question.command-CO8NfjEb.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-preview-question.command-Bm1v6ngB.mjs.map → acorex-modules-assessment-management-preview-question.command-CO8NfjEb.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-Dja4PbGz.mjs → acorex-modules-assessment-management-preview-questionnaire.command-DSzbtU0e.mjs} +8 -8
- package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-Dja4PbGz.mjs.map → acorex-modules-assessment-management-preview-questionnaire.command-DSzbtU0e.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-BbkWs23A.mjs → acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-DbvxAUgb.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-BbkWs23A.mjs.map → acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-DbvxAUgb.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-X8s42nZH.mjs → acorex-modules-assessment-management-question-bank-item.entity-DBfQhSKR.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-X8s42nZH.mjs.map → acorex-modules-assessment-management-question-bank-item.entity-DBfQhSKR.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-calculation.entity-d8HUAvWp.mjs → acorex-modules-assessment-management-questionnaire-calculation.entity-CL9s20qR.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-calculation.entity-d8HUAvWp.mjs.map → acorex-modules-assessment-management-questionnaire-calculation.entity-CL9s20qR.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer-popup.component-YUDOSypz.mjs → acorex-modules-assessment-management-questionnaire-viewer-popup.component-CH_cJlSf.mjs} +205 -11
- package/fesm2022/acorex-modules-assessment-management-questionnaire-viewer-popup.component-CH_cJlSf.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-q3Z4VIiA.mjs → acorex-modules-assessment-management-questionnaire.entity-CrryBMC2.mjs} +40 -3
- package/fesm2022/acorex-modules-assessment-management-questionnaire.entity-CrryBMC2.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-save-questionnaire-questions.command-4OLYEn35.mjs → acorex-modules-assessment-management-save-questionnaire-questions.command-Dq5VComh.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-save-questionnaire-questions.command-4OLYEn35.mjs.map → acorex-modules-assessment-management-save-questionnaire-questions.command-Dq5VComh.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-DWEd-ZM_.mjs → acorex-modules-assessment-management-view-session-answers.command-DpppXekm.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-DWEd-ZM_.mjs.map → acorex-modules-assessment-management-view-session-answers.command-DpppXekm.mjs.map} +1 -1
- package/fesm2022/acorex-modules-assessment-management.mjs +1 -1
- package/fesm2022/{acorex-modules-asset-management-acorex-modules-asset-management-B1mg2dIR.mjs → acorex-modules-asset-management-acorex-modules-asset-management-BtcY1UQy.mjs} +8 -8
- package/fesm2022/{acorex-modules-asset-management-acorex-modules-asset-management-B1mg2dIR.mjs.map → acorex-modules-asset-management-acorex-modules-asset-management-BtcY1UQy.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-system-assignment.entity-lL1FBlzA.mjs → acorex-modules-asset-management-asset-system-assignment.entity-pKZoxsjk.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-system-assignment.entity-lL1FBlzA.mjs.map → acorex-modules-asset-management-asset-system-assignment.entity-pKZoxsjk.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-system-type.entity-DFHVqE7a.mjs → acorex-modules-asset-management-asset-system-type.entity-CXz2G5v1.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-system-type.entity-DFHVqE7a.mjs.map → acorex-modules-asset-management-asset-system-type.entity-CXz2G5v1.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-system.entity-DlpOp7Xj.mjs → acorex-modules-asset-management-asset-system.entity-C3zf6WVD.mjs} +13 -14
- package/fesm2022/acorex-modules-asset-management-asset-system.entity-C3zf6WVD.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-asset-type-section-component.entity-CIkXc51V.mjs → acorex-modules-asset-management-asset-type-section-component.entity-DTaeNNBW.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-type-section-component.entity-CIkXc51V.mjs.map → acorex-modules-asset-management-asset-type-section-component.entity-DTaeNNBW.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-type-section.entity-Ctxh5hGa.mjs → acorex-modules-asset-management-asset-type-section.entity-Bes5h7aJ.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-type-section.entity-Ctxh5hGa.mjs.map → acorex-modules-asset-management-asset-type-section.entity-Bes5h7aJ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-type.entity-CN6K0Uw3.mjs → acorex-modules-asset-management-asset-type.entity-Ch8h0sph.mjs} +21 -22
- package/fesm2022/acorex-modules-asset-management-asset-type.entity-Ch8h0sph.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-asset.entity-2XZut6JS.mjs → acorex-modules-asset-management-asset.entity-DJ-A6lx1.mjs} +26 -26
- package/fesm2022/acorex-modules-asset-management-asset.entity-DJ-A6lx1.mjs.map +1 -0
- package/fesm2022/acorex-modules-asset-management.mjs +1 -1
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-CGiDe3e-.mjs → acorex-modules-auth-acorex-modules-auth-NPUjHz-F.mjs} +13 -13
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-CGiDe3e-.mjs.map → acorex-modules-auth-acorex-modules-auth-NPUjHz-F.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-app-chooser.component-Dt_2eXel.mjs → acorex-modules-auth-app-chooser.component-h61xNtRT.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-app-chooser.component-Dt_2eXel.mjs.map → acorex-modules-auth-app-chooser.component-h61xNtRT.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-login.module-Bl8pAhHc.mjs → acorex-modules-auth-login.module-DF5AHqYe.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-login.module-Bl8pAhHc.mjs.map → acorex-modules-auth-login.module-DF5AHqYe.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-master.layout-B8GSev0J.mjs → acorex-modules-auth-master.layout-00ZTMhc3.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-master.layout-B8GSev0J.mjs.map → acorex-modules-auth-master.layout-00ZTMhc3.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-oauth-callback.component-DleQ24IP.mjs → acorex-modules-auth-oauth-callback.component-Ce5Fw8Qd.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-oauth-callback.component-DleQ24IP.mjs.map → acorex-modules-auth-oauth-callback.component-Ce5Fw8Qd.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-D6ALMoO4.mjs → acorex-modules-auth-password.component-CU0AY-Ia.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-D6ALMoO4.mjs.map → acorex-modules-auth-password.component-CU0AY-Ia.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-C1GbARlM.mjs → acorex-modules-auth-password.component-DQYCm8wg.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-C1GbARlM.mjs.map → acorex-modules-auth-password.component-DQYCm8wg.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-routes-FDp1SEZA.mjs → acorex-modules-auth-routes-CM4fRaWb.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-FDp1SEZA.mjs.map → acorex-modules-auth-routes-CM4fRaWb.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-settings.provider-CN7Lb38l.mjs → acorex-modules-auth-settings.provider-C_3D-9ia.mjs} +2 -2
- package/fesm2022/acorex-modules-auth-settings.provider-C_3D-9ia.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-o55sauLG.mjs → acorex-modules-auth-tenant-chooser.component-BBztdcvq.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-o55sauLG.mjs.map → acorex-modules-auth-tenant-chooser.component-BBztdcvq.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor.module-CVrYPw5D.mjs → acorex-modules-auth-two-factor.module-C9AafF86.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-two-factor.module-CVrYPw5D.mjs.map → acorex-modules-auth-two-factor.module-C9AafF86.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-user-sessions.component-BVglZAnc.mjs → acorex-modules-auth-user-sessions.component-Qw2sgsEe.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-user-sessions.component-BVglZAnc.mjs.map → acorex-modules-auth-user-sessions.component-Qw2sgsEe.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth.mjs +1 -1
- package/fesm2022/acorex-modules-common.mjs +8 -5
- package/fesm2022/acorex-modules-common.mjs.map +1 -1
- package/fesm2022/{acorex-modules-conversation-acorex-modules-conversation-ny5TQlkp.mjs → acorex-modules-conversation-acorex-modules-conversation-Bnjyq-wp.mjs} +1010 -164
- package/fesm2022/acorex-modules-conversation-acorex-modules-conversation-Bnjyq-wp.mjs.map +1 -0
- package/fesm2022/{acorex-modules-conversation-assist-delegated-agent-detail-popup.component-7O6som8z.mjs → acorex-modules-conversation-assist-delegated-agent-detail-popup.component-Df5LmYZI.mjs} +7 -6
- package/fesm2022/acorex-modules-conversation-assist-delegated-agent-detail-popup.component-Df5LmYZI.mjs.map +1 -0
- package/fesm2022/{acorex-modules-conversation-comments-page.component-Dm7U0ndQ.mjs → acorex-modules-conversation-comments-page.component-BXI4smIr.mjs} +2 -2
- package/fesm2022/{acorex-modules-conversation-comments-page.component-Dm7U0ndQ.mjs.map → acorex-modules-conversation-comments-page.component-BXI4smIr.mjs.map} +1 -1
- package/fesm2022/acorex-modules-conversation-send-assist-chat-message.command-B5qJnpCK.mjs +90 -0
- package/fesm2022/acorex-modules-conversation-send-assist-chat-message.command-B5qJnpCK.mjs.map +1 -0
- package/fesm2022/{acorex-modules-conversation-start-assist-chat.command-BLYoudtN.mjs → acorex-modules-conversation-start-assist-chat.command-DI3LAaDF.mjs} +2 -2
- package/fesm2022/{acorex-modules-conversation-start-assist-chat.command-BLYoudtN.mjs.map → acorex-modules-conversation-start-assist-chat.command-DI3LAaDF.mjs.map} +1 -1
- package/fesm2022/acorex-modules-conversation.mjs +1 -1
- package/fesm2022/acorex-modules-data-management.mjs +5 -3
- package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-BxQxZBca.mjs → acorex-modules-document-management-drive-choose.component-DyJoXajP.mjs} +4 -4
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-BxQxZBca.mjs.map → acorex-modules-document-management-drive-choose.component-DyJoXajP.mjs.map} +1 -1
- package/fesm2022/acorex-modules-document-management.mjs +98 -24
- package/fesm2022/acorex-modules-document-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-form-template-management.mjs +53 -61
- package/fesm2022/acorex-modules-form-template-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-acorex-modules-human-capital-management-B37ZqEql.mjs → acorex-modules-human-capital-management-acorex-modules-human-capital-management-XhV2JQXs.mjs} +23 -21
- package/fesm2022/acorex-modules-human-capital-management-acorex-modules-human-capital-management-XhV2JQXs.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-approve-leave-request.command-Bf8iPUE-.mjs → acorex-modules-human-capital-management-approve-leave-request.command-Cre30Kp7.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-approve-leave-request.command-Bf8iPUE-.mjs.map → acorex-modules-human-capital-management-approve-leave-request.command-Cre30Kp7.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-assign-position-assignment.command-DqX9OAq4.mjs → acorex-modules-human-capital-management-assign-position-assignment.command-NYgddiaD.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-assign-position-assignment.command-DqX9OAq4.mjs.map → acorex-modules-human-capital-management-assign-position-assignment.command-NYgddiaD.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-cancel-leave-request.command-DQG0Al0X.mjs → acorex-modules-human-capital-management-cancel-leave-request.command-DPh-KQgN.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-cancel-leave-request.command-DQG0Al0X.mjs.map → acorex-modules-human-capital-management-cancel-leave-request.command-DPh-KQgN.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-employee-lifecycle-process.entity-DSsgKG8S.mjs → acorex-modules-human-capital-management-employee-lifecycle-process.entity-LX68KORg.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-employee-lifecycle-process.entity-DSsgKG8S.mjs.map → acorex-modules-human-capital-management-employee-lifecycle-process.entity-LX68KORg.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-employee.entity-C8PaZEDs.mjs → acorex-modules-human-capital-management-employee.entity-znCbbQUd.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-employee.entity-C8PaZEDs.mjs.map → acorex-modules-human-capital-management-employee.entity-znCbbQUd.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-DhqHdESk.mjs → acorex-modules-human-capital-management-employment-type.entity-DUNB3zAB.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-DhqHdESk.mjs.map → acorex-modules-human-capital-management-employment-type.entity-DUNB3zAB.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-CPdV6kiR.mjs → acorex-modules-human-capital-management-leave-request.entity-JyFrrCGE.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-CPdV6kiR.mjs.map → acorex-modules-human-capital-management-leave-request.entity-JyFrrCGE.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-D3iarVMG.mjs → acorex-modules-human-capital-management-leave-type.entity-B61MiEPu.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-D3iarVMG.mjs.map → acorex-modules-human-capital-management-leave-type.entity-B61MiEPu.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-lifecycle-process-type.entity-EazvPSR6.mjs → acorex-modules-human-capital-management-lifecycle-process-type.entity-DJqo2kTG.mjs} +9 -11
- package/fesm2022/acorex-modules-human-capital-management-lifecycle-process-type.entity-DJqo2kTG.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-position-assignment.entity-mROyAoz-.mjs → acorex-modules-human-capital-management-position-assignment.entity-CKCC6bKg.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-position-assignment.entity-mROyAoz-.mjs.map → acorex-modules-human-capital-management-position-assignment.entity-CKCC6bKg.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-reject-leave-request.command-Bq7OtST6.mjs → acorex-modules-human-capital-management-reject-leave-request.command-Blv08UQZ.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-reject-leave-request.command-Bq7OtST6.mjs.map → acorex-modules-human-capital-management-reject-leave-request.command-Blv08UQZ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-revoke-position-assignment.command-BpklMLve.mjs → acorex-modules-human-capital-management-revoke-position-assignment.command-lgEAbxYH.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-revoke-position-assignment.command-BpklMLve.mjs.map → acorex-modules-human-capital-management-revoke-position-assignment.command-lgEAbxYH.mjs.map} +1 -1
- package/fesm2022/acorex-modules-human-capital-management.mjs +1 -1
- package/fesm2022/acorex-modules-locale-management.mjs +1 -1
- package/fesm2022/acorex-modules-locale-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-acorex-modules-maintenance-management-coPYjl8-.mjs → acorex-modules-maintenance-management-acorex-modules-maintenance-management-DiM2aFgg.mjs} +304 -206
- package/fesm2022/acorex-modules-maintenance-management-acorex-modules-maintenance-management-DiM2aFgg.mjs.map +1 -0
- package/fesm2022/{acorex-modules-maintenance-management-failure-effect.entity-BdnnavfB.mjs → acorex-modules-maintenance-management-failure-effect.entity-BCMeHmxS.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-effect.entity-BdnnavfB.mjs.map → acorex-modules-maintenance-management-failure-effect.entity-BCMeHmxS.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-asset-type.entity-tlcqWco6.mjs → acorex-modules-maintenance-management-failure-mode-asset-type.entity-ByBoVQ8D.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-asset-type.entity-tlcqWco6.mjs.map → acorex-modules-maintenance-management-failure-mode-asset-type.entity-ByBoVQ8D.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-mechanism.entity-DivWl32L.mjs → acorex-modules-maintenance-management-failure-mode-mechanism.entity-BJs4KhkU.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-mechanism.entity-DivWl32L.mjs.map → acorex-modules-maintenance-management-failure-mode-mechanism.entity-BJs4KhkU.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-solution.entity-9FiLeySZ.mjs → acorex-modules-maintenance-management-failure-mode-solution.entity-rw24sQxb.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-solution.entity-9FiLeySZ.mjs.map → acorex-modules-maintenance-management-failure-mode-solution.entity-rw24sQxb.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-cause.entity-3cq1KeYM.mjs → acorex-modules-maintenance-management-failure-register-cause.entity-C_6sjW8z.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-cause.entity-3cq1KeYM.mjs.map → acorex-modules-maintenance-management-failure-register-cause.entity-C_6sjW8z.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-effect.entity-CaVb6rDn.mjs → acorex-modules-maintenance-management-failure-register-effect.entity-DCIAzSYQ.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-effect.entity-CaVb6rDn.mjs.map → acorex-modules-maintenance-management-failure-register-effect.entity-DCIAzSYQ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-mechanism.entity-C2UKW63M.mjs → acorex-modules-maintenance-management-failure-register-mechanism.entity-DlXr6A4i.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-mechanism.entity-C2UKW63M.mjs.map → acorex-modules-maintenance-management-failure-register-mechanism.entity-DlXr6A4i.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-register.entity-KghFLCIJ.mjs → acorex-modules-maintenance-management-failure-register.entity-C4J3um7j.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-register.entity-KghFLCIJ.mjs.map → acorex-modules-maintenance-management-failure-register.entity-C4J3um7j.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-severity.entity-BebswR7S.mjs → acorex-modules-maintenance-management-failure-severity.entity-C-spQtYx.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-severity.entity-BebswR7S.mjs.map → acorex-modules-maintenance-management-failure-severity.entity-C-spQtYx.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-maintenance-template.entity-1V4swUZ4.mjs → acorex-modules-maintenance-management-maintenance-template.entity-Huahnjhd.mjs} +100 -178
- package/fesm2022/acorex-modules-maintenance-management-maintenance-template.entity-Huahnjhd.mjs.map +1 -0
- package/fesm2022/{acorex-modules-maintenance-management-work-order-list-command-3hlrAtIr.mjs → acorex-modules-maintenance-management-work-order-list-command-1YsWctqu.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-work-order-list-command-3hlrAtIr.mjs.map → acorex-modules-maintenance-management-work-order-list-command-1YsWctqu.mjs.map} +1 -1
- package/fesm2022/acorex-modules-maintenance-management.mjs +1 -1
- package/fesm2022/acorex-modules-notification-management.mjs +1 -1
- package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-order-management-settings.provider-BFOghuIS.mjs +58 -0
- package/fesm2022/acorex-modules-order-management-settings.provider-BFOghuIS.mjs.map +1 -0
- package/fesm2022/acorex-modules-order-management.mjs +2 -2
- package/fesm2022/{acorex-modules-organization-management-acorex-modules-organization-management-CGzZcKEy.mjs → acorex-modules-organization-management-acorex-modules-organization-management-BZtWfgmH.mjs} +40 -120
- package/fesm2022/acorex-modules-organization-management-acorex-modules-organization-management-BZtWfgmH.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-add-business-unit-to-business-unit.command-BEJyfR3P.mjs → acorex-modules-organization-management-add-business-unit-to-business-unit.command-C-yO5On4.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-add-business-unit-to-business-unit.command-BEJyfR3P.mjs.map → acorex-modules-organization-management-add-business-unit-to-business-unit.command-C-yO5On4.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-add-position-to-business-unit.command-DKgxg9q5.mjs → acorex-modules-organization-management-add-position-to-business-unit.command-BL5eWJ56.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-add-position-to-business-unit.command-DKgxg9q5.mjs.map → acorex-modules-organization-management-add-position-to-business-unit.command-BL5eWJ56.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-add-team-to-business-unit.command-DJJT7BXT.mjs → acorex-modules-organization-management-add-team-to-business-unit.command-l4N6g0Hc.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-add-team-to-business-unit.command-DJJT7BXT.mjs.map → acorex-modules-organization-management-add-team-to-business-unit.command-l4N6g0Hc.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-business-unit.entity-BAp38sib.mjs → acorex-modules-organization-management-business-unit.entity-CONTwX52.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-business-unit.entity-BAp38sib.mjs.map → acorex-modules-organization-management-business-unit.entity-CONTwX52.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-chart.entity-WfmpWj8R.mjs → acorex-modules-organization-management-chart.entity-DeKPBfgx.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-chart.entity-WfmpWj8R.mjs.map → acorex-modules-organization-management-chart.entity-DeKPBfgx.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-company.entity-BUVLrwjq.mjs → acorex-modules-organization-management-company.entity-BAlz8AfD.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-company.entity-BUVLrwjq.mjs.map → acorex-modules-organization-management-company.entity-BAlz8AfD.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-entity.provider-DH3eUGTu.mjs → acorex-modules-organization-management-entity.provider-DjPSiqcX.mjs} +15 -15
- package/fesm2022/{acorex-modules-organization-management-entity.provider-DH3eUGTu.mjs.map → acorex-modules-organization-management-entity.provider-DjPSiqcX.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-feature-definition.provider-DuScrBze.mjs → acorex-modules-organization-management-feature-definition.provider-BLmayeSc.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-feature-definition.provider-DuScrBze.mjs.map → acorex-modules-organization-management-feature-definition.provider-BLmayeSc.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-definition-pages-component.provider-D-J9JCsU.mjs → acorex-modules-organization-management-job-definition-pages-component.provider-HBi-EMRE.mjs} +3 -3
- package/fesm2022/{acorex-modules-organization-management-job-definition-pages-component.provider-D-J9JCsU.mjs.map → acorex-modules-organization-management-job-definition-pages-component.provider-HBi-EMRE.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-definition-responsibilities-page.component-Dsy5rFGw.mjs → acorex-modules-organization-management-job-definition-responsibilities-page.component-CtIfsZ6x.mjs} +3 -3
- package/fesm2022/{acorex-modules-organization-management-job-definition-responsibilities-page.component-Dsy5rFGw.mjs.map → acorex-modules-organization-management-job-definition-responsibilities-page.component-CtIfsZ6x.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-definition-skills-page.component-B73wLPby.mjs → acorex-modules-organization-management-job-definition-skills-page.component-C1vCQayM.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-job-definition-skills-page.component-B73wLPby.mjs.map → acorex-modules-organization-management-job-definition-skills-page.component-C1vCQayM.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-definition.entity-B7mWKYqb.mjs → acorex-modules-organization-management-job-definition.entity-Db5li0zL.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-job-definition.entity-B7mWKYqb.mjs.map → acorex-modules-organization-management-job-definition.entity-Db5li0zL.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-level.datasource-DibRoKXR.mjs → acorex-modules-organization-management-job-level.datasource-BTRKW7nq.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-job-level.datasource-DibRoKXR.mjs.map → acorex-modules-organization-management-job-level.datasource-BTRKW7nq.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-level.entity-C_MzeTw5.mjs → acorex-modules-organization-management-job-level.entity-Cn-91_r8.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-job-level.entity-C_MzeTw5.mjs.map → acorex-modules-organization-management-job-level.entity-Cn-91_r8.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-menu.provider-CQeJINzl.mjs → acorex-modules-organization-management-menu.provider-CVmV-hY5.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-menu.provider-CQeJINzl.mjs.map → acorex-modules-organization-management-menu.provider-CVmV-hY5.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart-default-node-contribution.provider-D3hCHSr_.mjs → acorex-modules-organization-management-org-chart-default-node-contribution.provider-bdtNexEf.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-org-chart-default-node-contribution.provider-D3hCHSr_.mjs.map → acorex-modules-organization-management-org-chart-default-node-contribution.provider-bdtNexEf.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-Bv0I-45L.mjs → acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-B0aaFv5p.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-Bv0I-45L.mjs.map → acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-B0aaFv5p.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-DbfYza8q.mjs → acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-Xe4nhY3j.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-DbfYza8q.mjs.map → acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-Xe4nhY3j.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart-ux-node-contribution.provider-C9APxguL.mjs → acorex-modules-organization-management-org-chart-ux-node-contribution.provider-CTprHwCi.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-org-chart-ux-node-contribution.provider-C9APxguL.mjs.map → acorex-modules-organization-management-org-chart-ux-node-contribution.provider-CTprHwCi.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart.page-BcHO5kKP.mjs → acorex-modules-organization-management-org-chart.page-ChXY8ncD.mjs} +133 -12
- package/fesm2022/acorex-modules-organization-management-org-chart.page-ChXY8ncD.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-permission-definition.provider-BcIRJpBt.mjs → acorex-modules-organization-management-permission-definition.provider-8t2vBgtp.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-permission-definition.provider-BcIRJpBt.mjs.map → acorex-modules-organization-management-permission-definition.provider-8t2vBgtp.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-position.entity-DBOpLtSI.mjs → acorex-modules-organization-management-position.entity-BVWbTeks.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-position.entity-DBOpLtSI.mjs.map → acorex-modules-organization-management-position.entity-BVWbTeks.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-remove-position-from-business-unit.command-TqYgfnsy.mjs → acorex-modules-organization-management-remove-position-from-business-unit.command-DWzFncr1.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-remove-position-from-business-unit.command-TqYgfnsy.mjs.map → acorex-modules-organization-management-remove-position-from-business-unit.command-DWzFncr1.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-replace-position-assignee.command-BJ2gn0-A.mjs → acorex-modules-organization-management-replace-position-assignee.command-CNa-CZOv.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-replace-position-assignee.command-BJ2gn0-A.mjs.map → acorex-modules-organization-management-replace-position-assignee.command-CNa-CZOv.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-CZdMLIL-.mjs → acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-CTSCcyFv.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-CZdMLIL-.mjs.map → acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-CTSCcyFv.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-view.component-BBo97rDN.mjs → acorex-modules-organization-management-responsibilities-matrix-widget-view.component-C82TQFS-.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-view.component-BBo97rDN.mjs.map → acorex-modules-organization-management-responsibilities-matrix-widget-view.component-C82TQFS-.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix.component-D9oH_Fbb.mjs → acorex-modules-organization-management-responsibilities-matrix.component-DjVuISfE.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix.component-D9oH_Fbb.mjs.map → acorex-modules-organization-management-responsibilities-matrix.component-DjVuISfE.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibility-level.entity-D6IG9Zc7.mjs → acorex-modules-organization-management-responsibility-level.entity-BlENDhF6.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibility-level.entity-D6IG9Zc7.mjs.map → acorex-modules-organization-management-responsibility-level.entity-BlENDhF6.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibility.entity-BosNxYjW.mjs → acorex-modules-organization-management-responsibility.entity-DamPTQMp.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibility.entity-BosNxYjW.mjs.map → acorex-modules-organization-management-responsibility.entity-DamPTQMp.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-settings.provider-CL9C9UXA.mjs → acorex-modules-organization-management-settings.provider-CtQo6YHj.mjs} +3 -3
- package/fesm2022/acorex-modules-organization-management-settings.provider-CtQo6YHj.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-team-business-unit.entity-CYFGTcHe.mjs → acorex-modules-organization-management-team-business-unit.entity-BfvqQb1K.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-team-business-unit.entity-CYFGTcHe.mjs.map → acorex-modules-organization-management-team-business-unit.entity-BfvqQb1K.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-team-member-role.entity-B5vNDne0.mjs → acorex-modules-organization-management-team-member-role.entity-wWoB56Il.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-team-member-role.entity-B5vNDne0.mjs.map → acorex-modules-organization-management-team-member-role.entity-wWoB56Il.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-team-member.entity-DsKuxCRB.mjs → acorex-modules-organization-management-team-member.entity-COGrDN_G.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-team-member.entity-DsKuxCRB.mjs.map → acorex-modules-organization-management-team-member.entity-COGrDN_G.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-team.entity-Cg30cho_.mjs → acorex-modules-organization-management-team.entity-DC_rqp9e.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-team.entity-Cg30cho_.mjs.map → acorex-modules-organization-management-team.entity-DC_rqp9e.mjs.map} +1 -1
- package/fesm2022/acorex-modules-organization-management.mjs +1 -1
- package/fesm2022/{acorex-modules-platform-dev-tools-settings.provider-DKmgBUYt.mjs → acorex-modules-platform-dev-tools-settings.provider-BIVP27kT.mjs} +2 -2
- package/fesm2022/acorex-modules-platform-dev-tools-settings.provider-BIVP27kT.mjs.map +1 -0
- package/fesm2022/acorex-modules-platform-dev-tools.mjs +2 -2
- package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-DkOzj2Oy.mjs → acorex-modules-platform-management-acorex-modules-platform-management-5DJoQkx2.mjs} +1919 -4
- package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-5DJoQkx2.mjs.map +1 -0
- package/fesm2022/{acorex-modules-platform-management-menu-list.component-agWZWchQ.mjs → acorex-modules-platform-management-menu-list.component-C3WBYbOt.mjs} +4 -4
- package/fesm2022/{acorex-modules-platform-management-menu-list.component-agWZWchQ.mjs.map → acorex-modules-platform-management-menu-list.component-C3WBYbOt.mjs.map} +1 -1
- package/fesm2022/acorex-modules-platform-management.mjs +1 -1
- package/fesm2022/{acorex-modules-settings-management-acorex-modules-settings-management-oArHHeSx.mjs → acorex-modules-settings-management-acorex-modules-settings-management-Di6Sxtq3.mjs} +5 -5
- package/fesm2022/{acorex-modules-settings-management-acorex-modules-settings-management-oArHHeSx.mjs.map → acorex-modules-settings-management-acorex-modules-settings-management-Di6Sxtq3.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-settings-management-permission-definition.provider-BsFyZ-gS.mjs → acorex-modules-settings-management-permission-definition.provider-Bml5VZUT.mjs} +2 -2
- package/fesm2022/{acorex-modules-settings-management-permission-definition.provider-BsFyZ-gS.mjs.map → acorex-modules-settings-management-permission-definition.provider-Bml5VZUT.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-settings-management-setting-page.component-BftWms4f.mjs → acorex-modules-settings-management-setting-page.component-lN-7sTpD.mjs} +4 -4
- package/fesm2022/{acorex-modules-settings-management-setting-page.component-BftWms4f.mjs.map → acorex-modules-settings-management-setting-page.component-lN-7sTpD.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-settings-management-setting-view.component-paKdiSEr.mjs → acorex-modules-settings-management-setting-view.component-D17G4RNQ.mjs} +15 -28
- package/fesm2022/acorex-modules-settings-management-setting-view.component-D17G4RNQ.mjs.map +1 -0
- package/fesm2022/acorex-modules-settings-management.mjs +1 -1
- package/fesm2022/acorex-modules-system-insight.mjs +1 -1
- package/fesm2022/acorex-modules-system-insight.mjs.map +1 -1
- package/fesm2022/{acorex-modules-task-management-acorex-modules-task-management-BL2IOcx3.mjs → acorex-modules-task-management-acorex-modules-task-management-LQn5gZ6p.mjs} +680 -10
- package/fesm2022/acorex-modules-task-management-acorex-modules-task-management-LQn5gZ6p.mjs.map +1 -0
- package/fesm2022/{acorex-modules-task-management-task-board.page-DUIHtqnr.mjs → acorex-modules-task-management-task-board.page-BokG-G6Z.mjs} +204 -591
- package/fesm2022/acorex-modules-task-management-task-board.page-BokG-G6Z.mjs.map +1 -0
- package/fesm2022/acorex-modules-task-management.mjs +1 -1
- package/fesm2022/acorex-modules-tenant-management.mjs +1 -1
- package/fesm2022/acorex-modules-tenant-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-CYyr1kQk.mjs → acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-OLbCD-7P.mjs} +4 -4
- package/fesm2022/{acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-CYyr1kQk.mjs.map → acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-OLbCD-7P.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-workflow-management-index-CHySddpP.mjs → acorex-modules-workflow-management-index-34UZrsxw.mjs} +2 -2
- package/fesm2022/{acorex-modules-workflow-management-index-CHySddpP.mjs.map → acorex-modules-workflow-management-index-34UZrsxw.mjs.map} +1 -1
- package/fesm2022/acorex-modules-workflow-management-index-BxqOP8AA.mjs +1207 -0
- package/fesm2022/acorex-modules-workflow-management-index-BxqOP8AA.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-index-DC_9M9dk.mjs → acorex-modules-workflow-management-index-Eh5DDK-V.mjs} +3 -3
- package/fesm2022/{acorex-modules-workflow-management-index-DC_9M9dk.mjs.map → acorex-modules-workflow-management-index-Eh5DDK-V.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-workflow-management-save-workflow-definition-activities.command-fFO152ni.mjs → acorex-modules-workflow-management-save-workflow-definition-activities.command-CGNwslcn.mjs} +10 -5
- package/fesm2022/acorex-modules-workflow-management-save-workflow-definition-activities.command-CGNwslcn.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-workflow-definition.entity-CjQQpjdB.mjs → acorex-modules-workflow-management-workflow-definition.entity-DISpkWE4.mjs} +3 -7
- package/fesm2022/acorex-modules-workflow-management-workflow-definition.entity-DISpkWE4.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-workflow-instance.entity-BnKT3Wgh.mjs → acorex-modules-workflow-management-workflow-instance.entity-B_V3uMSI.mjs} +2 -2
- package/fesm2022/{acorex-modules-workflow-management-workflow-instance.entity-BnKT3Wgh.mjs.map → acorex-modules-workflow-management-workflow-instance.entity-B_V3uMSI.mjs.map} +1 -1
- package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-DMszilef.mjs +356 -0
- package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-DMszilef.mjs.map +1 -0
- package/fesm2022/acorex-modules-workflow-management.mjs +257 -130
- package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
- package/package.json +2 -2
- package/types/acorex-modules-ai-management.d.ts +73 -5
- package/types/acorex-modules-assessment-management.d.ts +161 -97
- package/types/acorex-modules-asset-management.d.ts +3 -0
- package/types/acorex-modules-conversation.d.ts +12 -2
- package/types/acorex-modules-human-capital-management.d.ts +6 -6
- package/types/acorex-modules-maintenance-management.d.ts +28 -11
- package/types/acorex-modules-organization-management.d.ts +1 -27
- package/types/acorex-modules-platform-management.d.ts +518 -23
- package/types/acorex-modules-task-management.d.ts +100 -4
- package/types/acorex-modules-workflow-management.d.ts +53 -5
- package/fesm2022/acorex-modules-ai-management-assist.entity-513RdKsz.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-BD5oxehv.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-fill-assessment-session.command-BiS7QO_E.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-questionnaire-viewer-popup.component-YUDOSypz.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-questionnaire.entity-q3Z4VIiA.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset-system.entity-DlpOp7Xj.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset-type.entity-CN6K0Uw3.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset.entity-2XZut6JS.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-settings.provider-CN7Lb38l.mjs.map +0 -1
- package/fesm2022/acorex-modules-conversation-acorex-modules-conversation-ny5TQlkp.mjs.map +0 -1
- package/fesm2022/acorex-modules-conversation-assist-delegated-agent-detail-popup.component-7O6som8z.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-acorex-modules-human-capital-management-B37ZqEql.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-lifecycle-process-type.entity-EazvPSR6.mjs.map +0 -1
- package/fesm2022/acorex-modules-maintenance-management-acorex-modules-maintenance-management-coPYjl8-.mjs.map +0 -1
- package/fesm2022/acorex-modules-maintenance-management-maintenance-template.entity-1V4swUZ4.mjs.map +0 -1
- package/fesm2022/acorex-modules-order-management-settings.provider-DF8JQ1PZ.mjs +0 -64
- package/fesm2022/acorex-modules-order-management-settings.provider-DF8JQ1PZ.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-acorex-modules-organization-management-CGzZcKEy.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-org-chart.page-BcHO5kKP.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-settings.provider-CL9C9UXA.mjs.map +0 -1
- package/fesm2022/acorex-modules-platform-dev-tools-settings.provider-DKmgBUYt.mjs.map +0 -1
- package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-DkOzj2Oy.mjs.map +0 -1
- package/fesm2022/acorex-modules-settings-management-setting-view.component-paKdiSEr.mjs.map +0 -1
- package/fesm2022/acorex-modules-task-management-acorex-modules-task-management-BL2IOcx3.mjs.map +0 -1
- package/fesm2022/acorex-modules-task-management-task-board.page-DUIHtqnr.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-index-jin24dmb.mjs +0 -726
- package/fesm2022/acorex-modules-workflow-management-index-jin24dmb.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-save-workflow-definition-activities.command-fFO152ni.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-workflow-definition.entity-CjQQpjdB.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acorex-modules-organization-management-org-chart.page-ChXY8ncD.mjs","sources":["../../../../libs/modules/organization-management/src/lib/features/organization-chart/tokens/org-chart-host.token.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/nodes/business-unit/org-chart-business-unit-node.component.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/nodes/business-unit/org-chart-business-unit-node.component.html","../../../../libs/modules/organization-management/src/lib/features/organization-chart/nodes/company/org-chart-company-node.component.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/nodes/company/org-chart-company-node.component.html","../../../../libs/modules/organization-management/src/lib/features/organization-chart/nodes/employee/org-chart-employee-node.component.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/nodes/employee/org-chart-employee-node.component.html","../../../../libs/modules/organization-management/src/lib/features/organization-chart/nodes/position/org-chart-position-node.component.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/nodes/position/org-chart-position-node.component.html","../../../../libs/modules/organization-management/src/lib/features/organization-chart/nodes/org-chart-node-outlet.component.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/nodes/org-chart-node-outlet.component.html","../../../../libs/modules/organization-management/src/lib/features/organization-chart/services/org-chart-node-contribution.service.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/utils/org-chart-vacant-filter.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/services/org-chart.service.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/page/org-chart.page.ts","../../../../libs/modules/organization-management/src/lib/features/organization-chart/page/org-chart.page.html"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { AXPMultiLanguageString } from '@acorex/platform/core';\nimport { AXMOrganizationNode } from '../model/org-chart.type';\n\n/**\n * Injected by org chart node components to access colors, i18n labels, and expand/collapse.\n */\nexport interface AXMOrgChartHostApi {\n getNodeColors(color: string): Record<string, string>;\n isNodeSelected(data: AXMOrganizationNode): boolean;\n selectNode(data: AXMOrganizationNode): void;\n openNodeContextMenuFromMore(event: unknown, data: AXMOrganizationNode): void;\n readonly chartML: {\n vacant: AXPMultiLanguageString;\n directReports: AXPMultiLanguageString;\n teams: AXPMultiLanguageString;\n people: AXPMultiLanguageString;\n positions: AXPMultiLanguageString;\n chiefExecutive: AXPMultiLanguageString;\n /** Business unit detail rows: unit head display name and role title from `metadata.unitHead`. */\n buHead: AXPMultiLanguageString;\n buPosition: AXPMultiLanguageString;\n unitType: AXPMultiLanguageString;\n businessUnit: AXPMultiLanguageString;\n location: AXPMultiLanguageString;\n code: AXPMultiLanguageString;\n capacity: AXPMultiLanguageString;\n level: AXPMultiLanguageString;\n email: AXPMultiLanguageString;\n phone: AXPMultiLanguageString;\n employmentType: AXPMultiLanguageString;\n workMode: AXPMultiLanguageString;\n /** i18n key for the node “more” control (translate pipe). */\n more: string;\n /** i18n key when the context menu has no runnable actions. */\n noActionsAvailable: string;\n };\n getTeamsMembershipCount(data: AXMOrganizationNode): number | null;\n /** When the card body already shows the assignee (merged unit / manager seat), hide `subtitle` so it is not duplicated. */\n shouldShowOrgCardSubtitle(data: AXMOrganizationNode): boolean;\n /** Subtree / seat strip: BU & company snapshot stats, or `position-ic` seats (1 position; people from vacant state or subtree). */\n getSubtreeRosterCounts(data: AXMOrganizationNode): { people: number; positions: number } | null;\n /** Key-value rows for the side detail panel only (not rendered on node cards). */\n getNodeInfoItems(data: AXMOrganizationNode): Array<{ label: AXPMultiLanguageString; value: string }>;\n toggleNode(data: AXMOrganizationNode, el?: HTMLDivElement | null): void;\n /** Shows or hides the chart detail panel. */\n toggleDetailPanel(): void;\n /**\n * Sets explicit expand/collapse for a branch and redraws the chart.\n * @param expanded When false, children are hidden on the next layout (`isExpanded === false`).\n */\n setNodeBranchExpanded(data: AXMOrganizationNode, expanded: boolean): void;\n}\n\nexport const AXM_ORG_CHART_HOST = new InjectionToken<AXMOrgChartHostApi>('AXM_ORG_CHART_HOST');\n","//#region ---- Imports ----\n\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPAvatarComponent } from '@acorex/platform/layout/components';\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, input, ViewEncapsulation } from '@angular/core';\nimport { AXM_ORG_CHART_HOST, type AXMOrgChartHostApi } from '../../tokens/org-chart-host.token';\nimport { AXMOrgChartNodeFooterMetric, AXMOrganizationNode } from '../../model/org-chart.type';\n\n//#endregion\n\n//#region ---- Component ----\n\n/** Business unit node: merged unit (head slot) or compact card. */\n@Component({\n selector: 'axm-org-chart-business-unit-node',\n templateUrl: './org-chart-business-unit-node.component.html',\n imports: [AXButtonModule, AXDecoratorModule, AXPAvatarComponent, AXTranslationModule, AsyncPipe],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXMOrgChartBusinessUnitNodeComponent {\n protected readonly host: AXMOrgChartHostApi = inject(AXM_ORG_CHART_HOST);\n\n readonly data = input.required<AXMOrganizationNode>();\n\n protected readonly unitFooterMetrics = computed((): AXMOrgChartNodeFooterMetric[] => {\n const node = this.data();\n const items: AXMOrgChartNodeFooterMetric[] = [];\n const roster = this.host.getSubtreeRosterCounts(node);\n if (roster) {\n items.push({\n icon: 'fa-users',\n value: String(roster.people),\n title: this.host.chartML.people,\n });\n items.push({\n icon: 'fa-briefcase',\n value: String(roster.positions),\n title: this.host.chartML.positions,\n });\n }\n const teams = this.host.getTeamsMembershipCount(node);\n if (teams != null && teams > 0) {\n items.push({\n icon: 'fa-people-group',\n value: String(teams),\n title: this.host.chartML.teams,\n });\n }\n return items;\n });\n\n protected isRegional(): boolean {\n return this.data().metadata?.['isRegional'] === true;\n }\n\n protected getColorKey(): string {\n return this.isRegional() ? 'accent1' : 'accent2';\n }\n\n protected resolveNodeColorToken(): string {\n const raw = this.data().metadata?.['unitTypeColor'];\n if (typeof raw === 'string' && raw.trim().length > 0) {\n return raw.trim();\n }\n return this.getColorKey();\n }\n}\n\n//#endregion\n","<div>\n @if (data().metadata?.['chartTemplate'] === 'merged-unit') {\n @let leadIcon = data().icon ?? 'fa-building';\n <div\n #node\n class=\"--node-container --merged-card axm-org-chart-card axm-org-chart-card--business-unit\"\n [class.axm-org-chart-card--vacant]=\"!!data().metadata?.['unitHead']?.['vacant']\"\n [attr.data-chart-node-id]=\"data().id\"\n [class.--selected]=\"host.isNodeSelected(data())\"\n [style]=\"host.getNodeColors(resolveNodeColorToken())\"\n (click)=\"host.selectNode(data())\"\n (contextmenu)=\"host.selectNode(data())\"\n >\n <div class=\"--container\">\n <div class=\"axm-org-chart-card__accent\" aria-hidden=\"true\"></div>\n <div class=\"axm-org-chart-card__body\">\n <div class=\"axm-org-chart-card__header axm-org-chart-card__header--org\">\n <div class=\"axm-org-chart-card__leading-icon\">\n <i [class]=\"'fa-light fa-xl fa-fw ' + leadIcon\"></i>\n </div>\n <div class=\"axm-org-chart-card__title-block\">\n <span class=\"axm-org-chart-card__title\" [title]=\"(data().title | translate | async) ?? ''\">{{\n data().title | translate | async\n }}</span>\n @if (data().subtitle && host.shouldShowOrgCardSubtitle(data())) {\n <span class=\"axm-org-chart-card__subtitle\" [title]=\"(data().subtitle! | translate | async) ?? ''\">{{\n data().subtitle! | translate | async\n }}</span>\n }\n @if (data().description) {\n <span class=\"axm-org-chart-card__desc\">{{ data().description | translate | async }}</span>\n }\n </div>\n </div>\n @if (data().metadata?.['unitHead']; as unitHead) {\n <section class=\"axm-org-chart-card__person\">\n <div class=\"axm-org-chart-card__person-label\">{{ host.chartML.buHead | translate | async }}</div>\n <div class=\"axm-org-chart-card__person-row\">\n <axp-avatar\n [fullName]=\"unitHead['employeeName'] ?? ''\"\n [placeholder]=\"unitHead['vacant'] || !unitHead['employeeName']\"\n [size]=\"44\"\n />\n <div class=\"axm-org-chart-card__person-text\">\n @if (unitHead['vacant'] || !unitHead['employeeName']) {\n <span class=\"axm-org-chart-card__person-vacant\">{{\n host.chartML.vacant | translate | async\n }}</span>\n } @else {\n <span class=\"axm-org-chart-card__person-name\">{{ unitHead['employeeName'] }}</span>\n }\n @if (unitHead['positionTitle']) {\n <span class=\"axm-org-chart-card__person-role\">{{ unitHead['positionTitle'] | translate | async }}</span>\n }\n </div>\n </div>\n </section>\n }\n </div>\n @if (unitFooterMetrics().length > 0) {\n <div class=\"axm-org-chart-card__footer\">\n @for (m of unitFooterMetrics(); track $index) {\n <div class=\"axm-org-chart-card__metric\">\n <i [class]=\"'fa-light fa-fw axm-org-chart-card__metric-icon ' + m.icon\"></i>\n <div class=\"axm-org-chart-card__metric-col\">\n <span class=\"axm-org-chart-card__metric-value\">{{ m.value }}</span>\n <span\n class=\"axm-org-chart-card__metric-title\"\n [title]=\"(m.title | translate | async) ?? ''\"\n >{{ m.title | translate | async }}</span\n >\n </div>\n </div>\n }\n </div>\n }\n @if (data().children && data().children!.length > 0) {\n <div class=\"--toggle\">\n <ax-button class=\"ax-xs ax-rounded-sm\" (onClick)=\"host.toggleNode(data(), node)\">\n <ax-icon\n icon=\"fa-solid\"\n [class]=\"data().isExpanded === false ? 'fa-chevron-down' : 'fa-chevron-up'\"\n ></ax-icon>\n </ax-button>\n </div>\n }\n </div>\n </div>\n } @else {\n @let leadIcon = data().icon ?? 'fa-building';\n <div\n #node\n class=\"--node-container --merged-card axm-org-chart-card axm-org-chart-card--business-unit\"\n [attr.data-chart-node-id]=\"data().id\"\n [class.--selected]=\"host.isNodeSelected(data())\"\n [style]=\"host.getNodeColors(resolveNodeColorToken())\"\n (click)=\"host.selectNode(data())\"\n (contextmenu)=\"host.selectNode(data())\"\n >\n <div class=\"--container\">\n <div class=\"axm-org-chart-card__accent\" aria-hidden=\"true\"></div>\n <div class=\"axm-org-chart-card__body\">\n <div class=\"axm-org-chart-card__header axm-org-chart-card__header--org\">\n <div class=\"axm-org-chart-card__leading-icon\">\n <i [class]=\"'fa-light fa-xl fa-fw ' + leadIcon\"></i>\n </div>\n <div class=\"axm-org-chart-card__title-block\">\n <span class=\"axm-org-chart-card__title\" [title]=\"(data().title | translate | async) ?? ''\">{{\n data().title | translate | async\n }}</span>\n @if (data().subtitle && host.shouldShowOrgCardSubtitle(data())) {\n <span class=\"axm-org-chart-card__subtitle\" [title]=\"(data().subtitle! | translate | async) ?? ''\">{{\n data().subtitle! | translate | async\n }}</span>\n }\n @if (data().description) {\n <span class=\"axm-org-chart-card__desc\">{{ data().description | translate | async }}</span>\n }\n </div>\n </div>\n </div>\n @if (data().children && data().children!.length > 0) {\n <div class=\"--toggle\">\n <ax-button class=\"ax-xs ax-rounded-sm\" (onClick)=\"host.toggleNode(data(), node)\">\n <ax-icon\n icon=\"fa-solid\"\n [class]=\"data().isExpanded === false ? 'fa-chevron-down' : 'fa-chevron-up'\"\n ></ax-icon>\n </ax-button>\n </div>\n }\n </div>\n </div>\n }\n</div>\n","//#region ---- Imports ----\n\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPAvatarComponent } from '@acorex/platform/layout/components';\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, input, ViewEncapsulation } from '@angular/core';\nimport { AXM_ORG_CHART_HOST, type AXMOrgChartHostApi } from '../../tokens/org-chart-host.token';\nimport { AXMOrgChartNodeFooterMetric, AXMOrganizationNode } from '../../model/org-chart.type';\n\n//#endregion\n\n//#region ---- Component ----\n\n/** Company node: merged executive (Chief executive slot) or compact company card. */\n@Component({\n selector: 'axm-org-chart-company-node',\n templateUrl: './org-chart-company-node.component.html',\n imports: [AXButtonModule, AXDecoratorModule, AXPAvatarComponent, AXTranslationModule, AsyncPipe],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXMOrgChartCompanyNodeComponent {\n protected readonly host: AXMOrgChartHostApi = inject(AXM_ORG_CHART_HOST);\n\n readonly data = input.required<AXMOrganizationNode>();\n\n protected readonly companyFooterMetrics = computed((): AXMOrgChartNodeFooterMetric[] => {\n const node = this.data();\n const items: AXMOrgChartNodeFooterMetric[] = [];\n const roster = this.host.getSubtreeRosterCounts(node);\n if (roster) {\n items.push({\n icon: 'fa-users',\n value: String(roster.people),\n title: this.host.chartML.people,\n });\n items.push({\n icon: 'fa-briefcase',\n value: String(roster.positions),\n title: this.host.chartML.positions,\n });\n }\n const teams = this.host.getTeamsMembershipCount(node);\n if (teams != null && teams > 0) {\n items.push({\n icon: 'fa-people-group',\n value: String(teams),\n title: this.host.chartML.teams,\n });\n }\n return items;\n });\n}\n\n//#endregion\n","<div>\n @if (data().metadata?.['chartTemplate'] === 'merged-executive') {\n @let leadIcon = data().icon ?? 'fa-building';\n <div\n #node\n class=\"--node-container --merged-card axm-org-chart-card axm-org-chart-card--company\"\n [class.axm-org-chart-card--vacant]=\"!!data().metadata?.['topRole']?.['vacant']\"\n [attr.data-chart-node-id]=\"data().id\"\n [class.--selected]=\"host.isNodeSelected(data())\"\n [style]=\"host.getNodeColors('primary')\"\n (click)=\"host.selectNode(data())\"\n (contextmenu)=\"host.selectNode(data())\"\n >\n <div class=\"--container\">\n <div class=\"axm-org-chart-card__accent\" aria-hidden=\"true\"></div>\n <div class=\"axm-org-chart-card__body\">\n <div class=\"axm-org-chart-card__header axm-org-chart-card__header--org\">\n <div class=\"axm-org-chart-card__leading-icon\">\n <i [class]=\"'fa-light fa-xl fa-fw ' + leadIcon\"></i>\n </div>\n <div class=\"axm-org-chart-card__title-block\">\n <span class=\"axm-org-chart-card__title\" [title]=\"(data().title | translate | async) ?? ''\">{{\n data().title | translate | async\n }}</span>\n @if (data().subtitle) {\n <span class=\"axm-org-chart-card__subtitle\" [title]=\"(data().subtitle! | translate | async) ?? ''\">{{\n data().subtitle! | translate | async\n }}</span>\n }\n @if (data().description) {\n <span class=\"axm-org-chart-card__desc\">{{ data().description | translate | async }}</span>\n }\n </div>\n </div>\n @if (data().metadata?.['topRole']; as topRole) {\n <section class=\"axm-org-chart-card__person\">\n <div class=\"axm-org-chart-card__person-label\">{{ host.chartML.chiefExecutive | translate | async }}</div>\n <div class=\"axm-org-chart-card__person-row\">\n <axp-avatar\n [fullName]=\"topRole['employeeName'] ?? ''\"\n [placeholder]=\"topRole['vacant'] || !topRole['employeeName']\"\n [size]=\"44\"\n />\n <div class=\"axm-org-chart-card__person-text\">\n @if (topRole['vacant'] || !topRole['employeeName']) {\n <span class=\"axm-org-chart-card__person-vacant\">{{\n host.chartML.vacant | translate | async\n }}</span>\n } @else {\n <span class=\"axm-org-chart-card__person-name\">{{ topRole['employeeName'] }}</span>\n }\n @if (topRole['positionTitle']) {\n <span class=\"axm-org-chart-card__person-role\">{{ topRole['positionTitle'] | translate | async }}</span>\n }\n </div>\n </div>\n </section>\n }\n </div>\n @if (companyFooterMetrics().length > 0) {\n <div class=\"axm-org-chart-card__footer\">\n @for (m of companyFooterMetrics(); track $index) {\n <div class=\"axm-org-chart-card__metric\">\n <i [class]=\"'fa-light fa-fw axm-org-chart-card__metric-icon ' + m.icon\"></i>\n <div class=\"axm-org-chart-card__metric-col\">\n <span class=\"axm-org-chart-card__metric-value\">{{ m.value }}</span>\n <span\n class=\"axm-org-chart-card__metric-title\"\n [title]=\"(m.title | translate | async) ?? ''\"\n >{{ m.title | translate | async }}</span\n >\n </div>\n </div>\n }\n </div>\n }\n </div>\n </div>\n } @else {\n @let leadIcon = data().icon ?? 'fa-building';\n <div\n #node\n class=\"--node-container --merged-card axm-org-chart-card axm-org-chart-card--company\"\n [attr.data-chart-node-id]=\"data().id\"\n [class.--selected]=\"host.isNodeSelected(data())\"\n [style]=\"host.getNodeColors('primary')\"\n (click)=\"host.selectNode(data())\"\n (contextmenu)=\"host.selectNode(data())\"\n >\n <div class=\"--container\">\n <div class=\"axm-org-chart-card__accent\" aria-hidden=\"true\"></div>\n <div class=\"axm-org-chart-card__body\">\n <div class=\"axm-org-chart-card__header axm-org-chart-card__header--org\">\n <div class=\"axm-org-chart-card__leading-icon\">\n <i [class]=\"'fa-light fa-xl fa-fw ' + leadIcon\"></i>\n </div>\n <div class=\"axm-org-chart-card__title-block\">\n <span class=\"axm-org-chart-card__title\" [title]=\"(data().title | translate | async) ?? ''\">{{\n data().title | translate | async\n }}</span>\n @if (data().subtitle) {\n <span class=\"axm-org-chart-card__subtitle\" [title]=\"(data().subtitle! | translate | async) ?? ''\">{{\n data().subtitle! | translate | async\n }}</span>\n }\n @if (data().description) {\n <span class=\"axm-org-chart-card__desc\">{{ data().description | translate | async }}</span>\n }\n </div>\n </div>\n </div>\n @if (data().children && data().children!.length > 0) {\n <div class=\"--toggle\">\n <ax-button class=\"ax-xs ax-rounded-sm\" (onClick)=\"host.toggleNode(data(), node)\">\n <ax-icon\n icon=\"fa-solid\"\n [class]=\"data().isExpanded === false ? 'fa-chevron-down' : 'fa-chevron-up'\"\n ></ax-icon>\n </ax-button>\n </div>\n }\n </div>\n </div>\n }\n</div>\n","//#region ---- Imports ----\n\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPAvatarComponent } from '@acorex/platform/layout/components';\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, input, ViewEncapsulation } from '@angular/core';\nimport { AXM_ORG_CHART_HOST, type AXMOrgChartHostApi } from '../../tokens/org-chart-host.token';\nimport { AXMOrgChartNodeFooterMetric, AXMOrganizationNode } from '../../model/org-chart.type';\n\n//#endregion\n\n//#region ---- Component ----\n\n/** Employee node: person-forward card or compact icon card. */\n@Component({\n selector: 'axm-org-chart-employee-node',\n templateUrl: './org-chart-employee-node.component.html',\n imports: [AXButtonModule, AXDecoratorModule, AXPAvatarComponent, AXTranslationModule, AsyncPipe],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXMOrgChartEmployeeNodeComponent {\n protected readonly host: AXMOrgChartHostApi = inject(AXM_ORG_CHART_HOST);\n\n readonly data = input.required<AXMOrganizationNode>();\n\n protected readonly employeeFooterMetrics = computed((): AXMOrgChartNodeFooterMetric[] => {\n const teams = this.host.getTeamsMembershipCount(this.data());\n if (teams == null || teams <= 0) {\n return [];\n }\n return [\n {\n icon: 'fa-people-group',\n value: String(teams),\n title: this.host.chartML.teams,\n },\n ];\n });\n\n /** Frame color for employee merged cards — distinct from business units (`accent2`). */\n protected getColorKey(): string {\n return 'accent3';\n }\n}\n\n//#endregion\n","<div>\n @if (data().metadata?.['chartTemplate'] === 'employee-card') {\n @let titleText = (data().title | translate | async) ?? '';\n @let subtitleText = data().subtitle ? ((data().subtitle | translate | async) ?? '') : '';\n <div\n #node\n class=\"--node-container --merged-card axm-org-chart-card axm-org-chart-card--employee\"\n [attr.data-chart-node-id]=\"data().id\"\n [class.--selected]=\"host.isNodeSelected(data())\"\n [style]=\"host.getNodeColors(getColorKey())\"\n (click)=\"host.selectNode(data())\"\n (contextmenu)=\"host.selectNode(data())\"\n >\n <div class=\"--container\">\n <div class=\"axm-org-chart-card__accent\" aria-hidden=\"true\"></div>\n <div class=\"axm-org-chart-card__body\">\n <div class=\"axm-org-chart-card__header axm-org-chart-card__header--person\">\n <axp-avatar [fullName]=\"titleText\" [placeholder]=\"!titleText.trim()\" [size]=\"56\" />\n <div class=\"axm-org-chart-card__person-text\">\n @if (titleText.trim()) {\n <span class=\"axm-org-chart-card__person-name\" [title]=\"titleText\">{{ titleText }}</span>\n }\n @if (subtitleText) {\n <span class=\"axm-org-chart-card__person-role\">{{ subtitleText }}</span>\n }\n </div>\n </div>\n </div>\n @if (employeeFooterMetrics().length > 0) {\n <div class=\"axm-org-chart-card__footer\">\n @for (m of employeeFooterMetrics(); track $index) {\n <div class=\"axm-org-chart-card__metric\">\n <i [class]=\"'fa-light fa-fw axm-org-chart-card__metric-icon ' + m.icon\"></i>\n <div class=\"axm-org-chart-card__metric-col\">\n <span class=\"axm-org-chart-card__metric-value\">{{ m.value }}</span>\n <span\n class=\"axm-org-chart-card__metric-title\"\n [title]=\"(m.title | translate | async) ?? ''\"\n >{{ m.title | translate | async }}</span\n >\n </div>\n </div>\n }\n </div>\n }\n @if (data().children && data().children!.length > 0) {\n <div class=\"--toggle\">\n <ax-button class=\"ax-xs ax-rounded-sm\" (onClick)=\"host.toggleNode(data(), node)\">\n <ax-icon\n icon=\"fa-solid\"\n [class]=\"data().isExpanded === false ? 'fa-chevron-down' : 'fa-chevron-up'\"\n ></ax-icon>\n </ax-button>\n </div>\n }\n </div>\n </div>\n } @else {\n @let leadIcon = data().icon ?? 'fa-address-card';\n <div\n #node\n class=\"--node-container --merged-card axm-org-chart-card axm-org-chart-card--employee\"\n [attr.data-chart-node-id]=\"data().id\"\n [class.--selected]=\"host.isNodeSelected(data())\"\n [style]=\"host.getNodeColors('surface')\"\n (click)=\"host.selectNode(data())\"\n (contextmenu)=\"host.selectNode(data())\"\n >\n <div class=\"--container\">\n <div class=\"axm-org-chart-card__accent\" aria-hidden=\"true\"></div>\n <div class=\"axm-org-chart-card__body\">\n <div class=\"axm-org-chart-card__header axm-org-chart-card__header--org\">\n <div class=\"axm-org-chart-card__leading-icon\">\n <i [class]=\"'fa-light fa-xl fa-fw ' + leadIcon\"></i>\n </div>\n <div class=\"axm-org-chart-card__title-block\">\n <span class=\"axm-org-chart-card__title\" [title]=\"(data().title | translate | async) ?? ''\">{{\n data().title | translate | async\n }}</span>\n @if (data().subtitle) {\n <span class=\"axm-org-chart-card__subtitle\" [title]=\"(data().subtitle! | translate | async) ?? ''\">{{\n data().subtitle! | translate | async\n }}</span>\n }\n @if (data().description) {\n <span class=\"axm-org-chart-card__desc\">{{ data().description | translate | async }}</span>\n }\n </div>\n </div>\n </div>\n @if (data().children && data().children!.length > 0) {\n <div class=\"--toggle\">\n <ax-button class=\"ax-xs ax-rounded-sm\" (onClick)=\"host.toggleNode(data(), node)\">\n <ax-icon\n icon=\"fa-solid\"\n [class]=\"data().isExpanded === false ? 'fa-chevron-down' : 'fa-chevron-up'\"\n ></ax-icon>\n </ax-button>\n </div>\n }\n </div>\n </div>\n }\n</div>\n","//#region ---- Imports ----\n\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPAvatarComponent } from '@acorex/platform/layout/components';\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, input, ViewEncapsulation } from '@angular/core';\nimport { AXM_ORG_CHART_HOST, type AXMOrgChartHostApi } from '../../tokens/org-chart-host.token';\nimport { AXMOrgChartNodeFooterMetric, AXMOrganizationNode } from '../../model/org-chart.type';\n\n//#endregion\n\n//#region ---- Component ----\n\n/** Position node: merged manager (occupant slot), IC seat, or compact card. */\n@Component({\n selector: 'axm-org-chart-position-node',\n templateUrl: './org-chart-position-node.component.html',\n imports: [AXButtonModule, AXDecoratorModule, AXPAvatarComponent, AXTranslationModule, AsyncPipe],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXMOrgChartPositionNodeComponent {\n protected readonly host: AXMOrgChartHostApi = inject(AXM_ORG_CHART_HOST);\n\n readonly data = input.required<AXMOrganizationNode>();\n\n protected readonly icFooterMetrics = computed((): AXMOrgChartNodeFooterMetric[] => {\n const roster = this.host.getSubtreeRosterCounts(this.data());\n if (!roster) {\n return [];\n }\n return [\n {\n icon: 'fa-users',\n value: String(roster.people),\n title: this.host.chartML.people,\n },\n {\n icon: 'fa-briefcase',\n value: String(roster.positions),\n title: this.host.chartML.positions,\n },\n ];\n });\n\n protected readonly managerFooterMetrics = computed((): AXMOrgChartNodeFooterMetric[] => {\n const stats = this.data().metadata?.['stats'] as Record<string, unknown> | undefined;\n const directReports = stats?.['directReports'];\n if (typeof directReports !== 'number' || !Number.isFinite(directReports) || directReports <= 0) {\n return [];\n }\n return [\n {\n icon: 'fa-users',\n value: String(Math.max(0, Math.floor(directReports))),\n title: this.host.chartML.directReports,\n },\n ];\n });\n}\n\n//#endregion\n","<div>\n @if (data().metadata?.['chartTemplate'] === 'merged-manager') {\n @let leadIcon = 'fa-user-tie';\n <div\n #node\n class=\"--node-container --merged-card axm-org-chart-card axm-org-chart-card--position\"\n [class.axm-org-chart-card--vacant]=\"!!data().metadata?.['vacant']\"\n [attr.data-chart-node-id]=\"data().id\"\n [class.--selected]=\"host.isNodeSelected(data())\"\n [style]=\"host.getNodeColors('accent3')\"\n (click)=\"host.selectNode(data())\"\n (contextmenu)=\"host.selectNode(data())\"\n >\n <div class=\"--container\">\n <div class=\"axm-org-chart-card__accent\" aria-hidden=\"true\"></div>\n <div class=\"axm-org-chart-card__body\">\n <div class=\"axm-org-chart-card__header axm-org-chart-card__header--org\">\n <div class=\"axm-org-chart-card__leading-icon\">\n <i [class]=\"'fa-light fa-xl fa-fw ' + leadIcon\"></i>\n </div>\n <div class=\"axm-org-chart-card__title-block\">\n <span class=\"axm-org-chart-card__title\" [title]=\"(data().title | translate | async) ?? ''\">{{\n data().title | translate | async\n }}</span>\n @if (data().subtitle && host.shouldShowOrgCardSubtitle(data())) {\n <span class=\"axm-org-chart-card__subtitle\" [title]=\"(data().subtitle! | translate | async) ?? ''\">{{\n data().subtitle! | translate | async\n }}</span>\n }\n </div>\n </div>\n <section class=\"axm-org-chart-card__person\">\n <div class=\"axm-org-chart-card__person-row\">\n <axp-avatar\n [fullName]=\"data().metadata?.['occupant']?.['displayName'] ?? ''\"\n [placeholder]=\"!!data().metadata?.['vacant'] || !data().metadata?.['occupant']?.['displayName']\"\n [size]=\"44\"\n />\n <div class=\"axm-org-chart-card__person-text\">\n @if (!!data().metadata?.['vacant'] || !data().metadata?.['occupant']?.['displayName']) {\n <span class=\"axm-org-chart-card__person-vacant\">{{ host.chartML.vacant | translate | async }}</span>\n } @else {\n <span class=\"axm-org-chart-card__person-name\">{{ data().metadata?.['occupant']?.['displayName'] }}</span>\n }\n @if (\n data().description &&\n !data().metadata?.['vacant'] &&\n data().metadata?.['occupant']?.['displayName']\n ) {\n <span class=\"axm-org-chart-card__person-role\">{{ data().description! | translate | async }}</span>\n }\n </div>\n </div>\n </section>\n </div>\n @if (managerFooterMetrics().length > 0) {\n <div class=\"axm-org-chart-card__footer\">\n @for (m of managerFooterMetrics(); track $index) {\n <div class=\"axm-org-chart-card__metric\">\n <i [class]=\"'fa-light fa-fw axm-org-chart-card__metric-icon ' + m.icon\"></i>\n <div class=\"axm-org-chart-card__metric-col\">\n <span class=\"axm-org-chart-card__metric-value\">{{ m.value }}</span>\n <span\n class=\"axm-org-chart-card__metric-title\"\n [title]=\"(m.title | translate | async) ?? ''\"\n >{{ m.title | translate | async }}</span\n >\n </div>\n </div>\n }\n </div>\n }\n @if (data().children && data().children!.length > 0) {\n <div class=\"--toggle\">\n <ax-button class=\"ax-xs ax-rounded-sm\" (onClick)=\"host.toggleNode(data(), node)\">\n <ax-icon\n icon=\"fa-solid\"\n [class]=\"data().isExpanded === false ? 'fa-chevron-down' : 'fa-chevron-up'\"\n ></ax-icon>\n </ax-button>\n </div>\n }\n </div>\n </div>\n } @else if (data().metadata?.['chartTemplate'] === 'position-ic') {\n @let leadIcon = data().icon ?? 'fa-user-tie';\n <div\n #node\n class=\"--node-container --merged-card axm-org-chart-card axm-org-chart-card--position\"\n [class.axm-org-chart-card--vacant]=\"!!data().metadata?.['vacant']\"\n [attr.data-chart-node-id]=\"data().id\"\n [class.--selected]=\"host.isNodeSelected(data())\"\n [style]=\"host.getNodeColors('accent3')\"\n (click)=\"host.selectNode(data())\"\n (contextmenu)=\"host.selectNode(data())\"\n >\n <div class=\"--container\">\n <div class=\"axm-org-chart-card__accent\" aria-hidden=\"true\"></div>\n <div class=\"axm-org-chart-card__body\">\n <div class=\"axm-org-chart-card__header axm-org-chart-card__header--org\">\n <div class=\"axm-org-chart-card__leading-icon\">\n <i [class]=\"'fa-light fa-xl fa-fw ' + leadIcon\"></i>\n </div>\n <div class=\"axm-org-chart-card__title-block\">\n <span class=\"axm-org-chart-card__title\" [title]=\"(data().title | translate | async) ?? ''\">{{\n data().title | translate | async\n }}</span>\n @if (data().subtitle) {\n <span class=\"axm-org-chart-card__subtitle\" [title]=\"(data().subtitle! | translate | async) ?? ''\">{{\n data().subtitle! | translate | async\n }}</span>\n } @else if (data().metadata?.['vacant']) {\n <span class=\"axm-org-chart-card__subtitle\">{{ host.chartML.vacant | translate | async }}</span>\n }\n </div>\n </div>\n </div>\n @if (icFooterMetrics().length > 0) {\n <div class=\"axm-org-chart-card__footer\">\n @for (m of icFooterMetrics(); track $index) {\n <div class=\"axm-org-chart-card__metric\">\n <i [class]=\"'fa-light fa-fw axm-org-chart-card__metric-icon ' + m.icon\"></i>\n <div class=\"axm-org-chart-card__metric-col\">\n <span class=\"axm-org-chart-card__metric-value\">{{ m.value }}</span>\n <span\n class=\"axm-org-chart-card__metric-title\"\n [title]=\"(m.title | translate | async) ?? ''\"\n >{{ m.title | translate | async }}</span\n >\n </div>\n </div>\n }\n </div>\n }\n @if (data().children && data().children!.length > 0) {\n <div class=\"--toggle\">\n <ax-button class=\"ax-xs ax-rounded-sm\" (onClick)=\"host.toggleNode(data(), node)\">\n <ax-icon\n icon=\"fa-solid\"\n [class]=\"data().isExpanded === false ? 'fa-chevron-down' : 'fa-chevron-up'\"\n ></ax-icon>\n </ax-button>\n </div>\n }\n </div>\n </div>\n } @else {\n @let leadIcon = data().icon ?? 'fa-user-tie';\n <div\n #node\n class=\"--node-container --merged-card axm-org-chart-card axm-org-chart-card--position\"\n [attr.data-chart-node-id]=\"data().id\"\n [class.--selected]=\"host.isNodeSelected(data())\"\n [style]=\"host.getNodeColors('accent3')\"\n (click)=\"host.selectNode(data())\"\n (contextmenu)=\"host.selectNode(data())\"\n >\n <div class=\"--container\">\n <div class=\"axm-org-chart-card__accent\" aria-hidden=\"true\"></div>\n <div class=\"axm-org-chart-card__body\">\n <div class=\"axm-org-chart-card__header axm-org-chart-card__header--org\">\n <div class=\"axm-org-chart-card__leading-icon\">\n <i [class]=\"'fa-light fa-xl fa-fw ' + leadIcon\"></i>\n </div>\n <div class=\"axm-org-chart-card__title-block\">\n <span class=\"axm-org-chart-card__title\" [title]=\"(data().title | translate | async) ?? ''\">{{\n data().title | translate | async\n }}</span>\n @if (data().subtitle) {\n <span class=\"axm-org-chart-card__subtitle\" [title]=\"(data().subtitle! | translate | async) ?? ''\">{{\n data().subtitle! | translate | async\n }}</span>\n }\n @if (data().description) {\n <span class=\"axm-org-chart-card__desc\">{{ data().description | translate | async }}</span>\n }\n </div>\n </div>\n </div>\n @if (data().children && data().children!.length > 0) {\n <div class=\"--toggle\">\n <ax-button class=\"ax-xs ax-rounded-sm\" (onClick)=\"host.toggleNode(data(), node)\">\n <ax-icon\n icon=\"fa-solid\"\n [class]=\"data().isExpanded === false ? 'fa-chevron-down' : 'fa-chevron-up'\"\n ></ax-icon>\n </ax-button>\n </div>\n }\n </div>\n </div>\n }\n</div>\n","//#region ---- Imports ----\n\nimport { ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\nimport { AXMOrgChartNodeType, type AXMOrganizationNode } from '../model/org-chart.type';\nimport { AXMOrgChartBusinessUnitNodeComponent } from './business-unit/org-chart-business-unit-node.component';\nimport { AXMOrgChartCompanyNodeComponent } from './company/org-chart-company-node.component';\nimport { AXMOrgChartEmployeeNodeComponent } from './employee/org-chart-employee-node.component';\nimport { AXMOrgChartPositionNodeComponent } from './position/org-chart-position-node.component';\n\n//#endregion\n\n//#region ---- Component ----\n\n/**\n * Picks the org chart card by node type. Uses a static @switch (not NgComponentOutlet) so\n * components render reliably when the host is created in code and moved into an SVG foreignObject.\n */\n@Component({\n selector: 'axm-org-chart-node-outlet',\n templateUrl: './org-chart-node-outlet.component.html',\n styleUrls: ['./org-chart-node-outlet.component.scss'],\n imports: [\n AXMOrgChartCompanyNodeComponent,\n AXMOrgChartBusinessUnitNodeComponent,\n AXMOrgChartPositionNodeComponent,\n AXMOrgChartEmployeeNodeComponent,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'axm-org-chart-node-outlet',\n },\n})\nexport class AXMOrgChartNodeOutletComponent {\n protected readonly NodeTypes = AXMOrgChartNodeType;\n\n readonly data = input.required<AXMOrganizationNode>();\n}\n\n//#endregion\n","@switch (data().type) {\n@case (NodeTypes.Company) {\n<axm-org-chart-company-node [data]=\"data()\" />\n} @case (NodeTypes.BusinessUnit) {\n<axm-org-chart-business-unit-node [data]=\"data()\" />\n} @case (NodeTypes.Position) {\n<axm-org-chart-position-node [data]=\"data()\" />\n} @case (NodeTypes.Employee) {\n<axm-org-chart-employee-node [data]=\"data()\" />\n} @default {\n<axm-org-chart-company-node [data]=\"data()\" />\n} }","//#region ---- Imports ----\n\nimport { inject, Injectable } from '@angular/core';\nimport {\n AXM_ORG_CHART_NODE_CONTRIBUTOR,\n AXMOrgChartNodeContributionContext,\n AXMOrgChartNodeContributionProvider,\n AXMOrgChartNodeContributorRef,\n AXMOrgChartNodeInfoContribution,\n AXMOrgChartNodeMenuAction,\n} from '../tokens/org-chart-node-contribution.token';\n\n//#endregion\n\n//#region ---- Service ----\n\n@Injectable()\nexport class AXMOrgChartNodeContributionService {\n /** `inject` typings for this multi-token omit the array wrapper; runtime value is always `T[]`. */\n private readonly contributorSlots: AXMOrgChartNodeContributorRef[] =\n (inject(AXM_ORG_CHART_NODE_CONTRIBUTOR, { optional: true }) as AXMOrgChartNodeContributorRef[] | null) ?? [];\n\n /**\n * Resolves eager contributors and lazy `provideLazyProvider` slots (factory returns a Promise).\n */\n private async resolveContributors(): Promise<AXMOrgChartNodeContributionProvider[]> {\n return Promise.all(this.contributorSlots.map((slot) => Promise.resolve(slot)));\n }\n\n /**\n * Collects and sorts menu actions contributed by all providers for the current node context.\n */\n async getMenuActions(context: AXMOrgChartNodeContributionContext): Promise<AXMOrgChartNodeMenuAction[]> {\n const contributors = await this.resolveContributors();\n const buckets = await Promise.all(contributors.map((provider) => provider.getMenuActions(context)));\n return buckets\n .flat()\n .sort((a, b) => (a.order ?? Number.MAX_SAFE_INTEGER) - (b.order ?? Number.MAX_SAFE_INTEGER));\n }\n\n /**\n * Collects and sorts related info blocks contributed for the selected node.\n * This is used by the upcoming node detail drawer.\n */\n async getInfoContributions(context: AXMOrgChartNodeContributionContext): Promise<AXMOrgChartNodeInfoContribution[]> {\n const contributors = await this.resolveContributors();\n const buckets = await Promise.all(\n contributors.map((provider) => provider.getInfoContributions?.(context) ?? Promise.resolve([])),\n );\n return buckets\n .flat()\n .sort((a, b) => (a.order ?? Number.MAX_SAFE_INTEGER) - (b.order ?? Number.MAX_SAFE_INTEGER));\n }\n}\n\n//#endregion\n","import { AXMOrganizationNode, AXMOrgChartNodeType } from '../model/org-chart.type';\n\n/**\n * Drops leaf vacant seat position nodes from the persisted chart tree (matches generator behavior when\n * `showVacantLeafSeats` is false).\n */\nexport function omitVacantLeafSeatNodes(root: AXMOrganizationNode): AXMOrganizationNode {\n const clone = structuredClone(root);\n const visit = (node: AXMOrganizationNode): void => {\n if (!node.children?.length) {\n return;\n }\n node.children = node.children.filter((child) => {\n const hideVacantSeat =\n child.type === AXMOrgChartNodeType.Position && child.metadata?.['vacant'] === true;\n return !hideVacantSeat;\n });\n for (const child of node.children) {\n visit(child);\n }\n };\n visit(clone);\n return clone;\n}\n","import { AXStyleColorType } from '@acorex/cdk/common';\nimport { AXLoadingDialogService } from '@acorex/components/loading-dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPExportService, AXPSettingsService } from '@acorex/platform/common';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { AXPCommandService } from '@acorex/platform/runtime';\n\nimport { createMultiLanguageString } from '@acorex/core/translation';\nimport { AXPDataGenerator, AXPPlatformScope } from '@acorex/platform/core';\nimport { inject, Injectable, signal } from '@angular/core';\n\nimport { RootConfig } from '../../../const';\nimport {\n AXMOrgChartStructurePayload,\n AXMOrganizationManagementChartEntityModel,\n} from '../../../entities/chart/chart.types';\nimport { AXPOrganizationManagementSettings } from '../../../settings.keys';\nimport { omitVacantLeafSeatNodes } from '../utils/org-chart-vacant-filter';\nimport {\n normalizeVacantLeafSeatsSetting,\n type OrgChartHydratedUiPrefs,\n parseOrgChartMode,\n} from '../ui/org-chart-user-ui.helper';\nimport { type OrgChartMode, AXMOrganizationNode, AXMOrgChartNodeType } from '../model/org-chart.type';\n\nexport type { OrgChartMode } from '../model/org-chart.type';\n\n@Injectable()\nexport class AXMOrgChartService {\n private readonly entityService = inject(AXPEntityService);\n private readonly chartData = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.chart.name)\n .data<string, AXMOrganizationManagementChartEntityModel>();\n\n private loadingDialog = inject(AXLoadingDialogService);\n private exportService = inject(AXPExportService);\n private translationService = inject(AXTranslationService);\n private commandService = inject(AXPCommandService);\n private readonly settingsService = inject(AXPSettingsService);\n\n private readonly _modesBundle = signal<AXMOrgChartStructurePayload | null>(null);\n private readonly _selectedMode = signal<OrgChartMode>('structure');\n private readonly _showVacantLeafSeats = signal(true);\n\n private readonly _rootNode = signal<AXMOrganizationNode>({\n id: AXPDataGenerator.uuid(),\n type: AXMOrgChartNodeType.Company,\n title: createMultiLanguageString('Company', 'شرکت'),\n });\n\n public readonly rootNode = this._rootNode.asReadonly();\n public readonly selectedMode = this._selectedMode.asReadonly();\n public readonly showVacantLeafSeats = this._showVacantLeafSeats.asReadonly();\n\n /**\n * Applies user prefs resolved before first paint (route resolver). Does not persist.\n */\n applyHydratedUiPrefs(prefs: OrgChartHydratedUiPrefs | undefined): void {\n if (!prefs) {\n return;\n }\n if (prefs.selectedMode !== undefined) {\n this._selectedMode.set(prefs.selectedMode);\n }\n if (prefs.showVacantLeafSeats !== undefined) {\n this._showVacantLeafSeats.set(prefs.showVacantLeafSeats);\n }\n }\n\n /**\n * Applies current mode + vacant visibility from the cached bundle onto {@link rootNode}.\n */\n applyDisplayRoot(): void {\n const bundle = this._modesBundle();\n if (!bundle?.modes) {\n return;\n }\n const modeKey = this._selectedMode();\n let tree = structuredClone(bundle.modes[modeKey]) as AXMOrganizationNode;\n if (!this._showVacantLeafSeats()) {\n tree = omitVacantLeafSeatNodes(tree);\n }\n this._rootNode.set(tree);\n }\n\n public setChartMode(mode: OrgChartMode): void {\n this._selectedMode.set(mode);\n this.applyDisplayRoot();\n this.persistChartMode(mode);\n }\n\n public setShowVacantLeafSeats(value: unknown): void {\n const normalized = normalizeVacantLeafSeatsSetting(value);\n if (normalized === undefined) {\n return;\n }\n this._showVacantLeafSeats.set(normalized);\n this.applyDisplayRoot();\n this.persistShowVacantLeafSeats(normalized);\n }\n\n //#region ---- User chart preferences (settings) ----\n\n /**\n * Reads persisted chart UI preferences into signals (does not persist).\n */\n private async restoreChartUiFromSettings(): Promise<void> {\n try {\n const userScope = this.settingsService.scope(AXPPlatformScope.User);\n const modeRaw = await userScope.get<string | undefined>(\n AXPOrganizationManagementSettings.HierarchyChartMode,\n );\n const mode = parseOrgChartMode(modeRaw);\n if (mode !== undefined) {\n this._selectedMode.set(mode);\n }\n\n const vacantRaw = await userScope.get<unknown>(\n AXPOrganizationManagementSettings.HierarchyChartShowVacantLeafSeats,\n );\n const vacant = normalizeVacantLeafSeatsSetting(vacantRaw);\n if (vacant !== undefined) {\n this._showVacantLeafSeats.set(vacant);\n }\n } catch {\n // Keep constructor defaults when settings are unavailable.\n }\n }\n\n private persistChartMode(mode: OrgChartMode): void {\n void this.settingsService\n .scope(AXPPlatformScope.User)\n .set(AXPOrganizationManagementSettings.HierarchyChartMode, mode)\n .catch(() => {});\n }\n\n private persistShowVacantLeafSeats(value: boolean): void {\n void this.settingsService\n .scope(AXPPlatformScope.User)\n .set(AXPOrganizationManagementSettings.HierarchyChartShowVacantLeafSeats, value)\n .catch(() => {});\n }\n\n //#endregion\n\n public async load(): Promise<void> {\n const first = (\n await this.chartData.query({\n skip: 0,\n take: 1,\n sort: [{ field: 'version', dir: 'desc' }],\n })\n ).items[0];\n\n const structure = first?.structure;\n if (\n structure?.modes?.structure &&\n structure?.modes?.location &&\n structure?.modes?.reporting &&\n structure?.modes?.positionHierarchy\n ) {\n this._modesBundle.set(structure);\n await this.restoreChartUiFromSettings();\n this.applyDisplayRoot();\n return;\n }\n\n await this.generate();\n await this.load();\n }\n\n public async generate(): Promise<void> {\n await this.commandService.execute('OrganizationManagement.OrgChart:Generate', {});\n }\n\n //#region ---- Printing ----\n\n async printChart(element: HTMLElement): Promise<void> {\n const d = this.loadingDialog.show({\n title: 'Printing Organization Chart...',\n mode: 'determinate',\n progressColor: 'primary',\n progressValue: 0,\n status: '0/10',\n text: 'Initializing print process...',\n buttons: [{ text: 'Cancel', color: 'danger', onClick: () => d.close() }],\n });\n\n try {\n await this.updateStep(\n d,\n await this.translate('@organization-management:organization-chart.states.preparing-document'),\n 10,\n '1/10',\n );\n const chartElement = element;\n const { originalStyles, modifiedStyles } = this.expandChart(chartElement);\n\n await this.updateStep(\n d,\n await this.translate('@organization-management:organization-chart.states.rendering-chart-image'),\n 25,\n '2.5/10',\n );\n const blob = await this.exportService.generateBlobFromElement(chartElement, {\n popup: true,\n filter: (node: Node) => !(node instanceof Element && node.classList.contains('--toggle')),\n bgcolor: 'transparent',\n scale: 2,\n quality: 1,\n height: Number.parseInt(modifiedStyles.modifiedHeight),\n width: Number.parseInt(modifiedStyles.modifiedWidth),\n });\n\n await this.updateStep(\n d,\n await this.translate('@organization-management:organization-chart.states.finalizing-image-processing'),\n 50,\n '5/10',\n );\n this.restoreChartStyles(chartElement, originalStyles);\n\n await this.updateStep(\n d,\n await this.translate('@organization-management:organization-chart.states.downloading-image'),\n 75,\n '7.5/10',\n );\n this.exportService.download(blob, 'org-chart.png');\n\n await this.updateStep(\n d,\n await this.translate('@organization-management:organization-chart.states.process-complete'),\n 100,\n '10/10',\n );\n setTimeout(() => d.close(), 1500);\n } catch (err) {\n console.error('Error capturing chart:', err);\n await this.updateStep(\n d,\n await this.translate('@organization-management:organization-chart.states.failed-to-generate-chart-image'),\n 100,\n 'Error',\n 'danger',\n );\n d.close();\n }\n }\n\n private expandChart(chartElement: HTMLElement) {\n const originalStyles = {\n originalOverflow: chartElement.style.overflow,\n originalWidth: chartElement.style.width,\n originalHeight: chartElement.style.height,\n };\n const modifiedStyles = {\n modifiedOverflow: 'visible',\n modifiedWidth: `${chartElement.scrollWidth}px`,\n modifiedHeight: `${chartElement.scrollHeight}px`,\n };\n chartElement.style.overflow = modifiedStyles.modifiedOverflow;\n chartElement.style.width = modifiedStyles.modifiedWidth;\n chartElement.style.height = modifiedStyles.modifiedHeight;\n return { originalStyles, modifiedStyles };\n }\n\n private restoreChartStyles(\n chartElement: HTMLElement,\n originalStyles: { originalOverflow: string; originalWidth: string; originalHeight: string },\n ): void {\n chartElement.style.overflow = originalStyles.originalOverflow;\n chartElement.style.width = originalStyles.originalWidth;\n chartElement.style.height = originalStyles.originalHeight;\n }\n\n private async updateStep(\n dialog: any,\n text: string,\n progress: number,\n status: string,\n color: AXStyleColorType = 'primary',\n ): Promise<void> {\n return new Promise((resolve) => {\n dialog.setProgressColor(color);\n dialog.setProgressText(text);\n dialog.setProgressValue(progress);\n dialog.setProgressStatus(status);\n resolve();\n });\n }\n\n private async translate(key: string): Promise<string> {\n return (await this.translationService.translateAsync(key)) + '...';\n }\n\n //#endregion\n}\n","//#region ---- Imports ----\n\nimport { AXValueChangedEvent } from '@acorex/cdk/common';\nimport { AXPanViewDirective } from '@acorex/cdk/pan-view';\nimport { AXBadgeModule } from '@acorex/components/badge';\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport {\n AXContextMenuComponent,\n AXContextMenuItemsClickEvent,\n AXContextMenuOpeningEvent,\n AXMenuItem,\n AXMenuModule,\n} from '@acorex/components/menu';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXSwitchModule } from '@acorex/components/switch';\nimport { AXTranslationModule, createMultiLanguageString, resolveMultiLanguageString } from '@acorex/core/translation';\nimport { AXStyleColorType } from '@acorex/cdk/common';\nimport {\n AXPActionMenuItem,\n AXPBreadcrumbItem,\n AXPDeviceService,\n AXPExecuteCommand,\n AXPMultiLanguageString,\n getActionButton,\n} from '@acorex/platform/core';\nimport {\n AXPLayoutFloatingZoomBarComponent,\n AXPLayoutSideDetailPanelComponent,\n type AXPLayoutSideDetailPanelEmptyState,\n type AXPLayoutSideDetailPanelHeader,\n type AXPLayoutSideDetailPanelSection,\n AXPThemeLayoutBlockComponent,\n} from '@acorex/platform/layout/components';\nimport { AXPPageLayoutBase, AXPPageLayoutBaseComponent, AXPPageLayoutComponent } from '@acorex/platform/layout/views';\nimport { CommonModule } from '@angular/common';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n effect,\n ComponentRef,\n computed,\n ElementRef,\n inject,\n Injector,\n LOCALE_ID,\n NgZone,\n signal,\n viewChild,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ActivatedRoute, RouterModule } from '@angular/router';\nimport set from 'lodash-es/set';\nimport { RootConfig } from '../../../const';\nimport { AXMOrgChartStructureRefreshHub } from '../model/org-chart-structure-refresh.hub';\nimport { AXMOrgChartNodeOutletComponent } from '../nodes/org-chart-node-outlet.component';\nimport { AXM_ORG_CHART_HOST, type AXMOrgChartHostApi } from '../tokens/org-chart-host.token';\nimport {\n AXMOrgChartNodeContributionContext,\n AXMOrgChartNodeKind,\n AXMOrgChartNodeMenuAction,\n} from '../tokens/org-chart-node-contribution.token';\nimport { AXM_ORG_CHART_EMPLOYEE_SUBMENU_GROUP_ID } from '../constants/org-chart-employee-submenu.const';\nimport { AXMOrgChartNodeContributionService } from '../services/org-chart-node-contribution.service';\nimport { AXMOrgChartService, OrgChartMode } from '../services/org-chart.service';\nimport type { OrgChartHydratedUiPrefs } from '../ui/org-chart-user-ui.helper';\nimport { AXMOrganizationNode, AXMOrgChartCategory, AXMOrgChartNodeType } from '../model/org-chart.type';\n\n//#endregion\n\n//#region ---- Org chart context menu item type ----\n\n/**\n * Row while building: {@link AXMOrgChartNodeMenuAction.break} `before` / `both` becomes `orgChartBreakBefore` here,\n * then `materializeOrgChartMenuBreaks` turns that into `AXMenuItem.break` on the **previous** row and clears the flag.\n */\ntype AXMOrgChartContextMenuItem = AXMenuItem & { orgChartBreakBefore?: boolean };\n\n//#endregion\n\n//#region ---- Component ----\n\n/**\n * Component for displaying and interacting with an organizational chart.\n */\n@Component({\n templateUrl: './org-chart.page.html',\n styleUrls: ['./org-chart.page.scss'],\n imports: [\n CommonModule,\n FormsModule,\n RouterModule,\n //\n AXMenuModule,\n AXButtonModule,\n AXDropdownButtonModule,\n AXTranslationModule,\n AXDecoratorModule,\n AXPanViewDirective,\n AXLoadingModule,\n AXBreadcrumbsModule,\n AXBadgeModule,\n AXSearchBoxModule,\n AXSwitchModule,\n //\n AXPThemeLayoutBlockComponent,\n AXPPageLayoutComponent,\n AXPLayoutFloatingZoomBarComponent,\n AXPLayoutSideDetailPanelComponent,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n AXMOrgChartService,\n AXMOrgChartNodeContributionService,\n {\n provide: AXPPageLayoutBase,\n useExisting: AXMOrgChartPage,\n },\n { provide: AXM_ORG_CHART_HOST, useExisting: AXMOrgChartPage },\n ],\n})\nexport class AXMOrgChartPage extends AXPPageLayoutBaseComponent implements AXMOrgChartHostApi {\n //#region ---- Services & Dependencies ----\n\n protected readonly rootConfig = RootConfig;\n\n private d3!: typeof import('d3');\n\n private treeContainer = viewChild.required<ElementRef<HTMLDivElement>>('chart');\n private parent = viewChild.required<ElementRef<HTMLDivElement>>('parent');\n private contextMenu = viewChild(AXContextMenuComponent);\n private panView = viewChild(AXPanViewDirective);\n\n private ngzone = inject(NgZone);\n private pageInjector = inject(Injector);\n private viewContainerRef = inject(ViewContainerRef);\n // printing is handled by service itself\n protected chartService = inject(AXMOrgChartService);\n private readonly nodeContributionService = inject(AXMOrgChartNodeContributionService);\n\n private readonly route = inject(ActivatedRoute);\n\n private readonly localeId = inject(LOCALE_ID);\n\n protected readonly deviceService = inject(AXPDeviceService);\n\n private readonly orgChartStructureRefreshHub = inject(AXMOrgChartStructureRefreshHub);\n\n //#endregion\n\n //#region ---- Constructor ----\n\n constructor() {\n super();\n this.chartService.applyHydratedUiPrefs(\n this.route.snapshot.data['orgChartUi'] as OrgChartHydratedUiPrefs | undefined,\n );\n\n effect(() => {\n const rev = this.orgChartStructureRefreshHub.structureDataRevision();\n if (rev === 0) {\n return;\n }\n void this.reloadChartFromPersistedStructure();\n });\n }\n\n //#endregion\n\n //#region ---- Chart State & UI Metadata ----\n\n private readonly NODE_STROKE_COLOR = 'rgba(var(--ax-sys-color-primary-400))';\n private readonly LINK_STROKE_WIDTH = 1;\n\n /**\n * SVG `foreignObject` viewport and tree layout spacing.\n * Keep card `min-width` in `org-chart.page.scss` aligned with {@link chartNodeWidth}.\n */\n private readonly chartNodeWidth = 360;\n private readonly chartNodeHeight = 280;\n private readonly chartHorizontalSpacing = 24;\n private readonly chartVerticalSpacing = 48;\n /** Nudges card content inside the allocated foreignObject band (connectors use rendered bounds). */\n private readonly chartNodeYOffset = 10;\n\n protected isFullscreen = signal(false);\n protected panX = signal(0);\n protected panY = signal(0);\n protected panZoomLevel = signal(100);\n\n protected isChartRendered = false;\n protected selectedNodeId = signal<string | null>(null);\n /** Large layouts: optional side panel with {@link getNodeInfoItems} for the selected node (same UX pattern as document drive). */\n protected isDetailPanelOpen = signal(false);\n private activeContextNode: AXMOrganizationNode | null = null;\n private activeContextMenuActions = new Map<string, AXMOrgChartNodeMenuAction>();\n\n protected nodeTypes = [\n { title: 'Company', color: 'primary', icon: 'fal fa-building', category: AXMOrgChartCategory.Company },\n { title: 'Business Unit', color: 'accent2', icon: 'fal fa-sitemap', category: AXMOrgChartCategory.BusinessUnit },\n { title: 'Position', color: 'accent3', icon: 'fal fa-user-tie', category: AXMOrgChartCategory.Position },\n { title: 'Employee', color: 'surface', icon: 'fal fa-address-card', category: AXMOrgChartCategory.Employee },\n ];\n\n /**\n * UI chrome for chart cards; align copy with `organization-chart.organization-chart.nodes` / mock `org-chart-labels`.\n */\n public readonly chartML = {\n vacant: createMultiLanguageString('Vacant', 'خالی'),\n directReports: createMultiLanguageString('Direct reports', 'گزارش مستقیم'),\n teams: createMultiLanguageString('Teams', 'تیمها'),\n people: createMultiLanguageString('People', 'اعضا'),\n positions: createMultiLanguageString('Positions', 'سمتها'),\n /** Label above the chief executive slot on merged company cards. */\n chiefExecutive: createMultiLanguageString('Chief executive', 'مدیر اجرایی'),\n buHead: createMultiLanguageString('Head', 'سرپرست'),\n buPosition: createMultiLanguageString('Position', 'عنوان سمت'),\n unitType: createMultiLanguageString('Unit type', 'نوع واحد'),\n businessUnit: createMultiLanguageString('Business unit', 'واحد سازمانی'),\n location: createMultiLanguageString('Location', 'موقعیت'),\n code: createMultiLanguageString('Code', 'کد'),\n capacity: createMultiLanguageString('Capacity', 'ظرفیت'),\n level: createMultiLanguageString('Level', 'سطح'),\n email: createMultiLanguageString('Email', 'ایمیل'),\n phone: createMultiLanguageString('Phone', 'تلفن'),\n employmentType: createMultiLanguageString('Employment type', 'نوع همکاری'),\n workMode: createMultiLanguageString('Work mode', 'نحوه کار'),\n more: '@organization-management:organization-chart.node-actions.more',\n add: '@organization-management:organization-chart.node-actions.add',\n noActionsAvailable: '@organization-management:organization-chart.node-actions.no-actions',\n };\n\n /**\n * Selected tree node for the detail panel; stays in sync with {@link selectedNodeId}.\n */\n protected readonly detailPanelSelectedNode = computed(() => {\n const id = this.selectedNodeId();\n if (id == null || id === '') {\n return null;\n }\n return this.findNodeInTree(this.chartService.rootNode(), id);\n });\n\n /** Resolved copy for {@link AXPLayoutSideDetailPanelComponent} (loaded from i18n keys). */\n protected readonly detailPanelCopy = signal({\n panelTitle: '',\n emptyMessage: '',\n detailsSection: '',\n noRowsMessage: '',\n });\n\n protected readonly detailPanelHeader = computed((): AXPLayoutSideDetailPanelHeader | null => {\n const node = this.detailPanelSelectedNode();\n if (node == null) {\n return null;\n }\n const lang = this.localeId;\n let secondaryTitle: string | undefined;\n if (node.type === AXMOrgChartNodeType.BusinessUnit) {\n if (node.description) {\n secondaryTitle = resolveMultiLanguageString(node.description, lang);\n } else if (node.subtitle) {\n secondaryTitle = resolveMultiLanguageString(node.subtitle, lang);\n }\n } else if (node.subtitle) {\n secondaryTitle = resolveMultiLanguageString(node.subtitle, lang);\n }\n return {\n primaryTitle: resolveMultiLanguageString(node.title, lang),\n secondaryTitle,\n icon: {\n iconClass: this.detailPanelNodeIconClass(node),\n surfaceVars: this.getNodeColors(this.detailPanelNodeColorKey(node)),\n },\n };\n });\n\n protected readonly detailPanelSections = computed((): AXPLayoutSideDetailPanelSection[] => {\n const node = this.detailPanelSelectedNode();\n if (node == null) {\n return [];\n }\n const items = this.getNodeInfoItems(node);\n if (items.length === 0) {\n return [];\n }\n const lang = this.localeId;\n const copy = this.detailPanelCopy();\n return [\n {\n title: copy.detailsSection,\n rows: items.map((item) => ({\n label: resolveMultiLanguageString(item.label, lang),\n value: item.value,\n })),\n },\n ];\n });\n\n protected readonly detailPanelEmptyState = computed((): AXPLayoutSideDetailPanelEmptyState | null => {\n if (this.detailPanelSelectedNode() != null) {\n return null;\n }\n const copy = this.detailPanelCopy();\n return {\n primaryTitle: copy.panelTitle,\n message: copy.emptyMessage,\n icon: {\n iconClass: 'fa-solid fa-lg fa-fw fa-diagram-project',\n surfaceVars: this.getNodeColors('primary'),\n },\n };\n });\n\n protected readonly detailPanelNoRowsMessage = computed((): string | null => {\n const node = this.detailPanelSelectedNode();\n if (node == null || this.getNodeInfoItems(node).length > 0) {\n return null;\n }\n return this.detailPanelCopy().noRowsMessage;\n });\n\n /** Bound to `ax-search-box` in the page toolbar. */\n protected chartSearchQuery = '';\n private chartSearchPendingPresentation: 'none' | 'fit-all' | 'fit-one' = 'none';\n private chartSearchPendingFocusId: string | null = null;\n\n //#endregion\n\n //#region ---- Initialization ----\n\n #initialize = afterNextRender(async () => {\n this.d3 = await import('d3');\n\n await this.refresh();\n });\n\n //#endregion\n\n //#region ---- Detail Panel ----\n\n private readonly detailPanelI18nEffect = effect(() => {\n void this.loadDetailPanelCopy();\n });\n\n private async loadDetailPanelCopy(): Promise<void> {\n const [panelTitle, emptyMessage, detailsSection, noRowsMessage] = await Promise.all([\n this.translateService.translateAsync(\n '@organization-management:organization-chart.components.chart.detail-panel.title',\n ),\n this.translateService.translateAsync(\n '@organization-management:organization-chart.components.chart.detail-panel.empty',\n ),\n this.translateService.translateAsync(\n '@organization-management:organization-chart.components.chart.detail-panel.details-section',\n ),\n this.translateService.translateAsync(\n '@organization-management:organization-chart.components.chart.detail-panel.no-rows',\n ),\n ]);\n this.detailPanelCopy.set({\n panelTitle: panelTitle ?? '',\n emptyMessage: emptyMessage ?? '',\n detailsSection: detailsSection ?? '',\n noRowsMessage: noRowsMessage ?? '',\n });\n }\n\n /** Color token or literal CSS color for the detail panel header icon. */\n private detailPanelNodeColorKey(node: AXMOrganizationNode): string {\n if (node.type === AXMOrgChartNodeType.Company) {\n return 'primary';\n }\n if (node.type === AXMOrgChartNodeType.BusinessUnit) {\n const typeColor = node.metadata?.['unitTypeColor'];\n if (typeof typeColor === 'string' && typeColor.trim().length > 0) {\n return typeColor.trim();\n }\n return node.metadata?.['isRegional'] === true ? 'accent1' : 'accent2';\n }\n if (node.type === AXMOrgChartNodeType.Position || node.type === AXMOrgChartNodeType.Employee) {\n return 'accent3';\n }\n return 'primary';\n }\n\n private detailPanelNodeIconClass(node: AXMOrganizationNode): string {\n const raw = node.icon?.trim() ?? '';\n const withoutWeight = raw\n .replace(/\\bfa-(solid|light|regular|thin|duotone)\\b/gi, '')\n .trim()\n .replace(/\\s+/g, ' ');\n const glyph = withoutWeight.length > 0 ? withoutWeight : 'fa-sitemap';\n return `fa-solid fa-lg fa-fw ${glyph}`;\n }\n\n public toggleDetailPanel(): void {\n this.isDetailPanelOpen.update((open) => !open);\n }\n\n /**\n * Expands or collapses a node's branch and redraws the chart.\n */\n public setNodeBranchExpanded(data: AXMOrganizationNode, expanded: boolean): void {\n data.isExpanded = expanded;\n this.selectNode(data);\n this.redrawChart();\n }\n\n //#endregion\n\n //#region ---- Pan & Fullscreen ----\n\n /**\n * Zooms in the chart.\n */\n protected zoomIn() {\n this.panView()?.zoomIn();\n }\n\n /**\n * Zooms out the chart.\n */\n protected zoomOut() {\n this.panView()?.zoomOut();\n }\n\n /**\n * Resets the zoom level and pan position of the chart.\n */\n protected zoomReset() {\n this.panView()?.resetPosition();\n }\n\n /**\n * Toggles fullscreen mode for the chart.\n */\n protected toggleFullscreen() {\n if (this.isFullscreen()) {\n document.exitFullscreen();\n this.isFullscreen.set(false);\n } else {\n this.parent().nativeElement.requestFullscreen();\n this.isFullscreen.set(true);\n }\n document.querySelector(`foreignObject[node=\"node-${this.chartService.rootNode().id}\"]`)?.scrollIntoView({\n behavior: 'smooth',\n block: 'start',\n inline: 'center',\n });\n }\n\n //#endregion\n\n //#region ---- Chart Search ----\n\n protected onChartSearchValueChanged(event: AXValueChangedEvent<string | null>): void {\n const v = event.value;\n this.chartSearchQuery = typeof v === 'string' ? v : '';\n this.applyChartSearchFromQuery();\n }\n\n private applyChartSearchFromQuery(): void {\n const q = this.chartSearchQuery.trim().toLowerCase();\n if (!q) {\n this.chartSearchPendingPresentation = 'none';\n this.chartSearchPendingFocusId = null;\n this.applySearchHitClasses(new Set());\n return;\n }\n const matches = this.findNodesMatchingChartSearch(this.chartService.rootNode(), q);\n if (matches.length === 0) {\n this.chartSearchPendingPresentation = 'none';\n this.chartSearchPendingFocusId = null;\n this.applySearchHitClasses(new Set());\n return;\n }\n for (const node of matches) {\n this.ensureExpandedPathToNode(node.id);\n }\n this.chartSearchPendingPresentation = matches.length === 1 ? 'fit-one' : 'fit-all';\n this.chartSearchPendingFocusId = matches.length === 1 ? matches[0].id : null;\n this.redrawChart();\n }\n\n private completeChartRenderPresentation(): void {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n this.ngzone.run(() => {\n const q = this.chartSearchQuery.trim().toLowerCase();\n const mode = this.chartSearchPendingPresentation;\n const focusId = this.chartSearchPendingFocusId;\n this.chartSearchPendingPresentation = 'none';\n this.chartSearchPendingFocusId = null;\n\n if (!q) {\n this.applySearchHitClasses(new Set());\n return;\n }\n const matches = this.findNodesMatchingChartSearch(this.chartService.rootNode(), q);\n this.applySearchHitClasses(new Set(matches.map((m) => m.id)));\n if (matches.length === 0) {\n return;\n }\n if (mode === 'fit-one' && focusId != null && focusId !== '') {\n const node = this.findNodeInTree(this.chartService.rootNode(), focusId);\n if (node) {\n this.selectNode(node);\n }\n this.panView()?.resetPosition();\n requestAnimationFrame(() => this.centerChartOnForeignObject(focusId));\n } else if (mode === 'fit-all') {\n this.panView()?.resetPosition();\n }\n });\n });\n });\n }\n\n private findNodesMatchingChartSearch(root: AXMOrganizationNode, q: string): AXMOrganizationNode[] {\n const all: AXMOrganizationNode[] = [];\n this.collectAllChartNodes(root, all);\n return all.filter((n) => this.nodeMatchesChartSearchText(n, q));\n }\n\n private collectAllChartNodes(node: AXMOrganizationNode, out: AXMOrganizationNode[]): void {\n out.push(node);\n for (const child of node.children ?? []) {\n this.collectAllChartNodes(child, out);\n }\n }\n\n private nodeMatchesChartSearchText(node: AXMOrganizationNode, q: string): boolean {\n const parts: string[] = [];\n parts.push(resolveMultiLanguageString(node.title, this.localeId));\n if (node.subtitle != null) {\n parts.push(resolveMultiLanguageString(node.subtitle, this.localeId));\n }\n if (node.description != null) {\n parts.push(resolveMultiLanguageString(node.description, this.localeId));\n }\n const haystack = parts.join(' ').trim().toLowerCase();\n return haystack.includes(q);\n }\n\n private findPathToRootNode(root: AXMOrganizationNode, id: string): AXMOrganizationNode[] | null {\n if (root.id === id) {\n return [root];\n }\n for (const child of root.children ?? []) {\n const sub = this.findPathToRootNode(child, id);\n if (sub) {\n return [root, ...sub];\n }\n }\n return null;\n }\n\n private ensureExpandedPathToNode(targetId: string): void {\n const path = this.findPathToRootNode(this.chartService.rootNode(), targetId);\n if (path == null) {\n return;\n }\n for (let i = 0; i < path.length - 1; i++) {\n path[i].isExpanded = true;\n }\n }\n\n private applySearchHitClasses(ids: ReadonlySet<string>): void {\n const nodes = document.querySelectorAll('foreignObject.axp-chart-node');\n for (let i = 0; i < nodes.length; i++) {\n const fo = nodes[i] as HTMLElement;\n const raw = fo.getAttribute('node');\n const nodeId = raw?.startsWith('node-') === true ? raw.slice('node-'.length) : (raw ?? '');\n const container = fo.querySelector('.--node-container') as HTMLElement | null;\n if (container == null) {\n continue;\n }\n if (ids.has(nodeId)) {\n container.classList.add('--search-hit');\n } else {\n container.classList.remove('--search-hit');\n }\n }\n }\n\n private centerChartOnForeignObject(nodeId: string): void {\n const fo = document.querySelector(`foreignObject[node=\"node-${nodeId}\"]`) as HTMLElement | null;\n const panel = this.parent().nativeElement;\n if (fo == null) {\n return;\n }\n const foRect = fo.getBoundingClientRect();\n const cRect = panel.getBoundingClientRect();\n const dx = cRect.left + cRect.width / 2 - (foRect.left + foRect.width / 2);\n const dy = cRect.top + cRect.height / 2 - (foRect.top + foRect.height / 2);\n this.panX.update((x) => x + dx);\n this.panY.update((y) => y + dy);\n this.syncPanViewTransformFromSignals();\n }\n\n /**\n * Applies the same transform formula as {@link AXPanViewDirective} so programmatic pan updates take effect immediately.\n */\n private syncPanViewTransformFromSignals(): void {\n const el = this.treeContainer().nativeElement;\n el.style.transform = `translate(${this.panX()}px, ${this.panY()}px) scale(${this.panZoomLevel() / 100})`;\n }\n\n //#endregion\n\n //#region ---- Chart Layout Metrics ----\n\n /**\n * Calculates the maximum depth of the organizational chart.\n * @param node - The root node of the chart.\n * @returns The maximum depth of the chart.\n */\n private calculateMaxDepth(node: AXMOrganizationNode): number {\n if (!node.children || node.children.length === 0 || node.isExpanded === false) {\n return 1;\n }\n return 1 + Math.max(...node.children.map((child) => this.calculateMaxDepth(child)));\n }\n\n /**\n * Calculates the maximum breadth of the organizational chart.\n * @param node - The root node of the chart.\n * @returns The maximum breadth of the chart.\n */\n private calculateMaxBreadth(node: AXMOrganizationNode): number {\n if (!node.children || node.children.length === 0 || node.isExpanded === false) {\n return 1;\n }\n return node.children.reduce((acc, child) => acc + this.calculateMaxBreadth(child), 0);\n }\n\n //#endregion\n\n //#region ---- Chart Rendering ----\n\n /**\n * Creates and renders the organizational chart.\n * @param el - The container element for the chart.\n * @param data - The root node of the organizational chart.\n */\n createChart(el: Element, data: AXMOrganizationNode): void {\n if (!this.d3) {\n return;\n }\n const nw = this.chartNodeWidth;\n const nh = this.chartNodeHeight;\n const hGap = this.chartHorizontalSpacing;\n const vGap = this.chartVerticalSpacing;\n const yOff = this.chartNodeYOffset;\n\n this.ngzone.runOutsideAngular(() => {\n this.clearChart(el);\n const newSvg = this.d3.select(el).append('svg');\n\n const root = this.d3.hierarchy(data);\n\n root.descendants().forEach((node: any) => {\n if (node.data.isExpanded === false) {\n node.children = undefined;\n }\n });\n\n const treeLayout = this.d3\n .tree<AXMOrganizationNode>()\n .nodeSize([nw + hGap, nh + vGap]);\n\n treeLayout(root);\n\n let minX = Infinity,\n maxX = -Infinity,\n minY = Infinity,\n maxY = -Infinity;\n root.descendants().forEach((d: any) => {\n if (d.x < minX) minX = d.x;\n if (d.x > maxX) maxX = d.x;\n if (d.y < minY) minY = d.y;\n if (d.y > maxY) maxY = d.y;\n });\n\n const CONTAINER_WIDTH = maxX - minX + nw + 2 * hGap;\n const CONTAINER_HEIGHT = maxY - minY + nh + 2 * vGap;\n\n newSvg.attr('width', CONTAINER_WIDTH).attr('height', CONTAINER_HEIGHT);\n\n const g = newSvg\n .append('g')\n .attr(\n 'transform',\n `translate(${-minX + nw / 2 + hGap / 2}, ${-minY + nh / 2 + vGap / 2})`,\n );\n\n const linksLayer = g.append('g').attr('class', 'axp-chart-links');\n const nodesLayer = g.append('g').attr('class', 'axp-chart-nodes');\n\n linksLayer\n .selectAll<SVGPathElement, { source: any; target: any }>('.link')\n .data(root.links())\n .enter()\n .append('path')\n .attr('class', 'link')\n .attr('d', (d: { source: any; target: any }) => this.computeOrgChartLinkPath(d, nw, nh, yOff))\n .attr('fill', 'none')\n .attr('stroke', this.NODE_STROKE_COLOR)\n .attr('stroke-width', this.LINK_STROKE_WIDTH)\n .attr('from', (d: any) => `node-${d.source.data.id}`)\n .attr('to', (d: any) => `node-${d.target.data.id}`);\n\n nodesLayer\n .selectAll('.axp-chart-node')\n .data(root.descendants())\n .enter()\n .append('foreignObject')\n .attr('class', 'axp-chart-node')\n .attr('node', (d: any) => `node-${d.data.id}`)\n .attr('x', (d: any) => d.x - nw / 2)\n .attr('y', (d: any) => d.y - nh / 2 + yOff)\n .attr('width', nw)\n .attr('height', nh)\n .each((d: any) => this.renderNodeTemplate(d.data, d.x, d.y));\n\n const svgEl = newSvg.node();\n if (svgEl) {\n this.scheduleChartLinkPathRefresh(svgEl, nw, nh, yOff);\n }\n });\n if (!this.isChartRendered) {\n // document.querySelector(`foreignObject[node=\"node-${data.id}\"] .--heading-container`)?.scrollIntoView({\n // behavior: 'smooth',\n // block: 'center',\n // inline: 'center',\n // });\n this.isChartRendered = true;\n this.panView()?.resetPosition();\n }\n this.ngzone.run(() => {\n this.completeChartRenderPresentation();\n });\n }\n\n /**\n * Orthogonal elbow between two nodes using measured card bounds inside each foreignObject when available.\n */\n private computeOrgChartLinkPath(\n d: { source: any; target: any },\n nodeWidth: number,\n nodeHeight: number,\n nodeYOffset: number,\n ): string {\n const source = d.source;\n const target = d.target;\n const EDGE_PADDING = 2;\n const MIN_VERTICAL_GAP = 10;\n\n const sourceBounds = this.getRenderedNodeBounds(source.data.id);\n const targetBounds = this.getRenderedNodeBounds(target.data.id);\n\n const foSourceTop = source.y - nodeHeight / 2 + nodeYOffset;\n const foTargetTop = target.y - nodeHeight / 2 + nodeYOffset;\n\n let sourceBottomY =\n sourceBounds != null\n ? foSourceTop + sourceBounds.topOffset + sourceBounds.height\n : source.y + nodeHeight / 2 + nodeYOffset - EDGE_PADDING;\n\n let targetTopY =\n targetBounds != null\n ? foTargetTop + targetBounds.topOffset\n : target.y - nodeHeight / 2 + nodeYOffset + EDGE_PADDING;\n\n sourceBottomY += EDGE_PADDING;\n targetTopY -= EDGE_PADDING;\n\n if (sourceBottomY >= targetTopY - MIN_VERTICAL_GAP) {\n sourceBottomY = source.y + nodeYOffset;\n targetTopY = target.y - 10;\n }\n\n return `M${source.x},${sourceBottomY}V${(sourceBottomY + targetTopY) / 2}H${target.x}V${targetTopY}`;\n }\n\n /**\n * Node templates render asynchronously; remap connectors after layout so edges use real card heights.\n */\n private scheduleChartLinkPathRefresh(\n svg: SVGSVGElement,\n nodeWidth: number,\n nodeHeight: number,\n nodeYOffset: number,\n ): void {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n this.ngzone.runOutsideAngular(() => {\n this.refreshChartLinkPaths(svg, nodeWidth, nodeHeight, nodeYOffset);\n });\n });\n });\n });\n }\n\n private refreshChartLinkPaths(\n svg: SVGSVGElement,\n nodeWidth: number,\n nodeHeight: number,\n nodeYOffset: number,\n ): void {\n if (!this.d3) {\n return;\n }\n this.d3\n .select(svg)\n .selectAll<SVGPathElement, { source: any; target: any }>('g.axp-chart-links path.link')\n .attr('d', (d) => this.computeOrgChartLinkPath(d, nodeWidth, nodeHeight, nodeYOffset));\n }\n\n /**\n * Reads rendered bounds for a node card inside its foreignObject.\n */\n private getRenderedNodeBounds(nodeId: string | number): { topOffset: number; height: number } | null {\n const foreignObject = document.querySelector(`foreignObject[node=\"node-${nodeId}\"]`) as HTMLElement | null;\n const nodeContainer = foreignObject?.querySelector('.--node-container') as HTMLElement | null;\n if (!foreignObject || !nodeContainer) {\n return null;\n }\n return {\n topOffset: nodeContainer.offsetTop,\n height: nodeContainer.offsetHeight,\n };\n }\n\n /**\n * Renders the node template for a given organizational node.\n * @param data - The node data.\n * @param x - The x-coordinate of the node.\n * @param y - The y-coordinate of the node.\n */\n private renderNodeTemplate(data: AXMOrganizationNode, _x: number, _y: number): void {\n if (data.type == null) {\n set(data, 'type', AXMOrgChartNodeType.Company);\n }\n set(data, 'category', data.type);\n\n // D3 runs inside runOutsideAngular; created views must be updated inside the zone.\n this.ngzone.run(() => {\n // Dynamic subviews can use an injector that does not inherit the page `providers`.\n // Bridge `AXM_ORG_CHART_HOST` explicitly so child node components can inject it.\n const nodeTreeInjector = Injector.create({\n parent: this.pageInjector,\n providers: [{ provide: AXM_ORG_CHART_HOST, useValue: this as AXMOrgChartHostApi }],\n });\n\n const ref: ComponentRef<AXMOrgChartNodeOutletComponent> = this.viewContainerRef.createComponent(\n AXMOrgChartNodeOutletComponent,\n { injector: nodeTreeInjector },\n );\n ref.setInput('data', data);\n\n const nodeElement = this.d3.select(this.treeContainer().nativeElement).select(`[node=\"node-${data.id}\"]`);\n const element = nodeElement.node() as HTMLElement | null;\n if (element) {\n element.appendChild(ref.location.nativeElement);\n ref.changeDetectorRef.detectChanges();\n } else {\n ref.destroy();\n }\n });\n }\n\n /**\n * Toggles the expansion state of a node.\n * @param data - The node data.\n * @param el - The HTML element representing the node.\n */\n public toggleNode(data: AXMOrganizationNode, _el?: HTMLDivElement | null) {\n data.isExpanded = data.isExpanded === undefined ? false : !data.isExpanded;\n this.selectedNodeId.set(data.id);\n this.createChart(this.treeContainer().nativeElement, this.chartService.rootNode());\n // el.scrollIntoView({\n // behavior: 'smooth',\n // });\n }\n\n /**\n * Clears the chart from the container element.\n * @param el - The container element.\n */\n private clearChart(el: Element): void {\n if (this.d3) {\n this.d3.select(el).select('svg').remove();\n this.viewContainerRef.clear();\n }\n }\n\n private redrawChart(): void {\n if (!this.d3 || !this.treeContainer()?.nativeElement) {\n return;\n }\n this.createChart(this.treeContainer().nativeElement, this.chartService.rootNode());\n }\n\n private async refresh() {\n await this.chartService.load();\n if (this.d3) {\n this.redrawChart();\n }\n }\n\n /**\n * Invoked when chart JSON was rebuilt outside this page (e.g. mock listener after entity changes).\n */\n private async reloadChartFromPersistedStructure(): Promise<void> {\n await this.refresh();\n this.recompute();\n }\n\n protected onVacantLeafSeatsChange(event: AXValueChangedEvent<boolean>): void {\n if (!event.isUserInteraction) {\n return;\n }\n this.chartService.setShowVacantLeafSeats(event.value);\n this.redrawChart();\n }\n\n //#endregion\n\n //#region ---- Context Menu ----\n\n /**\n * Handles right-click on the chart surface. Context menu items must be ready before `showAt`;\n * `AXContextMenuComponent` assigns `items` synchronously after `onOpening`, so async `onOpening` handlers leave the menu empty.\n */\n protected onOrgChartSurfaceContextMenu(e: MouseEvent): void {\n const hit = e.target instanceof HTMLElement ? e.target : null;\n const container = hit?.closest('.axp-chart-node .--node-container');\n if (!(container instanceof HTMLElement)) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n void this.openOrgChartContextMenuFromDom(e.clientX, e.clientY, container);\n }\n\n private async openOrgChartContextMenuFromDom(\n clientX: number,\n clientY: number,\n targetElement: HTMLElement,\n ): Promise<void> {\n const node = this.resolveNodeFromTarget(targetElement);\n if (!node) {\n return;\n }\n await this.openOrgChartContextMenuAt(clientX, clientY, node, targetElement);\n }\n\n /**\n * Turns carry {@link AXMOrgChartContextMenuItem.orgChartBreakBefore} into `AXMenuItem.break` on the **previous**\n * sibling at the same level. Recurses into nested flyouts, then removes `orgChartBreakBefore`.\n */\n private materializeOrgChartMenuBreaks(items: AXMOrgChartContextMenuItem[]): void {\n if (items.length === 0) {\n return;\n }\n\n for (const entry of items) {\n if (entry.items != null && entry.items.length > 0) {\n this.materializeOrgChartMenuBreaks(entry.items as AXMOrgChartContextMenuItem[]);\n }\n }\n\n for (let i = 0; i < items.length; i++) {\n if (items[i].orgChartBreakBefore === true && i > 0) {\n items[i - 1].break = true;\n }\n delete items[i].orgChartBreakBefore;\n }\n }\n\n /**\n * Removes a trailing `break` on the last row at each nesting level so the menu does not show a divider after the final item.\n * Recursive for nested flyouts.\n */\n private normalizeOrgChartContextMenuBreaks(items: AXMOrgChartContextMenuItem[]): void {\n if (items.length === 0) {\n return;\n }\n\n for (const entry of items) {\n if (entry.items != null && entry.items.length > 0) {\n this.normalizeOrgChartContextMenuBreaks(entry.items as AXMOrgChartContextMenuItem[]);\n }\n }\n\n const last = items[items.length - 1];\n if (last.break === true) {\n last.break = false;\n }\n }\n\n /**\n * Whether this action renders `AXMenuItem.break` after its **row**: `break` `after` / `both`, and\n * {@link AXMOrgChartNodeMenuAction.submenuSectionBreak} (separator after this row at any nesting level, including\n * root when the Employee flyout is flattened on employee cards).\n */\n private menuActionRowBreakAfter(action: AXMOrgChartNodeMenuAction): boolean {\n const b = action.break;\n const hasAfter = b === 'after' || b === 'both';\n return action.submenuSectionBreak === true || hasAfter;\n }\n\n /** `break` `before` / `both` for carry / bucket (not for inner-only submenuSectionBreak). */\n private menuActionHasBreakBefore(action: AXMOrgChartNodeMenuAction): boolean {\n return action.break === 'before' || action.break === 'both';\n }\n\n /** `after` / `both` for grouped parent bucket trailing separator. */\n private menuActionContributesGroupBreakAfter(action: AXMOrgChartNodeMenuAction): boolean {\n return action.break === 'after' || action.break === 'both';\n }\n\n /**\n * Loads actions, assigns menu structures, then opens the context menu with a pre-filled opening event (`items`\n * must be populated before {@link AXContextMenuComponent.showAt}: async `onOpening` alone loses the assignment).\n */\n private async openOrgChartContextMenuAt(\n clientX: number,\n clientY: number,\n node: AXMOrganizationNode,\n targetElement: HTMLElement,\n ): Promise<void> {\n this.selectNode(node);\n this.activeContextNode = node;\n this.activeContextMenuActions.clear();\n\n const context = this.createNodeContributionContext(node);\n const actions = await this.nodeContributionService.getMenuActions(context);\n\n const items: AXMOrgChartContextMenuItem[] = [];\n if (!actions.length) {\n items.push({\n name: 'org-chart.no-actions',\n text: this.chartML.noActionsAvailable,\n icon: 'fa-light fa-circle-info',\n disabled: true,\n });\n } else {\n const addFlyoutActions = actions.filter((action) => action.nestedInAddFlyout === true);\n const otherActions = actions.filter((action) => action.nestedInAddFlyout !== true);\n\n if (addFlyoutActions.length > 0) {\n items.push({\n name: 'org-chart.group.add',\n text: this.chartML.add,\n icon: 'fa-light fa-plus',\n break: true,\n items: addFlyoutActions.map((action) => this.buildContextMenuLeafItem(action)),\n } as AXMOrgChartContextMenuItem);\n }\n\n const nonAddMenuActions =\n context.nodeKind === 'employee'\n ? otherActions.map((action) =>\n action.submenuGroupId === AXM_ORG_CHART_EMPLOYEE_SUBMENU_GROUP_ID\n ? {\n ...action,\n submenuGroupId: undefined,\n submenuGroupTitle: undefined,\n submenuGroupIcon: undefined,\n }\n : action,\n )\n : otherActions;\n\n items.push(...this.buildGroupedNonAddContextMenuItems(nonAddMenuActions));\n }\n\n this.materializeOrgChartMenuBreaks(items);\n this.normalizeOrgChartContextMenuBreaks(items);\n\n const menu = this.contextMenu();\n if (!menu) {\n return;\n }\n\n this.ngzone.run(() => {\n const openingEvent = {\n sender: menu,\n canceled: false,\n targetElement,\n items: items as AXMenuItem[],\n } as AXContextMenuOpeningEvent;\n menu.showAt({ x: clientX, y: clientY }, targetElement, openingEvent);\n });\n }\n\n /**\n * Builds top-level rows for actions not under {@link AXMOrgChartNodeMenuAction.nestedInAddFlyout},\n * collapsing {@link AXMOrgChartNodeMenuAction.submenuGroupId} sets into one flyout.\n */\n private buildGroupedNonAddContextMenuItems(actions: AXMOrgChartNodeMenuAction[]): AXMOrgChartContextMenuItem[] {\n type GroupBucket = {\n title: AXPMultiLanguageString;\n icon?: string;\n actions: AXMOrgChartNodeMenuAction[];\n breakAfter: boolean;\n breakBefore: boolean;\n };\n\n const groups = new Map<string, GroupBucket>();\n const singles: AXMOrgChartNodeMenuAction[] = [];\n\n for (const action of actions) {\n const gid = action.submenuGroupId?.trim();\n if (!gid) {\n singles.push(action);\n continue;\n }\n let bucket = groups.get(gid);\n if (!bucket) {\n bucket = {\n title: action.submenuGroupTitle as any,\n icon: action.submenuGroupIcon,\n actions: [],\n breakAfter: false,\n breakBefore: false,\n };\n groups.set(gid, bucket);\n }\n bucket.actions.push(action);\n if (this.menuActionContributesGroupBreakAfter(action)) {\n bucket.breakAfter = true;\n }\n if (this.menuActionHasBreakBefore(action)) {\n bucket.breakBefore = true;\n }\n if (!bucket.icon && action.submenuGroupIcon) {\n bucket.icon = action.submenuGroupIcon;\n }\n }\n\n type OrderedEntry =\n | { kind: 'single'; action: AXMOrgChartNodeMenuAction }\n | { kind: 'group'; groupId: string };\n\n const ordered: OrderedEntry[] = [];\n for (const action of singles) {\n ordered.push({ kind: 'single', action });\n }\n for (const groupId of groups.keys()) {\n ordered.push({ kind: 'group', groupId });\n }\n\n const orderOf = (entry: OrderedEntry): number => {\n if (entry.kind === 'single') {\n return entry.action.order ?? Number.MAX_SAFE_INTEGER;\n }\n const bucket = groups.get(entry.groupId);\n if (!bucket || bucket.actions.length === 0) {\n return Number.MAX_SAFE_INTEGER;\n }\n return Math.min(...bucket.actions.map((a) => a.order ?? Number.MAX_SAFE_INTEGER));\n };\n ordered.sort((a, b) => orderOf(a) - orderOf(b));\n\n const items: AXMOrgChartContextMenuItem[] = [];\n for (const entry of ordered) {\n if (entry.kind === 'single') {\n items.push(this.buildContextMenuLeafItem(entry.action));\n continue;\n }\n const bucket = groups.get(entry.groupId);\n if (!bucket || bucket.actions.length === 0) {\n continue;\n }\n const sortedMembers = [...bucket.actions].sort(\n (a, b) => (a.order ?? Number.MAX_SAFE_INTEGER) - (b.order ?? Number.MAX_SAFE_INTEGER),\n );\n if (sortedMembers.length === 1 && entry.groupId !== AXM_ORG_CHART_EMPLOYEE_SUBMENU_GROUP_ID) {\n items.push(this.buildContextMenuLeafItem(sortedMembers[0]));\n continue;\n }\n items.push({\n name: `org-chart.submenu.${entry.groupId}`,\n text: bucket.title,\n icon: bucket.icon ?? 'fa-light fa-comments',\n break: bucket.breakAfter,\n orgChartBreakBefore: bucket.breakBefore === true,\n items: sortedMembers.map((action) => this.buildContextMenuLeafItem(action)),\n } as AXMOrgChartContextMenuItem);\n }\n return items;\n }\n\n private buildContextMenuLeafItem(action: AXMOrgChartNodeMenuAction): AXMOrgChartContextMenuItem {\n this.activeContextMenuActions.set(action.id, action);\n return {\n name: action.id,\n text: action.title as any,\n icon: action.icon,\n color: action.color as AXStyleColorType | undefined,\n disabled: action.disabled,\n break: this.menuActionRowBreakAfter(action),\n orgChartBreakBefore: this.menuActionHasBreakBefore(action),\n };\n }\n\n protected async handleContextMenuItemClick(e: AXContextMenuItemsClickEvent): Promise<void> {\n const actionId = e.item.name;\n if (!actionId || !this.activeContextNode) {\n return;\n }\n const action = this.activeContextMenuActions.get(actionId);\n if (!action || action.disabled) {\n return;\n }\n await action.execute(this.createNodeContributionContext(this.activeContextNode));\n }\n\n //#endregion\n\n //#region ---- Node Selection & Host API ----\n\n public isNodeSelected(data: AXMOrganizationNode): boolean {\n return this.selectedNodeId() === data.id;\n }\n\n public selectNode(data: AXMOrganizationNode): void {\n this.selectedNodeId.set(data.id);\n }\n\n public openNodeContextMenuFromMore(event: unknown, data: AXMOrganizationNode): void {\n const nativeEvent = this.resolveNativeMouseEvent(event);\n if (!nativeEvent) {\n return;\n }\n nativeEvent.preventDefault();\n nativeEvent.stopPropagation();\n const fromCurrent =\n nativeEvent.currentTarget instanceof HTMLElement\n ? nativeEvent.currentTarget.closest('.--node-container')\n : null;\n const fromTarget =\n nativeEvent.target instanceof HTMLElement ? nativeEvent.target.closest('.--node-container') : null;\n const fromPoint = document.elementFromPoint(nativeEvent.clientX, nativeEvent.clientY);\n const anchor = (fromCurrent ?? fromTarget ?? fromPoint) as HTMLElement | null;\n if (!(anchor instanceof HTMLElement)) {\n return;\n }\n void this.openOrgChartContextMenuAt(nativeEvent.clientX, nativeEvent.clientY, data, anchor);\n }\n\n private resolveNodeFromTarget(target: HTMLElement | undefined): AXMOrganizationNode | null {\n if (!target) {\n return null;\n }\n let el: HTMLElement | null = target;\n while (el) {\n const id = el.getAttribute('data-chart-node-id');\n if (id) {\n const fromTree = this.findNodeInTree(this.chartService.rootNode(), id);\n if (fromTree) {\n return fromTree;\n }\n }\n el = el.parentElement;\n }\n const directNode = (target as unknown as { __data__?: { data?: AXMOrganizationNode } }).__data__?.data;\n if (directNode && typeof (directNode as AXMOrganizationNode).id === 'string') {\n return directNode as AXMOrganizationNode;\n }\n const foreignObject = target.closest('foreignObject.axp-chart-node') as unknown as\n | { __data__?: { data?: AXMOrganizationNode } }\n | null;\n const fromFo = foreignObject?.__data__?.data;\n if (fromFo && typeof (fromFo as AXMOrganizationNode).id === 'string') {\n return fromFo as AXMOrganizationNode;\n }\n return null;\n }\n\n private findNodeInTree(root: AXMOrganizationNode, id: string): AXMOrganizationNode | null {\n if (root.id === id) {\n return root;\n }\n for (const child of root.children ?? []) {\n const found = this.findNodeInTree(child, id);\n if (found) {\n return found;\n }\n }\n return null;\n }\n\n private resolveNativeMouseEvent(event: unknown): MouseEvent | null {\n if (event instanceof MouseEvent) {\n return event;\n }\n if (\n typeof event === 'object' &&\n event != null &&\n 'nativeEvent' in event &&\n (event as { nativeEvent?: unknown }).nativeEvent instanceof MouseEvent\n ) {\n return (event as { nativeEvent: MouseEvent }).nativeEvent;\n }\n return null;\n }\n\n private createNodeContributionContext(node: AXMOrganizationNode): AXMOrgChartNodeContributionContext {\n return {\n node,\n nodeKind: this.resolveNodeKind(node),\n selectedMode: this.chartService.selectedMode(),\n refreshChart: async () => {\n await this.refresh();\n this.recompute();\n },\n host: this,\n };\n }\n\n private resolveNodeKind(node: AXMOrganizationNode): AXMOrgChartNodeKind {\n if (node.type === AXMOrgChartNodeType.Company) {\n return 'company-root';\n }\n if (node.type === AXMOrgChartNodeType.BusinessUnit) {\n return 'business-unit';\n }\n if (node.type === AXMOrgChartNodeType.Position) {\n return 'position';\n }\n if (node.type === AXMOrgChartNodeType.Employee) {\n return 'employee';\n }\n return 'other';\n }\n\n //#endregion\n\n //#region ---- Print & Card Presentation ----\n\n /**\n * Prints the organizational chart.\n */\n protected async printChart() {\n let [panX, panY, panZoomLevel] = [this.panX(), this.panY(), this.panZoomLevel()];\n (this.panX.set(0), this.panY.set(0), this.panZoomLevel.set(100));\n await this.chartService.printChart(this.treeContainer().nativeElement);\n (this.panX.set(panX), this.panY.set(panY), this.panZoomLevel.set(panZoomLevel));\n }\n\n /**\n * Parses hex or comma-separated `rgb(...)` into comma-separated channels for `rgba(var(--node-*))`.\n */\n private parseCssColorToRgbCommaChannels(color: string): string | null {\n const s = color.trim();\n const hex6 = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(s);\n if (hex6) {\n return `${parseInt(hex6[1], 16)}, ${parseInt(hex6[2], 16)}, ${parseInt(hex6[3], 16)}`;\n }\n const hex3 = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i.exec(s);\n if (hex3) {\n return `${parseInt(hex3[1] + hex3[1], 16)}, ${parseInt(hex3[2] + hex3[2], 16)}, ${parseInt(hex3[3] + hex3[3], 16)}`;\n }\n const rgb = /^rgba?\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)/i.exec(s);\n if (rgb) {\n return `${rgb[1]}, ${rgb[2]}, ${rgb[3]}`;\n }\n return null;\n }\n\n private contrastingRgbCommaChannels(bgComma: string): string {\n const parts = bgComma.split(',').map((p) => Number(p.trim()));\n const [r, g, b] = parts;\n const luminance = 0.2126 * (r / 255) + 0.7152 * (g / 255) + 0.0722 * (b / 255);\n return luminance > 0.55 ? '15, 23, 42' : '255, 255, 255';\n }\n\n private darkenRgbCommaChannels(bgComma: string, factor: number): string {\n const parts = bgComma.split(',').map((p) => Math.round(Number(p.trim()) * factor));\n return `${parts[0]}, ${parts[1]}, ${parts[2]}`;\n }\n\n /**\n * Gets the node colors based on the provided color.\n * @param color - Semantic token (for example primary, accent2) or a literal CSS color (hex / rgb).\n * @returns An object containing the node's background, text, and border colors.\n */\n public getNodeColors(color: string): Record<string, string> {\n const literal = this.parseCssColorToRgbCommaChannels(color);\n if (literal) {\n return {\n '--node-bg-color': literal,\n '--node-text-color': this.contrastingRgbCommaChannels(literal),\n '--node-border-color': this.darkenRgbCommaChannels(literal, 0.82),\n };\n }\n if (color.includes('surface')) {\n return {\n '--node-bg-color': `var(--ax-sys-color-${color})`,\n '--node-text-color': `var(--ax-sys-color-on-${color})`,\n '--node-border-color': `var(--ax-sys-color-border-${color})`,\n };\n }\n return {\n '--node-bg-color': `var(--ax-sys-color-${color}-surface)`,\n '--node-text-color': `var(--ax-sys-color-on-${color}-surface)`,\n '--node-border-color': `var(--ax-sys-color-border-${color}-surface)`,\n };\n }\n\n /**\n * Merged cards render the assignee in the body; suppressing `subtitle` avoids repeating name/role lines\n * (including for charts persisted before subtitle generation was tightened).\n */\n public shouldShowOrgCardSubtitle(data: AXMOrganizationNode): boolean {\n const md = data.metadata ?? {};\n const template = md['chartTemplate'];\n if (template === 'merged-unit') {\n const uh = md['unitHead'] as Record<string, unknown> | undefined;\n if (uh && uh['vacant'] !== true && typeof uh['employeeName'] === 'string' && uh['employeeName'].trim().length > 0) {\n return false;\n }\n }\n if (template === 'merged-manager') {\n if (md['vacant'] === true) {\n return true;\n }\n const occ = md['occupant'] as Record<string, unknown> | undefined;\n const dn = occ?.['displayName'];\n if (typeof dn === 'string' && dn.trim().length > 0) {\n return false;\n }\n }\n return true;\n }\n\n //#endregion\n\n //#region ---- Node Card Data ----\n\n public getSubtreeRosterCounts(data: AXMOrganizationNode): { people: number; positions: number } | null {\n if (\n data.type === AXMOrgChartNodeType.Position &&\n data.metadata?.['chartTemplate'] === 'position-ic'\n ) {\n const stats = data.metadata?.['stats'] as Record<string, unknown> | undefined;\n const subtreePeopleRaw = stats?.['subtreePeople'];\n let people: number;\n if (typeof subtreePeopleRaw === 'number' && Number.isFinite(subtreePeopleRaw)) {\n people = Math.max(0, Math.floor(subtreePeopleRaw));\n } else if (data.metadata?.['vacant'] === true) {\n people = 0;\n } else {\n const childCount = data.children?.length ?? 0;\n people = childCount > 0 ? childCount : 1;\n }\n /** One catalog seat row in the chart. */\n return { people, positions: 1 };\n }\n if (data.type !== AXMOrgChartNodeType.BusinessUnit && data.type !== AXMOrgChartNodeType.Company) {\n return null;\n }\n if (data.metadata?.['isRegional'] === true) {\n return null;\n }\n const stats = data.metadata?.['stats'] as Record<string, unknown> | undefined;\n const peopleRaw = stats?.['subtreePeople'];\n const positionsRaw = stats?.['subtreePositionSeatCount'];\n if (typeof peopleRaw !== 'number' || !Number.isFinite(peopleRaw)) {\n return null;\n }\n if (typeof positionsRaw !== 'number' || !Number.isFinite(positionsRaw)) {\n return null;\n }\n return {\n people: Math.max(0, Math.floor(peopleRaw)),\n positions: Math.max(0, Math.floor(positionsRaw)),\n };\n }\n\n public getTeamsMembershipCount(data: AXMOrganizationNode): number | null {\n const stats = data.metadata?.['stats'];\n const candidates: unknown[] = [\n stats?.['teamMemberships'],\n stats?.['teamMembershipCount'],\n stats?.['teams'],\n stats?.['teamsCount'],\n data.metadata?.['teamMemberships'],\n data.metadata?.['teamMembershipCount'],\n data.metadata?.['teamsCount'],\n data.metadata?.['teams'],\n ];\n for (const candidate of candidates) {\n if (typeof candidate === 'number' && Number.isFinite(candidate) && candidate >= 0) {\n return candidate;\n }\n }\n return null;\n }\n\n /**\n * Metadata rows for the side detail panel only (key-value list is not shown on chart cards).\n */\n public getNodeInfoItems(data: AXMOrganizationNode): Array<{ label: AXPMultiLanguageString; value: string }> {\n const metadata = data.metadata ?? {};\n const toText = (value: unknown): string | null => {\n if (value == null) {\n return null;\n }\n if (typeof value === 'number' || typeof value === 'boolean') {\n return String(value);\n }\n if (typeof value === 'string') {\n const trimmed = value.trim();\n return trimmed.length ? trimmed : null;\n }\n return null;\n };\n const resolveFirst = (...candidates: unknown[]): string | null => {\n for (const candidate of candidates) {\n const text = toText(candidate);\n if (text != null) {\n return text;\n }\n }\n return null;\n };\n const createInfo = (\n label: AXPMultiLanguageString,\n value: string | null,\n ): { label: AXPMultiLanguageString; value: string } | null => {\n return value == null ? null : { label, value };\n };\n const items: Array<{ label: AXPMultiLanguageString; value: string }> = [];\n const teamMembershipCount = this.getTeamsMembershipCount(data);\n\n if (data.type === AXMOrgChartNodeType.BusinessUnit) {\n const unitHead = metadata['unitHead'] as Record<string, unknown> | undefined;\n if (unitHead) {\n const vacant = unitHead['vacant'] === true;\n const rawName = unitHead['employeeName'];\n const nameText =\n vacant || typeof rawName !== 'string' || !rawName.trim()\n ? resolveMultiLanguageString(this.chartML.vacant, this.localeId)\n : rawName.trim();\n const posRaw = unitHead['positionTitle'];\n let positionText: string | null = null;\n if (typeof posRaw === 'string') {\n const t = posRaw.trim();\n positionText = t.length ? t : null;\n } else if (posRaw != null && typeof posRaw === 'object') {\n const t = resolveMultiLanguageString(posRaw as AXPMultiLanguageString, this.localeId).trim();\n positionText = t.length ? t : null;\n }\n const buLeadRows = [\n createInfo(this.chartML.buHead, nameText),\n createInfo(this.chartML.buPosition, positionText),\n ].filter((item): item is { label: AXPMultiLanguageString; value: string } => item != null);\n items.push(...buLeadRows);\n }\n }\n\n if (data.type === AXMOrgChartNodeType.BusinessUnit || data.type === AXMOrgChartNodeType.Company) {\n const unitType = resolveFirst(metadata['unitTypeTitle'], metadata['unitType'], metadata['typeLabel']);\n const location = resolveFirst(metadata['locationName'], metadata['regionName'], metadata['countryName']);\n const infoCandidates = [\n createInfo(this.chartML.unitType, unitType),\n createInfo(this.chartML.location, location),\n ];\n if (teamMembershipCount != null) {\n infoCandidates.push({ label: this.chartML.teams, value: String(teamMembershipCount) });\n }\n items.push(\n ...infoCandidates.filter((item): item is { label: AXPMultiLanguageString; value: string } => item != null),\n );\n }\n\n if (data.type === AXMOrgChartNodeType.Position) {\n const vacantIcSeat =\n metadata['vacant'] === true && metadata['chartTemplate'] === 'position-ic';\n const ouMl = metadata['organizationalUnitTitle'] as AXPMultiLanguageString | undefined;\n const ouDisplay =\n ouMl != null && typeof ouMl === 'object'\n ? resolveMultiLanguageString(ouMl, this.localeId)\n : null;\n const level = resolveFirst(metadata['jobLevelTitle'], metadata['jobLevel'], metadata['grade']);\n const code = resolveFirst(metadata['code'], metadata['positionCode']);\n const capacity = resolveFirst(metadata['capacity']);\n const positionItems = vacantIcSeat\n ? [createInfo(this.chartML.businessUnit, ouDisplay)]\n : [\n createInfo(this.chartML.businessUnit, ouDisplay),\n createInfo(this.chartML.level, level),\n createInfo(this.chartML.code, code),\n createInfo(this.chartML.capacity, capacity),\n ];\n items.push(\n ...positionItems.filter((item): item is { label: AXPMultiLanguageString; value: string } => item != null),\n );\n }\n\n if (data.type === AXMOrgChartNodeType.Employee || data.metadata?.['chartTemplate'] === 'employee-card') {\n const email = resolveFirst(metadata['email'], metadata['workEmail']);\n const phone = resolveFirst(metadata['phone'], metadata['mobile']);\n const employmentType = resolveFirst(metadata['employmentTypeTitle'], metadata['employmentType']);\n const workMode = resolveFirst(metadata['workModeTitle'], metadata['workMode']);\n const employeeInfo = [\n createInfo(this.chartML.email, email),\n createInfo(this.chartML.phone, phone),\n createInfo(this.chartML.employmentType, employmentType),\n createInfo(this.chartML.workMode, workMode),\n ];\n /** Teams count is rendered on employee chart cards — omit here to avoid duplicate rows. */\n items.push(\n ...employeeInfo.filter((item): item is { label: AXPMultiLanguageString; value: string } => item != null),\n );\n }\n\n return items.slice(0, 8);\n }\n\n //#endregion\n\n //#region ---- Page Layout Integration ----\n\n /**\n * Translation key for the hierarchy chart mode shown under the page title.\n */\n private chartModeDescriptionTranslationKey(mode: OrgChartMode): string {\n const keys: Record<OrgChartMode, string> = {\n structure: '@organization-management:organization-chart.options.mode.structure',\n location: '@organization-management:organization-chart.options.mode.location',\n reporting: '@organization-management:organization-chart.options.mode.reporting',\n positionHierarchy:\n '@organization-management:organization-chart.options.mode.positionHierarchy',\n };\n return keys[mode];\n }\n\n protected updateVar(oldValue: any, newValue: AXMOrgChartCategory) {\n oldValue.cat = newValue;\n }\n\n override async getPageTitle(): Promise<string> {\n return await this.translateService.translateAsync(\n '@organization-management:organization-chart.components.chart.title',\n );\n }\n\n override async getPageDescription(): Promise<string> {\n const mode = this.chartService.selectedMode();\n const modeKey = this.chartModeDescriptionTranslationKey(mode);\n return await this.translateService.translateAsync(modeKey);\n }\n\n protected override getTitleActions(): AXPActionMenuItem[] | Promise<AXPActionMenuItem[]> {\n const mode = this.chartService.selectedMode();\n const modes: OrgChartMode[] = ['structure', 'location', 'reporting', 'positionHierarchy'];\n return modes.map((m) => ({\n title: this.chartModeDescriptionTranslationKey(m),\n command: {\n name: 'chart-mode',\n metadata: { mode: m, isSelected: mode === m, hideSelectionCheckSuffix: true },\n },\n // Prefix renders `fa-light {{ icon }}` (matches dashboard title-action check placement).\n icon: mode === m ? 'fa-check' : '',\n }));\n }\n\n override async getSecondaryMenuItems(): Promise<AXPActionMenuItem[]> {\n return [\n {\n ...getActionButton('print'),\n command: {\n name: 'print',\n },\n },\n {\n ...getActionButton('refresh'),\n command: {\n name: 'refresh',\n },\n },\n ];\n }\n override async getPageBreadcrumbs(): Promise<AXPBreadcrumbItem[]> {\n return [\n {\n title: await this.translateService.translateAsync('@organization-management:module.menus.root.title'),\n },\n ];\n }\n\n override async execute(command: AXPExecuteCommand) {\n if (command.name === 'chart-mode') {\n const mode = command.metadata?.['mode'] as OrgChartMode | undefined;\n if (mode) {\n this.chartService.setChartMode(mode);\n this.redrawChart();\n this.recompute();\n }\n return;\n }\n if (command.name == 'print') {\n await this.printChart();\n }\n if (command.name == 'refresh') {\n await this.chartService.generate();\n await this.refresh();\n this.recompute();\n }\n }\n\n //#endregion\n\n //#region ---- Lifecycle ----\n\n ngOnDestroy(): void {\n this.clearChart(this.treeContainer().nativeElement);\n }\n\n //#endregion\n}\n\n//#endregion\n","<axp-page-layout *translate=\"let t\">\n <axp-page-toolbar>\n <axp-layout-prefix>\n <div class=\"ax-flex ax-flex-wrap ax-items-center ax-gap-3\">\n <ax-search-box class=\"ax-w-72\" [(ngModel)]=\"chartSearchQuery\"\n (onValueChanged)=\"onChartSearchValueChanged($event)\" [placeholder]=\"\n ('@organization-management:organization-chart.components.chart.search-placeholder' | translate | async) || ''\n \">\n <ax-clear-button></ax-clear-button>\n </ax-search-box>\n @if (chartService.selectedMode() !== 'reporting') {\n <div class=\"ax-flex ax-items-center ax-gap-2 ax-flex-shrink-0 ax-whitespace-nowrap\">\n <span class=\"ax-text-sm\">{{\n '@organization-management:organization-chart.components.generate-dialog.fields.show-vacant-leaf-seats.label'\n | translate\n | async\n }}</span>\n <ax-switch [ngModel]=\"chartService.showVacantLeafSeats()\"\n (onValueChanged)=\"onVacantLeafSeatsChange($event)\"></ax-switch>\n </div>\n }\n </div>\n </axp-layout-prefix>\n <axp-layout-suffix>\n @if (deviceService.isLarge()) {\n <ax-button (onClick)=\"toggleDetailPanel()\">\n <ax-icon icon=\"{{ isDetailPanelOpen() ? 'fa-solid fa-square-info' : 'fa-light fa-square-info' }}\"></ax-icon>\n </ax-button>\n }\n </axp-layout-suffix>\n </axp-page-toolbar>\n <axp-page-content class=\"ax-overflow-hidden ax-flex ax-flex-col\">\n <div class=\"ax-flex ax-flex-row ax-gap-4 ax-flex-1 ax-min-h-0 ax-overflow-hidden\" #parent id=\"parent\">\n <div class=\"ax-flex-1 ax-min-w-0 ax-min-h-0 ax-overflow-hidden ax-relative ax-light\">\n <div #chart axPanView [(panX)]=\"panX\" [(panY)]=\"panY\" [freeMode]=\"true\" [(zoom)]=\"panZoomLevel\"\n [fitContent]=\"true\" wrapperClasses=\"h\" class=\"ax-light\" (contextmenu)=\"onOrgChartSurfaceContextMenu($event)\">\n </div>\n <axp-layout-floating-zoom-bar\n [zoomLevel]=\"panZoomLevel()\"\n (zoomIn)=\"zoomIn()\"\n (zoomOut)=\"zoomOut()\"\n (zoomReset)=\"zoomReset()\"\n />\n <ax-context-menu [orientation]=\"'vertical'\" [closeOn]=\"'leave'\"\n (onItemClick)=\"handleContextMenuItemClick($event)\">\n </ax-context-menu>\n </div>\n @if (isDetailPanelOpen() && deviceService.isLarge()) {\n <axp-layout-side-detail-panel\n class=\"ax-sticky ax-top-0 ax-z-10 ax-max-h-full ax-flex-none\"\n [header]=\"detailPanelHeader()\"\n [sections]=\"detailPanelSections()\"\n [emptyState]=\"detailPanelEmptyState()\"\n [noRowsMessage]=\"detailPanelNoRowsMessage()\"\n (panelClose)=\"toggleDetailPanel()\"\n />\n }\n </div>\n </axp-page-content>\n</axp-page-layout>"],"names":["i1","i3","i5","i8","i4"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDO,MAAM,kBAAkB,GAAG,IAAI,cAAc,CAAqB,oBAAoB,CAAC;;ACtD9F;AAWA;AAEA;AAEA;MAQa,oCAAoC,CAAA;AAPjD,IAAA,WAAA,GAAA;AAQqB,QAAA,IAAA,CAAA,IAAI,GAAuB,MAAM,CAAC,kBAAkB,CAAC;AAE/D,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,QAAQ,0EAAuB;AAElC,QAAA,IAAA,CAAA,iBAAiB,GAAG,QAAQ,CAAC,MAAoC;AAClF,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;YACxB,MAAM,KAAK,GAAkC,EAAE;YAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;YACrD,IAAI,MAAM,EAAE;gBACV,KAAK,CAAC,IAAI,CAAC;AACT,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;AAC5B,oBAAA,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM;AAChC,iBAAA,CAAC;gBACF,KAAK,CAAC,IAAI,CAAC;AACT,oBAAA,IAAI,EAAE,cAAc;AACpB,oBAAA,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;AAC/B,oBAAA,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS;AACnC,iBAAA,CAAC;YACJ;YACA,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;YACrD,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE;gBAC9B,KAAK,CAAC,IAAI,CAAC;AACT,oBAAA,IAAI,EAAE,iBAAiB;AACvB,oBAAA,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;AACpB,oBAAA,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK;AAC/B,iBAAA,CAAC;YACJ;AACA,YAAA,OAAO,KAAK;AACd,QAAA,CAAC,wFAAC;AAiBH,IAAA;IAfW,UAAU,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,GAAG,YAAY,CAAC,KAAK,IAAI;IACtD;IAEU,WAAW,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE,GAAG,SAAS,GAAG,SAAS;IAClD;IAEU,qBAAqB,GAAA;AAC7B,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,GAAG,eAAe,CAAC;AACnD,QAAA,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;AACpD,YAAA,OAAO,GAAG,CAAC,IAAI,EAAE;QACnB;AACA,QAAA,OAAO,IAAI,CAAC,WAAW,EAAE;IAC3B;8GA9CW,oCAAoC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAApC,oCAAoC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kCAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvBjD,+xMAuIA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDpHY,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,kBAAkB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,KAAA,EAAA,UAAA,EAAA,cAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAIpF,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBAPhD,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kCAAkC,WAEnC,CAAC,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,SAAS,CAAC,mBAC/E,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,+xMAAA,EAAA;;;AErBvC;AAWA;AAEA;AAEA;MAQa,+BAA+B,CAAA;AAP5C,IAAA,WAAA,GAAA;AAQqB,QAAA,IAAA,CAAA,IAAI,GAAuB,MAAM,CAAC,kBAAkB,CAAC;AAE/D,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,QAAQ,0EAAuB;AAElC,QAAA,IAAA,CAAA,oBAAoB,GAAG,QAAQ,CAAC,MAAoC;AACrF,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;YACxB,MAAM,KAAK,GAAkC,EAAE;YAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;YACrD,IAAI,MAAM,EAAE;gBACV,KAAK,CAAC,IAAI,CAAC;AACT,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;AAC5B,oBAAA,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM;AAChC,iBAAA,CAAC;gBACF,KAAK,CAAC,IAAI,CAAC;AACT,oBAAA,IAAI,EAAE,cAAc;AACpB,oBAAA,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;AAC/B,oBAAA,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS;AACnC,iBAAA,CAAC;YACJ;YACA,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;YACrD,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE;gBAC9B,KAAK,CAAC,IAAI,CAAC;AACT,oBAAA,IAAI,EAAE,iBAAiB;AACvB,oBAAA,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;AACpB,oBAAA,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK;AAC/B,iBAAA,CAAC;YACJ;AACA,YAAA,OAAO,KAAK;AACd,QAAA,CAAC,2FAAC;AACH,IAAA;8GA/BY,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA/B,+BAA+B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvB5C,wvLA6HA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED1GY,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,kBAAkB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,KAAA,EAAA,UAAA,EAAA,cAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAIpF,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAP3C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,4BAA4B,WAE7B,CAAC,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,SAAS,CAAC,mBAC/E,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,wvLAAA,EAAA;;;AErBvC;AAWA;AAEA;AAEA;MAQa,gCAAgC,CAAA;AAP7C,IAAA,WAAA,GAAA;AAQqB,QAAA,IAAA,CAAA,IAAI,GAAuB,MAAM,CAAC,kBAAkB,CAAC;AAE/D,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,QAAQ,0EAAuB;AAElC,QAAA,IAAA,CAAA,qBAAqB,GAAG,QAAQ,CAAC,MAAoC;AACtF,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5D,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,EAAE;AAC/B,gBAAA,OAAO,EAAE;YACX;YACA,OAAO;AACL,gBAAA;AACE,oBAAA,IAAI,EAAE,iBAAiB;AACvB,oBAAA,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;AACpB,oBAAA,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK;AAC/B,iBAAA;aACF;AACH,QAAA,CAAC,4FAAC;AAMH,IAAA;;IAHW,WAAW,GAAA;AACnB,QAAA,OAAO,SAAS;IAClB;8GAtBW,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAhC,gCAAgC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvB7C,umJAwGA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDrFY,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,kBAAkB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,KAAA,EAAA,UAAA,EAAA,cAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAIpF,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAP5C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,6BAA6B,WAE9B,CAAC,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,SAAS,CAAC,mBAC/E,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,umJAAA,EAAA;;;AErBvC;AAWA;AAEA;AAEA;MAQa,gCAAgC,CAAA;AAP7C,IAAA,WAAA,GAAA;AAQqB,QAAA,IAAA,CAAA,IAAI,GAAuB,MAAM,CAAC,kBAAkB,CAAC;AAE/D,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,QAAQ,0EAAuB;AAElC,QAAA,IAAA,CAAA,eAAe,GAAG,QAAQ,CAAC,MAAoC;AAChF,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5D,IAAI,CAAC,MAAM,EAAE;AACX,gBAAA,OAAO,EAAE;YACX;YACA,OAAO;AACL,gBAAA;AACE,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;AAC5B,oBAAA,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM;AAChC,iBAAA;AACD,gBAAA;AACE,oBAAA,IAAI,EAAE,cAAc;AACpB,oBAAA,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;AAC/B,oBAAA,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS;AACnC,iBAAA;aACF;AACH,QAAA,CAAC,sFAAC;AAEiB,QAAA,IAAA,CAAA,oBAAoB,GAAG,QAAQ,CAAC,MAAoC;AACrF,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,GAAG,OAAO,CAAwC;AACpF,YAAA,MAAM,aAAa,GAAG,KAAK,GAAG,eAAe,CAAC;AAC9C,YAAA,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,aAAa,IAAI,CAAC,EAAE;AAC9F,gBAAA,OAAO,EAAE;YACX;YACA,OAAO;AACL,gBAAA;AACE,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;AACrD,oBAAA,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AACvC,iBAAA;aACF;AACH,QAAA,CAAC,2FAAC;AACH,IAAA;8GAtCY,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAhC,gCAAgC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvB7C,w5RAiMA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED9KY,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,kBAAkB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,KAAA,EAAA,UAAA,EAAA,cAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAIpF,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAP5C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,6BAA6B,WAE9B,CAAC,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,SAAS,CAAC,mBAC/E,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,w5RAAA,EAAA;;;AErBvC;AASA;AAEA;AAEA;;;AAGG;MAiBU,8BAA8B,CAAA;AAhB3C,IAAA,WAAA,GAAA;QAiBqB,IAAA,CAAA,SAAS,GAAG,mBAAmB;AAEzC,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,QAAQ,0EAAuB;AACtD,IAAA;8GAJY,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA9B,8BAA8B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,2BAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjC3C,+aAWG,EAAA,MAAA,EAAA,CAAA,4FAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDWC,+BAA+B,yFAC/B,oCAAoC,EAAA,QAAA,EAAA,kCAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACpC,gCAAgC,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAChC,gCAAgC,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAQvB,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAhB1C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2BAA2B,EAAA,OAAA,EAG5B;wBACP,+BAA+B;wBAC/B,oCAAoC;wBACpC,gCAAgC;wBAChC,gCAAgC;AACjC,qBAAA,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAC/B;AACJ,wBAAA,KAAK,EAAE,2BAA2B;AACnC,qBAAA,EAAA,QAAA,EAAA,+aAAA,EAAA,MAAA,EAAA,CAAA,4FAAA,CAAA,EAAA;;;AE/BH;AAYA;AAEA;MAGa,kCAAkC,CAAA;AAD/C,IAAA,WAAA,GAAA;;AAGmB,QAAA,IAAA,CAAA,gBAAgB,GAC9B,MAAM,CAAC,8BAA8B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAA4C,IAAI,EAAE;AAiC/G,IAAA;AA/BC;;AAEG;AACK,IAAA,MAAM,mBAAmB,GAAA;QAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAChF;AAEA;;AAEG;IACH,MAAM,cAAc,CAAC,OAA2C,EAAA;AAC9D,QAAA,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE;QACrD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;AACnG,QAAA,OAAO;AACJ,aAAA,IAAI;AACJ,aAAA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,gBAAgB,KAAK,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAChG;AAEA;;;AAGG;IACH,MAAM,oBAAoB,CAAC,OAA2C,EAAA;AACpE,QAAA,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE;AACrD,QAAA,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,YAAY,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,oBAAoB,GAAG,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAChG;AACD,QAAA,OAAO;AACJ,aAAA,IAAI;AACJ,aAAA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,gBAAgB,KAAK,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAChG;8GAnCW,kCAAkC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAlC,kCAAkC,EAAA,CAAA,CAAA;;2FAAlC,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAD9C;;;ACdD;;;AAGG;AACG,SAAU,uBAAuB,CAAC,IAAyB,EAAA;AAC/D,IAAA,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC;AACnC,IAAA,MAAM,KAAK,GAAG,CAAC,IAAyB,KAAU;AAChD,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE;YAC1B;QACF;AACA,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,KAAI;AAC7C,YAAA,MAAM,cAAc,GAClB,KAAK,CAAC,IAAI,KAAK,mBAAmB,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,IAAI;YACpF,OAAO,CAAC,cAAc;AACxB,QAAA,CAAC,CAAC;AACF,QAAA,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjC,KAAK,CAAC,KAAK,CAAC;QACd;AACF,IAAA,CAAC;IACD,KAAK,CAAC,KAAK,CAAC;AACZ,IAAA,OAAO,KAAK;AACd;;MCKa,kBAAkB,CAAA;AAD/B,IAAA,WAAA,GAAA;AAEmB,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACxC,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC;AAC/B,aAAA,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI;AACjE,aAAA,IAAI,EAAqD;AAEpD,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,sBAAsB,CAAC;AAC9C,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACxC,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC;AACjD,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AACjC,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAE5C,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAqC,IAAI,mFAAC;AAC/D,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAe,WAAW,oFAAC;AACjD,QAAA,IAAA,CAAA,oBAAoB,GAAG,MAAM,CAAC,IAAI,2FAAC;QAEnC,IAAA,CAAA,SAAS,GAAG,MAAM,CAAsB;AACvD,YAAA,EAAE,EAAE,gBAAgB,CAAC,IAAI,EAAE;YAC3B,IAAI,EAAE,mBAAmB,CAAC,OAAO;AACjC,YAAA,KAAK,EAAE,yBAAyB,CAAC,SAAS,EAAE,MAAM,CAAC;AACpD,SAAA,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,WAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;AAEc,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AACtC,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE;AAC9C,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE;AAqP7E,IAAA;AAnPC;;AAEG;AACH,IAAA,oBAAoB,CAAC,KAA0C,EAAA;QAC7D,IAAI,CAAC,KAAK,EAAE;YACV;QACF;AACA,QAAA,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE;YACpC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC;QAC5C;AACA,QAAA,IAAI,KAAK,CAAC,mBAAmB,KAAK,SAAS,EAAE;YAC3C,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC;QAC1D;IACF;AAEA;;AAEG;IACH,gBAAgB,GAAA;AACd,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE;AAClC,QAAA,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE;YAClB;QACF;AACA,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE;QACpC,IAAI,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAwB;AACxE,QAAA,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE;AAChC,YAAA,IAAI,GAAG,uBAAuB,CAAC,IAAI,CAAC;QACtC;AACA,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;IAC1B;AAEO,IAAA,YAAY,CAAC,IAAkB,EAAA;AACpC,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,gBAAgB,EAAE;AACvB,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;IAC7B;AAEO,IAAA,sBAAsB,CAAC,KAAc,EAAA;AAC1C,QAAA,MAAM,UAAU,GAAG,+BAA+B,CAAC,KAAK,CAAC;AACzD,QAAA,IAAI,UAAU,KAAK,SAAS,EAAE;YAC5B;QACF;AACA,QAAA,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC;QACzC,IAAI,CAAC,gBAAgB,EAAE;AACvB,QAAA,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC;IAC7C;;AAIA;;AAEG;AACK,IAAA,MAAM,0BAA0B,GAAA;AACtC,QAAA,IAAI;AACF,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACnE,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,CACjC,iCAAiC,CAAC,kBAAkB,CACrD;AACD,YAAA,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC;AACvC,YAAA,IAAI,IAAI,KAAK,SAAS,EAAE;AACtB,gBAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;YAC9B;YAEA,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,GAAG,CACnC,iCAAiC,CAAC,iCAAiC,CACpE;AACD,YAAA,MAAM,MAAM,GAAG,+BAA+B,CAAC,SAAS,CAAC;AACzD,YAAA,IAAI,MAAM,KAAK,SAAS,EAAE;AACxB,gBAAA,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC;YACvC;QACF;AAAE,QAAA,MAAM;;QAER;IACF;AAEQ,IAAA,gBAAgB,CAAC,IAAkB,EAAA;QACzC,KAAK,IAAI,CAAC;AACP,aAAA,KAAK,CAAC,gBAAgB,CAAC,IAAI;AAC3B,aAAA,GAAG,CAAC,iCAAiC,CAAC,kBAAkB,EAAE,IAAI;AAC9D,aAAA,KAAK,CAAC,MAAK,EAAE,CAAC,CAAC;IACpB;AAEQ,IAAA,0BAA0B,CAAC,KAAc,EAAA;QAC/C,KAAK,IAAI,CAAC;AACP,aAAA,KAAK,CAAC,gBAAgB,CAAC,IAAI;AAC3B,aAAA,GAAG,CAAC,iCAAiC,CAAC,iCAAiC,EAAE,KAAK;AAC9E,aAAA,KAAK,CAAC,MAAK,EAAE,CAAC,CAAC;IACpB;;AAIO,IAAA,MAAM,IAAI,GAAA;QACf,MAAM,KAAK,GAAG,CACZ,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AACzB,YAAA,IAAI,EAAE,CAAC;AACP,YAAA,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;AAC1C,SAAA,CAAC,EACF,KAAK,CAAC,CAAC,CAAC;AAEV,QAAA,MAAM,SAAS,GAAG,KAAK,EAAE,SAAS;AAClC,QAAA,IACE,SAAS,EAAE,KAAK,EAAE,SAAS;YAC3B,SAAS,EAAE,KAAK,EAAE,QAAQ;YAC1B,SAAS,EAAE,KAAK,EAAE,SAAS;AAC3B,YAAA,SAAS,EAAE,KAAK,EAAE,iBAAiB,EACnC;AACA,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;AAChC,YAAA,MAAM,IAAI,CAAC,0BAA0B,EAAE;YACvC,IAAI,CAAC,gBAAgB,EAAE;YACvB;QACF;AAEA,QAAA,MAAM,IAAI,CAAC,QAAQ,EAAE;AACrB,QAAA,MAAM,IAAI,CAAC,IAAI,EAAE;IACnB;AAEO,IAAA,MAAM,QAAQ,GAAA;QACnB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,0CAA0C,EAAE,EAAE,CAAC;IACnF;;IAIA,MAAM,UAAU,CAAC,OAAoB,EAAA;AACnC,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;AAChC,YAAA,KAAK,EAAE,gCAAgC;AACvC,YAAA,IAAI,EAAE,aAAa;AACnB,YAAA,aAAa,EAAE,SAAS;AACxB,YAAA,aAAa,EAAE,CAAC;AAChB,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,IAAI,EAAE,+BAA+B;YACrC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;AACzE,SAAA,CAAC;AAEF,QAAA,IAAI;AACF,YAAA,MAAM,IAAI,CAAC,UAAU,CACnB,CAAC,EACD,MAAM,IAAI,CAAC,SAAS,CAAC,uEAAuE,CAAC,EAC7F,EAAE,EACF,MAAM,CACP;YACD,MAAM,YAAY,GAAG,OAAO;AAC5B,YAAA,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC;AAEzE,YAAA,MAAM,IAAI,CAAC,UAAU,CACnB,CAAC,EACD,MAAM,IAAI,CAAC,SAAS,CAAC,0EAA0E,CAAC,EAChG,EAAE,EACF,QAAQ,CACT;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,YAAY,EAAE;AAC1E,gBAAA,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,CAAC,IAAU,KAAK,EAAE,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AACzF,gBAAA,OAAO,EAAE,aAAa;AACtB,gBAAA,KAAK,EAAE,CAAC;AACR,gBAAA,OAAO,EAAE,CAAC;gBACV,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC;gBACtD,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC;AACrD,aAAA,CAAC;AAEF,YAAA,MAAM,IAAI,CAAC,UAAU,CACnB,CAAC,EACD,MAAM,IAAI,CAAC,SAAS,CAAC,gFAAgF,CAAC,EACtG,EAAE,EACF,MAAM,CACP;AACD,YAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,cAAc,CAAC;AAErD,YAAA,MAAM,IAAI,CAAC,UAAU,CACnB,CAAC,EACD,MAAM,IAAI,CAAC,SAAS,CAAC,sEAAsE,CAAC,EAC5F,EAAE,EACF,QAAQ,CACT;YACD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;AAElD,YAAA,MAAM,IAAI,CAAC,UAAU,CACnB,CAAC,EACD,MAAM,IAAI,CAAC,SAAS,CAAC,qEAAqE,CAAC,EAC3F,GAAG,EACH,OAAO,CACR;YACD,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC;QACnC;QAAE,OAAO,GAAG,EAAE;AACZ,YAAA,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,CAAC;YAC5C,MAAM,IAAI,CAAC,UAAU,CACnB,CAAC,EACD,MAAM,IAAI,CAAC,SAAS,CAAC,mFAAmF,CAAC,EACzG,GAAG,EACH,OAAO,EACP,QAAQ,CACT;YACD,CAAC,CAAC,KAAK,EAAE;QACX;IACF;AAEQ,IAAA,WAAW,CAAC,YAAyB,EAAA;AAC3C,QAAA,MAAM,cAAc,GAAG;AACrB,YAAA,gBAAgB,EAAE,YAAY,CAAC,KAAK,CAAC,QAAQ;AAC7C,YAAA,aAAa,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK;AACvC,YAAA,cAAc,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM;SAC1C;AACD,QAAA,MAAM,cAAc,GAAG;AACrB,YAAA,gBAAgB,EAAE,SAAS;AAC3B,YAAA,aAAa,EAAE,CAAA,EAAG,YAAY,CAAC,WAAW,CAAA,EAAA,CAAI;AAC9C,YAAA,cAAc,EAAE,CAAA,EAAG,YAAY,CAAC,YAAY,CAAA,EAAA,CAAI;SACjD;QACD,YAAY,CAAC,KAAK,CAAC,QAAQ,GAAG,cAAc,CAAC,gBAAgB;QAC7D,YAAY,CAAC,KAAK,CAAC,KAAK,GAAG,cAAc,CAAC,aAAa;QACvD,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,cAAc,CAAC,cAAc;AACzD,QAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE;IAC3C;IAEQ,kBAAkB,CACxB,YAAyB,EACzB,cAA2F,EAAA;QAE3F,YAAY,CAAC,KAAK,CAAC,QAAQ,GAAG,cAAc,CAAC,gBAAgB;QAC7D,YAAY,CAAC,KAAK,CAAC,KAAK,GAAG,cAAc,CAAC,aAAa;QACvD,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,cAAc,CAAC,cAAc;IAC3D;AAEQ,IAAA,MAAM,UAAU,CACtB,MAAW,EACX,IAAY,EACZ,QAAgB,EAChB,MAAc,EACd,KAAA,GAA0B,SAAS,EAAA;AAEnC,QAAA,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAI;AAC7B,YAAA,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC;AAC9B,YAAA,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC;AAC5B,YAAA,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC;AACjC,YAAA,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC;AAChC,YAAA,OAAO,EAAE;AACX,QAAA,CAAC,CAAC;IACJ;IAEQ,MAAM,SAAS,CAAC,GAAW,EAAA;AACjC,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,KAAK;IACpE;8GA1QW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAlB,kBAAkB,EAAA,CAAA,CAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B;;;ACyDD;AAEA;AAEA;;AAEG;AAsCG,MAAO,eAAgB,SAAQ,0BAA0B,CAAA;;;AA+B7D,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;;QA7BU,IAAA,CAAA,UAAU,GAAG,UAAU;AAIlC,QAAA,IAAA,CAAA,aAAa,GAAG,SAAS,CAAC,QAAQ,CAA6B,OAAO,CAAC;AACvE,QAAA,IAAA,CAAA,MAAM,GAAG,SAAS,CAAC,QAAQ,CAA6B,QAAQ,CAAC;AACjE,QAAA,IAAA,CAAA,WAAW,GAAG,SAAS,CAAC,sBAAsB,kFAAC;AAC/C,QAAA,IAAA,CAAA,OAAO,GAAG,SAAS,CAAC,kBAAkB,8EAAC;AAEvC,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACvB,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC/B,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;;AAEzC,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAClC,QAAA,IAAA,CAAA,uBAAuB,GAAG,MAAM,CAAC,kCAAkC,CAAC;AAEpE,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC;AAE9B,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;AAE1B,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAE1C,QAAA,IAAA,CAAA,2BAA2B,GAAG,MAAM,CAAC,8BAA8B,CAAC;;;QAyBpE,IAAA,CAAA,iBAAiB,GAAG,uCAAuC;QAC3D,IAAA,CAAA,iBAAiB,GAAG,CAAC;AAEtC;;;AAGG;QACc,IAAA,CAAA,cAAc,GAAG,GAAG;QACpB,IAAA,CAAA,eAAe,GAAG,GAAG;QACrB,IAAA,CAAA,sBAAsB,GAAG,EAAE;QAC3B,IAAA,CAAA,oBAAoB,GAAG,EAAE;;QAEzB,IAAA,CAAA,gBAAgB,GAAG,EAAE;AAE5B,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,KAAK,mFAAC;AAC5B,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,CAAC,2EAAC;AAChB,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,CAAC,2EAAC;AAChB,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,GAAG,mFAAC;QAE1B,IAAA,CAAA,eAAe,GAAG,KAAK;AACvB,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAgB,IAAI,qFAAC;;AAE5C,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAAC,KAAK,wFAAC;QACnC,IAAA,CAAA,iBAAiB,GAA+B,IAAI;AACpD,QAAA,IAAA,CAAA,wBAAwB,GAAG,IAAI,GAAG,EAAqC;AAErE,QAAA,IAAA,CAAA,SAAS,GAAG;AACpB,YAAA,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,mBAAmB,CAAC,OAAO,EAAE;AACtG,YAAA,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,mBAAmB,CAAC,YAAY,EAAE;AAChH,YAAA,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,EAAE;AACxG,YAAA,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,EAAE;SAC7G;AAED;;AAEG;AACa,QAAA,IAAA,CAAA,OAAO,GAAG;AACxB,YAAA,MAAM,EAAE,yBAAyB,CAAC,QAAQ,EAAE,MAAM,CAAC;AACnD,YAAA,aAAa,EAAE,yBAAyB,CAAC,gBAAgB,EAAE,cAAc,CAAC;AAC1E,YAAA,KAAK,EAAE,yBAAyB,CAAC,OAAO,EAAE,QAAQ,CAAC;AACnD,YAAA,MAAM,EAAE,yBAAyB,CAAC,QAAQ,EAAE,MAAM,CAAC;AACnD,YAAA,SAAS,EAAE,yBAAyB,CAAC,WAAW,EAAE,QAAQ,CAAC;;AAE3D,YAAA,cAAc,EAAE,yBAAyB,CAAC,iBAAiB,EAAE,aAAa,CAAC;AAC3E,YAAA,MAAM,EAAE,yBAAyB,CAAC,MAAM,EAAE,QAAQ,CAAC;AACnD,YAAA,UAAU,EAAE,yBAAyB,CAAC,UAAU,EAAE,WAAW,CAAC;AAC9D,YAAA,QAAQ,EAAE,yBAAyB,CAAC,WAAW,EAAE,UAAU,CAAC;AAC5D,YAAA,YAAY,EAAE,yBAAyB,CAAC,eAAe,EAAE,cAAc,CAAC;AACxE,YAAA,QAAQ,EAAE,yBAAyB,CAAC,UAAU,EAAE,QAAQ,CAAC;AACzD,YAAA,IAAI,EAAE,yBAAyB,CAAC,MAAM,EAAE,IAAI,CAAC;AAC7C,YAAA,QAAQ,EAAE,yBAAyB,CAAC,UAAU,EAAE,OAAO,CAAC;AACxD,YAAA,KAAK,EAAE,yBAAyB,CAAC,OAAO,EAAE,KAAK,CAAC;AAChD,YAAA,KAAK,EAAE,yBAAyB,CAAC,OAAO,EAAE,OAAO,CAAC;AAClD,YAAA,KAAK,EAAE,yBAAyB,CAAC,OAAO,EAAE,MAAM,CAAC;AACjD,YAAA,cAAc,EAAE,yBAAyB,CAAC,iBAAiB,EAAE,YAAY,CAAC;AAC1E,YAAA,QAAQ,EAAE,yBAAyB,CAAC,WAAW,EAAE,UAAU,CAAC;AAC5D,YAAA,IAAI,EAAE,+DAA+D;AACrE,YAAA,GAAG,EAAE,8DAA8D;AACnE,YAAA,kBAAkB,EAAE,qEAAqE;SAC1F;AAED;;AAEG;AACgB,QAAA,IAAA,CAAA,uBAAuB,GAAG,QAAQ,CAAC,MAAK;AACzD,YAAA,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE;YAChC,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,KAAK,EAAE,EAAE;AAC3B,gBAAA,OAAO,IAAI;YACb;AACA,YAAA,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;AAC9D,QAAA,CAAC,8FAAC;;QAGiB,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC;AAC1C,YAAA,UAAU,EAAE,EAAE;AACd,YAAA,YAAY,EAAE,EAAE;AAChB,YAAA,cAAc,EAAE,EAAE;AAClB,YAAA,aAAa,EAAE,EAAE;AAClB,SAAA,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;AAEiB,QAAA,IAAA,CAAA,iBAAiB,GAAG,QAAQ,CAAC,MAA4C;AAC1F,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,uBAAuB,EAAE;AAC3C,YAAA,IAAI,IAAI,IAAI,IAAI,EAAE;AAChB,gBAAA,OAAO,IAAI;YACb;AACA,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ;AAC1B,YAAA,IAAI,cAAkC;YACtC,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,YAAY,EAAE;AAClD,gBAAA,IAAI,IAAI,CAAC,WAAW,EAAE;oBACpB,cAAc,GAAG,0BAA0B,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC;gBACrE;AAAO,qBAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACxB,cAAc,GAAG,0BAA0B,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;gBAClE;YACF;AAAO,iBAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACxB,cAAc,GAAG,0BAA0B,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;YAClE;YACA,OAAO;gBACL,YAAY,EAAE,0BAA0B,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;gBAC1D,cAAc;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,SAAS,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC;oBAC9C,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;AACpE,iBAAA;aACF;AACH,QAAA,CAAC,wFAAC;AAEiB,QAAA,IAAA,CAAA,mBAAmB,GAAG,QAAQ,CAAC,MAAwC;AACxF,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,uBAAuB,EAAE;AAC3C,YAAA,IAAI,IAAI,IAAI,IAAI,EAAE;AAChB,gBAAA,OAAO,EAAE;YACX;YACA,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;AACzC,YAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACtB,gBAAA,OAAO,EAAE;YACX;AACA,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ;AAC1B,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE;YACnC,OAAO;AACL,gBAAA;oBACE,KAAK,EAAE,IAAI,CAAC,cAAc;oBAC1B,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM;wBACzB,KAAK,EAAE,0BAA0B,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;wBACnD,KAAK,EAAE,IAAI,CAAC,KAAK;AAClB,qBAAA,CAAC,CAAC;AACJ,iBAAA;aACF;AACH,QAAA,CAAC,0FAAC;AAEiB,QAAA,IAAA,CAAA,qBAAqB,GAAG,QAAQ,CAAC,MAAgD;AAClG,YAAA,IAAI,IAAI,CAAC,uBAAuB,EAAE,IAAI,IAAI,EAAE;AAC1C,gBAAA,OAAO,IAAI;YACb;AACA,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE;YACnC,OAAO;gBACL,YAAY,EAAE,IAAI,CAAC,UAAU;gBAC7B,OAAO,EAAE,IAAI,CAAC,YAAY;AAC1B,gBAAA,IAAI,EAAE;AACJ,oBAAA,SAAS,EAAE,yCAAyC;AACpD,oBAAA,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;AAC3C,iBAAA;aACF;AACH,QAAA,CAAC,4FAAC;AAEiB,QAAA,IAAA,CAAA,wBAAwB,GAAG,QAAQ,CAAC,MAAoB;AACzE,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,uBAAuB,EAAE;AAC3C,YAAA,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AAC1D,gBAAA,OAAO,IAAI;YACb;AACA,YAAA,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC,aAAa;AAC7C,QAAA,CAAC,+FAAC;;QAGQ,IAAA,CAAA,gBAAgB,GAAG,EAAE;QACvB,IAAA,CAAA,8BAA8B,GAAmC,MAAM;QACvE,IAAA,CAAA,yBAAyB,GAAkB,IAAI;;;AAMvD,QAAA,IAAA,CAAA,WAAW,GAAG,eAAe,CAAC,YAAW;YACvC,IAAI,CAAC,EAAE,GAAG,MAAM,OAAO,IAAI,CAAC;AAE5B,YAAA,MAAM,IAAI,CAAC,OAAO,EAAE;AACtB,QAAA,CAAC,CAAC;;;AAMe,QAAA,IAAA,CAAA,qBAAqB,GAAG,MAAM,CAAC,MAAK;AACnD,YAAA,KAAK,IAAI,CAAC,mBAAmB,EAAE;AACjC,QAAA,CAAC,4FAAC;AA7LA,QAAA,IAAI,CAAC,YAAY,CAAC,oBAAoB,CACpC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAwC,CAC9E;QAED,MAAM,CAAC,MAAK;YACV,MAAM,GAAG,GAAG,IAAI,CAAC,2BAA2B,CAAC,qBAAqB,EAAE;AACpE,YAAA,IAAI,GAAG,KAAK,CAAC,EAAE;gBACb;YACF;AACA,YAAA,KAAK,IAAI,CAAC,iCAAiC,EAAE;AAC/C,QAAA,CAAC,CAAC;IACJ;;;AAsKA,IAAA,WAAW;AAcH,IAAA,MAAM,mBAAmB,GAAA;AAC/B,QAAA,MAAM,CAAC,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;AAClF,YAAA,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAClC,iFAAiF,CAClF;AACD,YAAA,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAClC,iFAAiF,CAClF;AACD,YAAA,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAClC,2FAA2F,CAC5F;AACD,YAAA,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAClC,mFAAmF,CACpF;AACF,SAAA,CAAC;AACF,QAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;YACvB,UAAU,EAAE,UAAU,IAAI,EAAE;YAC5B,YAAY,EAAE,YAAY,IAAI,EAAE;YAChC,cAAc,EAAE,cAAc,IAAI,EAAE;YACpC,aAAa,EAAE,aAAa,IAAI,EAAE;AACnC,SAAA,CAAC;IACJ;;AAGQ,IAAA,uBAAuB,CAAC,IAAyB,EAAA;QACvD,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,OAAO,EAAE;AAC7C,YAAA,OAAO,SAAS;QAClB;QACA,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,YAAY,EAAE;YAClD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;AAClD,YAAA,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;AAChE,gBAAA,OAAO,SAAS,CAAC,IAAI,EAAE;YACzB;AACA,YAAA,OAAO,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,KAAK,IAAI,GAAG,SAAS,GAAG,SAAS;QACvE;AACA,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,QAAQ,EAAE;AAC5F,YAAA,OAAO,SAAS;QAClB;AACA,QAAA,OAAO,SAAS;IAClB;AAEQ,IAAA,wBAAwB,CAAC,IAAyB,EAAA;QACxD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;QACnC,MAAM,aAAa,GAAG;AACnB,aAAA,OAAO,CAAC,6CAA6C,EAAE,EAAE;AACzD,aAAA,IAAI;AACJ,aAAA,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;AACvB,QAAA,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,GAAG,aAAa,GAAG,YAAY;QACrE,OAAO,CAAA,qBAAA,EAAwB,KAAK,CAAA,CAAE;IACxC;IAEO,iBAAiB,GAAA;AACtB,QAAA,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC;IAChD;AAEA;;AAEG;IACI,qBAAqB,CAAC,IAAyB,EAAE,QAAiB,EAAA;AACvE,QAAA,IAAI,CAAC,UAAU,GAAG,QAAQ;AAC1B,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QACrB,IAAI,CAAC,WAAW,EAAE;IACpB;;;AAMA;;AAEG;IACO,MAAM,GAAA;AACd,QAAA,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE;IAC1B;AAEA;;AAEG;IACO,OAAO,GAAA;AACf,QAAA,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE;IAC3B;AAEA;;AAEG;IACO,SAAS,GAAA;AACjB,QAAA,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE;IACjC;AAEA;;AAEG;IACO,gBAAgB,GAAA;AACxB,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;YACvB,QAAQ,CAAC,cAAc,EAAE;AACzB,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;QAC9B;aAAO;YACL,IAAI,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,iBAAiB,EAAE;AAC/C,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;QAC7B;AACA,QAAA,QAAQ,CAAC,aAAa,CAAC,CAAA,yBAAA,EAA4B,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAA,EAAA,CAAI,CAAC,EAAE,cAAc,CAAC;AACtG,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,MAAM,EAAE,QAAQ;AACjB,SAAA,CAAC;IACJ;;;AAMU,IAAA,yBAAyB,CAAC,KAAyC,EAAA;AAC3E,QAAA,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK;AACrB,QAAA,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,KAAK,QAAQ,GAAG,CAAC,GAAG,EAAE;QACtD,IAAI,CAAC,yBAAyB,EAAE;IAClC;IAEQ,yBAAyB,GAAA;QAC/B,MAAM,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE;QACpD,IAAI,CAAC,CAAC,EAAE;AACN,YAAA,IAAI,CAAC,8BAA8B,GAAG,MAAM;AAC5C,YAAA,IAAI,CAAC,yBAAyB,GAAG,IAAI;AACrC,YAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,GAAG,EAAE,CAAC;YACrC;QACF;AACA,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAClF,QAAA,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;AACxB,YAAA,IAAI,CAAC,8BAA8B,GAAG,MAAM;AAC5C,YAAA,IAAI,CAAC,yBAAyB,GAAG,IAAI;AACrC,YAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,GAAG,EAAE,CAAC;YACrC;QACF;AACA,QAAA,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE;AAC1B,YAAA,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC;AACA,QAAA,IAAI,CAAC,8BAA8B,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,GAAG,SAAS,GAAG,SAAS;QAClF,IAAI,CAAC,yBAAyB,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI;QAC5E,IAAI,CAAC,WAAW,EAAE;IACpB;IAEQ,+BAA+B,GAAA;QACrC,qBAAqB,CAAC,MAAK;YACzB,qBAAqB,CAAC,MAAK;AACzB,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;oBACnB,MAAM,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE;AACpD,oBAAA,MAAM,IAAI,GAAG,IAAI,CAAC,8BAA8B;AAChD,oBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,yBAAyB;AAC9C,oBAAA,IAAI,CAAC,8BAA8B,GAAG,MAAM;AAC5C,oBAAA,IAAI,CAAC,yBAAyB,GAAG,IAAI;oBAErC,IAAI,CAAC,CAAC,EAAE;AACN,wBAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,GAAG,EAAE,CAAC;wBACrC;oBACF;AACA,oBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBAClF,IAAI,CAAC,qBAAqB,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7D,oBAAA,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;wBACxB;oBACF;AACA,oBAAA,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,KAAK,EAAE,EAAE;AAC3D,wBAAA,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC;wBACvE,IAAI,IAAI,EAAE;AACR,4BAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACvB;AACA,wBAAA,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE;wBAC/B,qBAAqB,CAAC,MAAM,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;oBACvE;AAAO,yBAAA,IAAI,IAAI,KAAK,SAAS,EAAE;AAC7B,wBAAA,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE;oBACjC;AACF,gBAAA,CAAC,CAAC;AACJ,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;IAEQ,4BAA4B,CAAC,IAAyB,EAAE,CAAS,EAAA;QACvE,MAAM,GAAG,GAA0B,EAAE;AACrC,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,GAAG,CAAC;AACpC,QAAA,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,0BAA0B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE;IAEQ,oBAAoB,CAAC,IAAyB,EAAE,GAA0B,EAAA;AAChF,QAAA,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QACd,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE;AACvC,YAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,GAAG,CAAC;QACvC;IACF;IAEQ,0BAA0B,CAAC,IAAyB,EAAE,CAAS,EAAA;QACrE,MAAM,KAAK,GAAa,EAAE;AAC1B,QAAA,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AACjE,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE;AACzB,YAAA,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtE;AACA,QAAA,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;AAC5B,YAAA,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzE;AACA,QAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE;AACrD,QAAA,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7B;IAEQ,kBAAkB,CAAC,IAAyB,EAAE,EAAU,EAAA;AAC9D,QAAA,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE;YAClB,OAAO,CAAC,IAAI,CAAC;QACf;QACA,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE;YACvC,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC;YAC9C,IAAI,GAAG,EAAE;AACP,gBAAA,OAAO,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC;YACvB;QACF;AACA,QAAA,OAAO,IAAI;IACb;AAEQ,IAAA,wBAAwB,CAAC,QAAgB,EAAA;AAC/C,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC;AAC5E,QAAA,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB;QACF;AACA,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AACxC,YAAA,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI;QAC3B;IACF;AAEQ,IAAA,qBAAqB,CAAC,GAAwB,EAAA;QACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,gBAAgB,CAAC,8BAA8B,CAAC;AACvE,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrC,YAAA,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAgB;YAClC,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC;AACnC,YAAA,MAAM,MAAM,GAAG,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC;YAC1F,MAAM,SAAS,GAAG,EAAE,CAAC,aAAa,CAAC,mBAAmB,CAAuB;AAC7E,YAAA,IAAI,SAAS,IAAI,IAAI,EAAE;gBACrB;YACF;AACA,YAAA,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;AACnB,gBAAA,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC;YACzC;iBAAO;AACL,gBAAA,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC;YAC5C;QACF;IACF;AAEQ,IAAA,0BAA0B,CAAC,MAAc,EAAA;QAC/C,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAA,yBAAA,EAA4B,MAAM,CAAA,EAAA,CAAI,CAAuB;QAC/F,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,aAAa;AACzC,QAAA,IAAI,EAAE,IAAI,IAAI,EAAE;YACd;QACF;AACA,QAAA,MAAM,MAAM,GAAG,EAAE,CAAC,qBAAqB,EAAE;AACzC,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,qBAAqB,EAAE;QAC3C,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;QAC1E,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AAC1E,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAC/B,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,+BAA+B,EAAE;IACxC;AAEA;;AAEG;IACK,+BAA+B,GAAA;QACrC,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,aAAa;QAC7C,EAAE,CAAC,KAAK,CAAC,SAAS,GAAG,CAAA,UAAA,EAAa,IAAI,CAAC,IAAI,EAAE,CAAA,IAAA,EAAO,IAAI,CAAC,IAAI,EAAE,CAAA,UAAA,EAAa,IAAI,CAAC,YAAY,EAAE,GAAG,GAAG,CAAA,CAAA,CAAG;IAC1G;;;AAMA;;;;AAIG;AACK,IAAA,iBAAiB,CAAC,IAAyB,EAAA;AACjD,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE;AAC7E,YAAA,OAAO,CAAC;QACV;QACA,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;IACrF;AAEA;;;;AAIG;AACK,IAAA,mBAAmB,CAAC,IAAyB,EAAA;AACnD,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE;AAC7E,YAAA,OAAO,CAAC;QACV;QACA,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,KAAK,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvF;;;AAMA;;;;AAIG;IACH,WAAW,CAAC,EAAW,EAAE,IAAyB,EAAA;AAChD,QAAA,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;YACZ;QACF;AACA,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc;AAC9B,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe;AAC/B,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,sBAAsB;AACxC,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,oBAAoB;AACtC,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB;AAElC,QAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAK;AACjC,YAAA,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;AACnB,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAE/C,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC;YAEpC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,IAAS,KAAI;gBACvC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE;AAClC,oBAAA,IAAI,CAAC,QAAQ,GAAG,SAAS;gBAC3B;AACF,YAAA,CAAC,CAAC;AAEF,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC;AACrB,iBAAA,IAAI;iBACJ,QAAQ,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;YAEnC,UAAU,CAAC,IAAI,CAAC;AAEhB,YAAA,IAAI,IAAI,GAAG,QAAQ,EACjB,IAAI,GAAG,CAAC,QAAQ,EAChB,IAAI,GAAG,QAAQ,EACf,IAAI,GAAG,CAAC,QAAQ;YAClB,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAM,KAAI;AACpC,gBAAA,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI;AAAE,oBAAA,IAAI,GAAG,CAAC,CAAC,CAAC;AAC1B,gBAAA,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI;AAAE,oBAAA,IAAI,GAAG,CAAC,CAAC,CAAC;AAC1B,gBAAA,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI;AAAE,oBAAA,IAAI,GAAG,CAAC,CAAC,CAAC;AAC1B,gBAAA,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI;AAAE,oBAAA,IAAI,GAAG,CAAC,CAAC,CAAC;AAC5B,YAAA,CAAC,CAAC;YAEF,MAAM,eAAe,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI;YACnD,MAAM,gBAAgB,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI;AAEpD,YAAA,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC;YAEtE,MAAM,CAAC,GAAG;iBACP,MAAM,CAAC,GAAG;iBACV,IAAI,CACH,WAAW,EACX,CAAA,UAAA,EAAa,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAA,EAAA,EAAK,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAA,CAAA,CAAG,CACxE;AAEH,YAAA,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC;AACjE,YAAA,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC;YAEjE;iBACG,SAAS,CAA+C,OAAO;AAC/D,iBAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACjB,iBAAA,KAAK;iBACL,MAAM,CAAC,MAAM;AACb,iBAAA,IAAI,CAAC,OAAO,EAAE,MAAM;iBACpB,IAAI,CAAC,GAAG,EAAE,CAAC,CAA+B,KAAK,IAAI,CAAC,uBAAuB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC;AAC5F,iBAAA,IAAI,CAAC,MAAM,EAAE,MAAM;AACnB,iBAAA,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB;AACrC,iBAAA,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,iBAAiB;AAC3C,iBAAA,IAAI,CAAC,MAAM,EAAE,CAAC,CAAM,KAAK,CAAA,KAAA,EAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE;AACnD,iBAAA,IAAI,CAAC,IAAI,EAAE,CAAC,CAAM,KAAK,CAAA,KAAA,EAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAA,CAAE,CAAC;YAErD;iBACG,SAAS,CAAC,iBAAiB;AAC3B,iBAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AACvB,iBAAA,KAAK;iBACL,MAAM,CAAC,eAAe;AACtB,iBAAA,IAAI,CAAC,OAAO,EAAE,gBAAgB;AAC9B,iBAAA,IAAI,CAAC,MAAM,EAAE,CAAC,CAAM,KAAK,CAAA,KAAA,EAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE;AAC5C,iBAAA,IAAI,CAAC,GAAG,EAAE,CAAC,CAAM,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC;AAClC,iBAAA,IAAI,CAAC,GAAG,EAAE,CAAC,CAAM,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI;AACzC,iBAAA,IAAI,CAAC,OAAO,EAAE,EAAE;AAChB,iBAAA,IAAI,CAAC,QAAQ,EAAE,EAAE;iBACjB,IAAI,CAAC,CAAC,CAAM,KAAK,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAE9D,YAAA,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE;YAC3B,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC;YACxD;AACF,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;;;;;;AAMzB,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI;AAC3B,YAAA,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE;QACjC;AACA,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;YACnB,IAAI,CAAC,+BAA+B,EAAE;AACxC,QAAA,CAAC,CAAC;IACJ;AAEA;;AAEG;AACK,IAAA,uBAAuB,CAC7B,CAA+B,EAC/B,SAAiB,EACjB,UAAkB,EAClB,WAAmB,EAAA;AAEnB,QAAA,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM;AACvB,QAAA,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM;QACvB,MAAM,YAAY,GAAG,CAAC;QACtB,MAAM,gBAAgB,GAAG,EAAE;AAE3B,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;AAC/D,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAE/D,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,GAAG,WAAW;QAC3D,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,GAAG,WAAW;AAE3D,QAAA,IAAI,aAAa,GACf,YAAY,IAAI;cACZ,WAAW,GAAG,YAAY,CAAC,SAAS,GAAG,YAAY,CAAC;AACtD,cAAE,MAAM,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,GAAG,WAAW,GAAG,YAAY;AAE5D,QAAA,IAAI,UAAU,GACZ,YAAY,IAAI;AACd,cAAE,WAAW,GAAG,YAAY,CAAC;AAC7B,cAAE,MAAM,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,GAAG,WAAW,GAAG,YAAY;QAE5D,aAAa,IAAI,YAAY;QAC7B,UAAU,IAAI,YAAY;AAE1B,QAAA,IAAI,aAAa,IAAI,UAAU,GAAG,gBAAgB,EAAE;AAClD,YAAA,aAAa,GAAG,MAAM,CAAC,CAAC,GAAG,WAAW;AACtC,YAAA,UAAU,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE;QAC5B;QAEA,OAAO,CAAA,CAAA,EAAI,MAAM,CAAC,CAAC,IAAI,aAAa,CAAA,CAAA,EAAI,CAAC,aAAa,GAAG,UAAU,IAAI,CAAC,CAAA,CAAA,EAAI,MAAM,CAAC,CAAC,CAAA,CAAA,EAAI,UAAU,CAAA,CAAE;IACtG;AAEA;;AAEG;AACK,IAAA,4BAA4B,CAClC,GAAkB,EAClB,SAAiB,EACjB,UAAkB,EAClB,WAAmB,EAAA;QAEnB,qBAAqB,CAAC,MAAK;YACzB,qBAAqB,CAAC,MAAK;gBACzB,qBAAqB,CAAC,MAAK;AACzB,oBAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAK;wBACjC,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC;AACrE,oBAAA,CAAC,CAAC;AACJ,gBAAA,CAAC,CAAC;AACJ,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,qBAAqB,CAC3B,GAAkB,EAClB,SAAiB,EACjB,UAAkB,EAClB,WAAmB,EAAA;AAEnB,QAAA,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;YACZ;QACF;AACA,QAAA,IAAI,CAAC;aACF,MAAM,CAAC,GAAG;aACV,SAAS,CAA+C,6BAA6B;aACrF,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,uBAAuB,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IAC1F;AAEA;;AAEG;AACK,IAAA,qBAAqB,CAAC,MAAuB,EAAA;QACnD,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAA,yBAAA,EAA4B,MAAM,CAAA,EAAA,CAAI,CAAuB;QAC1G,MAAM,aAAa,GAAG,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAuB;AAC7F,QAAA,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,EAAE;AACpC,YAAA,OAAO,IAAI;QACb;QACA,OAAO;YACL,SAAS,EAAE,aAAa,CAAC,SAAS;YAClC,MAAM,EAAE,aAAa,CAAC,YAAY;SACnC;IACH;AAEA;;;;;AAKG;AACK,IAAA,kBAAkB,CAAC,IAAyB,EAAE,EAAU,EAAE,EAAU,EAAA;AAC1E,QAAA,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YACrB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,mBAAmB,CAAC,OAAO,CAAC;QAChD;QACA,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC;;AAGhC,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;;;AAGnB,YAAA,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC;gBACvC,MAAM,EAAE,IAAI,CAAC,YAAY;gBACzB,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAA0B,EAAE,CAAC;AACnF,aAAA,CAAC;AAEF,YAAA,MAAM,GAAG,GAAiD,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAC7F,8BAA8B,EAC9B,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAC/B;AACD,YAAA,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;YAE1B,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAA,YAAA,EAAe,IAAI,CAAC,EAAE,CAAA,EAAA,CAAI,CAAC;AACzG,YAAA,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAwB;YACxD,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC;AAC/C,gBAAA,GAAG,CAAC,iBAAiB,CAAC,aAAa,EAAE;YACvC;iBAAO;gBACL,GAAG,CAAC,OAAO,EAAE;YACf;AACF,QAAA,CAAC,CAAC;IACJ;AAEA;;;;AAIG;IACI,UAAU,CAAC,IAAyB,EAAE,GAA2B,EAAA;AACtE,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,KAAK,SAAS,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,UAAU;QAC1E,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;AAChC,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;;;;IAIpF;AAEA;;;AAGG;AACK,IAAA,UAAU,CAAC,EAAW,EAAA;AAC5B,QAAA,IAAI,IAAI,CAAC,EAAE,EAAE;AACX,YAAA,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE;AACzC,YAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE;QAC/B;IACF;IAEQ,WAAW,GAAA;AACjB,QAAA,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,aAAa,EAAE;YACpD;QACF;AACA,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;IACpF;AAEQ,IAAA,MAAM,OAAO,GAAA;AACnB,QAAA,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;AAC9B,QAAA,IAAI,IAAI,CAAC,EAAE,EAAE;YACX,IAAI,CAAC,WAAW,EAAE;QACpB;IACF;AAEA;;AAEG;AACK,IAAA,MAAM,iCAAiC,GAAA;AAC7C,QAAA,MAAM,IAAI,CAAC,OAAO,EAAE;QACpB,IAAI,CAAC,SAAS,EAAE;IAClB;AAEU,IAAA,uBAAuB,CAAC,KAAmC,EAAA;AACnE,QAAA,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE;YAC5B;QACF;QACA,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC;QACrD,IAAI,CAAC,WAAW,EAAE;IACpB;;;AAMA;;;AAGG;AACO,IAAA,4BAA4B,CAAC,CAAa,EAAA;AAClD,QAAA,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,YAAY,WAAW,GAAG,CAAC,CAAC,MAAM,GAAG,IAAI;QAC7D,MAAM,SAAS,GAAG,GAAG,EAAE,OAAO,CAAC,mCAAmC,CAAC;AACnE,QAAA,IAAI,EAAE,SAAS,YAAY,WAAW,CAAC,EAAE;YACvC;QACF;QACA,CAAC,CAAC,cAAc,EAAE;QAClB,CAAC,CAAC,eAAe,EAAE;AACnB,QAAA,KAAK,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC;IAC3E;AAEQ,IAAA,MAAM,8BAA8B,CAC1C,OAAe,EACf,OAAe,EACf,aAA0B,EAAA;QAE1B,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC;QACtD,IAAI,CAAC,IAAI,EAAE;YACT;QACF;AACA,QAAA,MAAM,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC;IAC7E;AAEA;;;AAGG;AACK,IAAA,6BAA6B,CAAC,KAAmC,EAAA;AACvE,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB;QACF;AAEA,QAAA,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE;AACzB,YAAA,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AACjD,gBAAA,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC,KAAqC,CAAC;YACjF;QACF;AAEA,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrC,YAAA,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,mBAAmB,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE;gBAClD,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI;YAC3B;AACA,YAAA,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,mBAAmB;QACrC;IACF;AAEA;;;AAGG;AACK,IAAA,kCAAkC,CAAC,KAAmC,EAAA;AAC5E,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB;QACF;AAEA,QAAA,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE;AACzB,YAAA,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AACjD,gBAAA,IAAI,CAAC,kCAAkC,CAAC,KAAK,CAAC,KAAqC,CAAC;YACtF;QACF;QAEA,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;AACpC,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;AACvB,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK;QACpB;IACF;AAEA;;;;AAIG;AACK,IAAA,uBAAuB,CAAC,MAAiC,EAAA;AAC/D,QAAA,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK;QACtB,MAAM,QAAQ,GAAG,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,MAAM;AAC9C,QAAA,OAAO,MAAM,CAAC,mBAAmB,KAAK,IAAI,IAAI,QAAQ;IACxD;;AAGQ,IAAA,wBAAwB,CAAC,MAAiC,EAAA;QAChE,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM;IAC7D;;AAGQ,IAAA,oCAAoC,CAAC,MAAiC,EAAA;QAC5E,OAAO,MAAM,CAAC,KAAK,KAAK,OAAO,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM;IAC5D;AAEA;;;AAGG;IACK,MAAM,yBAAyB,CACrC,OAAe,EACf,OAAe,EACf,IAAyB,EACzB,aAA0B,EAAA;AAE1B,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;AACrB,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;AAC7B,QAAA,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE;QAErC,MAAM,OAAO,GAAG,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC;QACxD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,OAAO,CAAC;QAE1E,MAAM,KAAK,GAAiC,EAAE;AAC9C,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACnB,KAAK,CAAC,IAAI,CAAC;AACT,gBAAA,IAAI,EAAE,sBAAsB;AAC5B,gBAAA,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB;AACrC,gBAAA,IAAI,EAAE,yBAAyB;AAC/B,gBAAA,QAAQ,EAAE,IAAI;AACf,aAAA,CAAC;QACJ;aAAO;AACL,YAAA,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,iBAAiB,KAAK,IAAI,CAAC;AACtF,YAAA,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,iBAAiB,KAAK,IAAI,CAAC;AAElF,YAAA,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/B,KAAK,CAAC,IAAI,CAAC;AACT,oBAAA,IAAI,EAAE,qBAAqB;AAC3B,oBAAA,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;AACtB,oBAAA,IAAI,EAAE,kBAAkB;AACxB,oBAAA,KAAK,EAAE,IAAI;AACX,oBAAA,KAAK,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;AACjD,iBAAA,CAAC;YAClC;AAEA,YAAA,MAAM,iBAAiB,GACrB,OAAO,CAAC,QAAQ,KAAK;AACnB,kBAAE,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,KACtB,MAAM,CAAC,cAAc,KAAK;AACxB,sBAAE;AACE,wBAAA,GAAG,MAAM;AACT,wBAAA,cAAc,EAAE,SAAS;AACzB,wBAAA,iBAAiB,EAAE,SAAS;AAC5B,wBAAA,gBAAgB,EAAE,SAAS;AAC5B;sBACD,MAAM;kBAEZ,YAAY;YAElB,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,kCAAkC,CAAC,iBAAiB,CAAC,CAAC;QAC3E;AAEA,QAAA,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC;AACzC,QAAA,IAAI,CAAC,kCAAkC,CAAC,KAAK,CAAC;AAE9C,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE;QAC/B,IAAI,CAAC,IAAI,EAAE;YACT;QACF;AAEA,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,YAAA,MAAM,YAAY,GAAG;AACnB,gBAAA,MAAM,EAAE,IAAI;AACZ,gBAAA,QAAQ,EAAE,KAAK;gBACf,aAAa;AACb,gBAAA,KAAK,EAAE,KAAqB;aACA;AAC9B,YAAA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,YAAY,CAAC;AACtE,QAAA,CAAC,CAAC;IACJ;AAEA;;;AAGG;AACK,IAAA,kCAAkC,CAAC,OAAoC,EAAA;AAS7E,QAAA,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuB;QAC7C,MAAM,OAAO,GAAgC,EAAE;AAE/C,QAAA,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,cAAc,EAAE,IAAI,EAAE;YACzC,IAAI,CAAC,GAAG,EAAE;AACR,gBAAA,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;gBACpB;YACF;YACA,IAAI,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;YAC5B,IAAI,CAAC,MAAM,EAAE;AACX,gBAAA,MAAM,GAAG;oBACP,KAAK,EAAE,MAAM,CAAC,iBAAwB;oBACtC,IAAI,EAAE,MAAM,CAAC,gBAAgB;AAC7B,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,UAAU,EAAE,KAAK;AACjB,oBAAA,WAAW,EAAE,KAAK;iBACnB;AACD,gBAAA,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;YACzB;AACA,YAAA,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;AAC3B,YAAA,IAAI,IAAI,CAAC,oCAAoC,CAAC,MAAM,CAAC,EAAE;AACrD,gBAAA,MAAM,CAAC,UAAU,GAAG,IAAI;YAC1B;AACA,YAAA,IAAI,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE;AACzC,gBAAA,MAAM,CAAC,WAAW,GAAG,IAAI;YAC3B;YACA,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,gBAAgB,EAAE;AAC3C,gBAAA,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,gBAAgB;YACvC;QACF;QAMA,MAAM,OAAO,GAAmB,EAAE;AAClC,QAAA,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAC1C;QACA,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE;YACnC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAC1C;AAEA,QAAA,MAAM,OAAO,GAAG,CAAC,KAAmB,KAAY;AAC9C,YAAA,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAC3B,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,gBAAgB;YACtD;YACA,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;YACxC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC1C,OAAO,MAAM,CAAC,gBAAgB;YAChC;YACA,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACnF,QAAA,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAE/C,MAAM,KAAK,GAAiC,EAAE;AAC9C,QAAA,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;AAC3B,YAAA,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;AAC3B,gBAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACvD;YACF;YACA,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;YACxC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC1C;YACF;AACA,YAAA,MAAM,aAAa,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAC5C,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,gBAAgB,KAAK,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,gBAAgB,CAAC,CACtF;AACD,YAAA,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,KAAK,uCAAuC,EAAE;AAC3F,gBAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3D;YACF;YACA,KAAK,CAAC,IAAI,CAAC;AACT,gBAAA,IAAI,EAAE,CAAA,kBAAA,EAAqB,KAAK,CAAC,OAAO,CAAA,CAAE;gBAC1C,IAAI,EAAE,MAAM,CAAC,KAAK;AAClB,gBAAA,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,sBAAsB;gBAC3C,KAAK,EAAE,MAAM,CAAC,UAAU;AACxB,gBAAA,mBAAmB,EAAE,MAAM,CAAC,WAAW,KAAK,IAAI;AAChD,gBAAA,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;AAC9C,aAAA,CAAC;QAClC;AACA,QAAA,OAAO,KAAK;IACd;AAEQ,IAAA,wBAAwB,CAAC,MAAiC,EAAA;QAChE,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC;QACpD,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,EAAE;YACf,IAAI,EAAE,MAAM,CAAC,KAAY;YACzB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,MAAM,CAAC,KAAqC;YACnD,QAAQ,EAAE,MAAM,CAAC,QAAQ;AACzB,YAAA,KAAK,EAAE,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC;AAC3C,YAAA,mBAAmB,EAAE,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC;SAC3D;IACH;IAEU,MAAM,0BAA0B,CAAC,CAA+B,EAAA;AACxE,QAAA,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI;QAC5B,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YACxC;QACF;QACA,MAAM,MAAM,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC1D,QAAA,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE;YAC9B;QACF;AACA,QAAA,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAClF;;;AAMO,IAAA,cAAc,CAAC,IAAyB,EAAA;QAC7C,OAAO,IAAI,CAAC,cAAc,EAAE,KAAK,IAAI,CAAC,EAAE;IAC1C;AAEO,IAAA,UAAU,CAAC,IAAyB,EAAA;QACzC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;IAClC;IAEO,2BAA2B,CAAC,KAAc,EAAE,IAAyB,EAAA;QAC1E,MAAM,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC;QACvD,IAAI,CAAC,WAAW,EAAE;YAChB;QACF;QACA,WAAW,CAAC,cAAc,EAAE;QAC5B,WAAW,CAAC,eAAe,EAAE;AAC7B,QAAA,MAAM,WAAW,GACf,WAAW,CAAC,aAAa,YAAY;cACjC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,mBAAmB;cACrD,IAAI;QACV,MAAM,UAAU,GACd,WAAW,CAAC,MAAM,YAAY,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,IAAI;AACpG,QAAA,MAAM,SAAS,GAAG,QAAQ,CAAC,gBAAgB,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC;QACrF,MAAM,MAAM,IAAI,WAAW,IAAI,UAAU,IAAI,SAAS,CAAuB;AAC7E,QAAA,IAAI,EAAE,MAAM,YAAY,WAAW,CAAC,EAAE;YACpC;QACF;AACA,QAAA,KAAK,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC;IAC7F;AAEQ,IAAA,qBAAqB,CAAC,MAA+B,EAAA;QAC3D,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,OAAO,IAAI;QACb;QACA,IAAI,EAAE,GAAuB,MAAM;QACnC,OAAO,EAAE,EAAE;YACT,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,oBAAoB,CAAC;YAChD,IAAI,EAAE,EAAE;AACN,gBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;gBACtE,IAAI,QAAQ,EAAE;AACZ,oBAAA,OAAO,QAAQ;gBACjB;YACF;AACA,YAAA,EAAE,GAAG,EAAE,CAAC,aAAa;QACvB;AACA,QAAA,MAAM,UAAU,GAAI,MAAmE,CAAC,QAAQ,EAAE,IAAI;QACtG,IAAI,UAAU,IAAI,OAAQ,UAAkC,CAAC,EAAE,KAAK,QAAQ,EAAE;AAC5E,YAAA,OAAO,UAAiC;QAC1C;QACA,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,8BAA8B,CAE3D;AACR,QAAA,MAAM,MAAM,GAAG,aAAa,EAAE,QAAQ,EAAE,IAAI;QAC5C,IAAI,MAAM,IAAI,OAAQ,MAA8B,CAAC,EAAE,KAAK,QAAQ,EAAE;AACpE,YAAA,OAAO,MAA6B;QACtC;AACA,QAAA,OAAO,IAAI;IACb;IAEQ,cAAc,CAAC,IAAyB,EAAE,EAAU,EAAA;AAC1D,QAAA,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE;AAClB,YAAA,OAAO,IAAI;QACb;QACA,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,CAAC;YAC5C,IAAI,KAAK,EAAE;AACT,gBAAA,OAAO,KAAK;YACd;QACF;AACA,QAAA,OAAO,IAAI;IACb;AAEQ,IAAA,uBAAuB,CAAC,KAAc,EAAA;AAC5C,QAAA,IAAI,KAAK,YAAY,UAAU,EAAE;AAC/B,YAAA,OAAO,KAAK;QACd;QACA,IACE,OAAO,KAAK,KAAK,QAAQ;AACzB,YAAA,KAAK,IAAI,IAAI;AACb,YAAA,aAAa,IAAI,KAAK;AACrB,YAAA,KAAmC,CAAC,WAAW,YAAY,UAAU,EACtE;YACA,OAAQ,KAAqC,CAAC,WAAW;QAC3D;AACA,QAAA,OAAO,IAAI;IACb;AAEQ,IAAA,6BAA6B,CAAC,IAAyB,EAAA;QAC7D,OAAO;YACL,IAAI;AACJ,YAAA,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;AACpC,YAAA,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;YAC9C,YAAY,EAAE,YAAW;AACvB,gBAAA,MAAM,IAAI,CAAC,OAAO,EAAE;gBACpB,IAAI,CAAC,SAAS,EAAE;YAClB,CAAC;AACD,YAAA,IAAI,EAAE,IAAI;SACX;IACH;AAEQ,IAAA,eAAe,CAAC,IAAyB,EAAA;QAC/C,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,OAAO,EAAE;AAC7C,YAAA,OAAO,cAAc;QACvB;QACA,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,YAAY,EAAE;AAClD,YAAA,OAAO,eAAe;QACxB;QACA,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,QAAQ,EAAE;AAC9C,YAAA,OAAO,UAAU;QACnB;QACA,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,QAAQ,EAAE;AAC9C,YAAA,OAAO,UAAU;QACnB;AACA,QAAA,OAAO,OAAO;IAChB;;;AAMA;;AAEG;AACO,IAAA,MAAM,UAAU,GAAA;QACxB,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;QAChF,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;AAC/D,QAAA,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,aAAa,CAAC;QACtE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC;IAChF;AAEA;;AAEG;AACK,IAAA,+BAA+B,CAAC,KAAa,EAAA;AACnD,QAAA,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE;QACtB,MAAM,IAAI,GAAG,2CAA2C,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,IAAI,IAAI,EAAE;AACR,YAAA,OAAO,CAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA,EAAA,EAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA,EAAA,EAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;QACvF;QACA,MAAM,IAAI,GAAG,kCAAkC,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,IAAI,IAAI,EAAE;YACR,OAAO,CAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA,EAAA,EAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA,EAAA,EAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA,CAAE;QACrH;QACA,MAAM,GAAG,GAAG,2CAA2C,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,IAAI,GAAG,EAAE;AACP,YAAA,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE;QAC1C;AACA,QAAA,OAAO,IAAI;IACb;AAEQ,IAAA,2BAA2B,CAAC,OAAe,EAAA;QACjD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7D,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK;QACvB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,GAAG,CAAC;QAC9E,OAAO,SAAS,GAAG,IAAI,GAAG,YAAY,GAAG,eAAe;IAC1D;IAEQ,sBAAsB,CAAC,OAAe,EAAE,MAAc,EAAA;AAC5D,QAAA,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;AAClF,QAAA,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE;IAChD;AAEA;;;;AAIG;AACI,IAAA,aAAa,CAAC,KAAa,EAAA;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC;QAC3D,IAAI,OAAO,EAAE;YACX,OAAO;AACL,gBAAA,iBAAiB,EAAE,OAAO;AAC1B,gBAAA,mBAAmB,EAAE,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC;gBAC9D,qBAAqB,EAAE,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC;aAClE;QACH;AACA,QAAA,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAC7B,OAAO;gBACL,iBAAiB,EAAE,CAAA,mBAAA,EAAsB,KAAK,CAAA,CAAA,CAAG;gBACjD,mBAAmB,EAAE,CAAA,sBAAA,EAAyB,KAAK,CAAA,CAAA,CAAG;gBACtD,qBAAqB,EAAE,CAAA,0BAAA,EAA6B,KAAK,CAAA,CAAA,CAAG;aAC7D;QACH;QACA,OAAO;YACL,iBAAiB,EAAE,CAAA,mBAAA,EAAsB,KAAK,CAAA,SAAA,CAAW;YACzD,mBAAmB,EAAE,CAAA,sBAAA,EAAyB,KAAK,CAAA,SAAA,CAAW;YAC9D,qBAAqB,EAAE,CAAA,0BAAA,EAA6B,KAAK,CAAA,SAAA,CAAW;SACrE;IACH;AAEA;;;AAGG;AACI,IAAA,yBAAyB,CAAC,IAAyB,EAAA;AACxD,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE;AAC9B,QAAA,MAAM,QAAQ,GAAG,EAAE,CAAC,eAAe,CAAC;AACpC,QAAA,IAAI,QAAQ,KAAK,aAAa,EAAE;AAC9B,YAAA,MAAM,EAAE,GAAG,EAAE,CAAC,UAAU,CAAwC;AAChE,YAAA,IAAI,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,OAAO,EAAE,CAAC,cAAc,CAAC,KAAK,QAAQ,IAAI,EAAE,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;AACjH,gBAAA,OAAO,KAAK;YACd;QACF;AACA,QAAA,IAAI,QAAQ,KAAK,gBAAgB,EAAE;AACjC,YAAA,IAAI,EAAE,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;AACzB,gBAAA,OAAO,IAAI;YACb;AACA,YAAA,MAAM,GAAG,GAAG,EAAE,CAAC,UAAU,CAAwC;AACjE,YAAA,MAAM,EAAE,GAAG,GAAG,GAAG,aAAa,CAAC;AAC/B,YAAA,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;AAClD,gBAAA,OAAO,KAAK;YACd;QACF;AACA,QAAA,OAAO,IAAI;IACb;;;AAMO,IAAA,sBAAsB,CAAC,IAAyB,EAAA;AACrD,QAAA,IACE,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,QAAQ;YAC1C,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,KAAK,aAAa,EAClD;YACA,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAwC;AAC7E,YAAA,MAAM,gBAAgB,GAAG,KAAK,GAAG,eAAe,CAAC;AACjD,YAAA,IAAI,MAAc;AAClB,YAAA,IAAI,OAAO,gBAAgB,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;AAC7E,gBAAA,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YACpD;iBAAO,IAAI,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE;gBAC7C,MAAM,GAAG,CAAC;YACZ;iBAAO;gBACL,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC7C,gBAAA,MAAM,GAAG,UAAU,GAAG,CAAC,GAAG,UAAU,GAAG,CAAC;YAC1C;;AAEA,YAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE;QACjC;AACA,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,OAAO,EAAE;AAC/F,YAAA,OAAO,IAAI;QACb;QACA,IAAI,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,KAAK,IAAI,EAAE;AAC1C,YAAA,OAAO,IAAI;QACb;QACA,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAwC;AAC7E,QAAA,MAAM,SAAS,GAAG,KAAK,GAAG,eAAe,CAAC;AAC1C,QAAA,MAAM,YAAY,GAAG,KAAK,GAAG,0BAA0B,CAAC;AACxD,QAAA,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;AAChE,YAAA,OAAO,IAAI;QACb;AACA,QAAA,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;AACtE,YAAA,OAAO,IAAI;QACb;QACA,OAAO;AACL,YAAA,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAC1C,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;SACjD;IACH;AAEO,IAAA,uBAAuB,CAAC,IAAyB,EAAA;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;AACtC,QAAA,MAAM,UAAU,GAAc;YAC5B,KAAK,GAAG,iBAAiB,CAAC;YAC1B,KAAK,GAAG,qBAAqB,CAAC;YAC9B,KAAK,GAAG,OAAO,CAAC;YAChB,KAAK,GAAG,YAAY,CAAC;AACrB,YAAA,IAAI,CAAC,QAAQ,GAAG,iBAAiB,CAAC;AAClC,YAAA,IAAI,CAAC,QAAQ,GAAG,qBAAqB,CAAC;AACtC,YAAA,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC;AAC7B,YAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;SACzB;AACD,QAAA,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;AAClC,YAAA,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE;AACjF,gBAAA,OAAO,SAAS;YAClB;QACF;AACA,QAAA,OAAO,IAAI;IACb;AAEA;;AAEG;AACI,IAAA,gBAAgB,CAAC,IAAyB,EAAA;AAC/C,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE;AACpC,QAAA,MAAM,MAAM,GAAG,CAAC,KAAc,KAAmB;AAC/C,YAAA,IAAI,KAAK,IAAI,IAAI,EAAE;AACjB,gBAAA,OAAO,IAAI;YACb;YACA,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;AAC3D,gBAAA,OAAO,MAAM,CAAC,KAAK,CAAC;YACtB;AACA,YAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,gBAAA,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE;gBAC5B,OAAO,OAAO,CAAC,MAAM,GAAG,OAAO,GAAG,IAAI;YACxC;AACA,YAAA,OAAO,IAAI;AACb,QAAA,CAAC;AACD,QAAA,MAAM,YAAY,GAAG,CAAC,GAAG,UAAqB,KAAmB;AAC/D,YAAA,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;AAClC,gBAAA,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC;AAC9B,gBAAA,IAAI,IAAI,IAAI,IAAI,EAAE;AAChB,oBAAA,OAAO,IAAI;gBACb;YACF;AACA,YAAA,OAAO,IAAI;AACb,QAAA,CAAC;AACD,QAAA,MAAM,UAAU,GAAG,CACjB,KAA6B,EAC7B,KAAoB,KACuC;AAC3D,YAAA,OAAO,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE;AAChD,QAAA,CAAC;QACD,MAAM,KAAK,GAA4D,EAAE;QACzE,MAAM,mBAAmB,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;QAE9D,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,YAAY,EAAE;AAClD,YAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAwC;YAC5E,IAAI,QAAQ,EAAE;gBACZ,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,IAAI;AAC1C,gBAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC;AACxC,gBAAA,MAAM,QAAQ,GACZ,MAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI;AACpD,sBAAE,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ;AAC/D,sBAAE,OAAO,CAAC,IAAI,EAAE;AACpB,gBAAA,MAAM,MAAM,GAAG,QAAQ,CAAC,eAAe,CAAC;gBACxC,IAAI,YAAY,GAAkB,IAAI;AACtC,gBAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;AAC9B,oBAAA,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE;AACvB,oBAAA,YAAY,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI;gBACpC;qBAAO,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;AACvD,oBAAA,MAAM,CAAC,GAAG,0BAA0B,CAAC,MAAgC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE;AAC5F,oBAAA,YAAY,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI;gBACpC;AACA,gBAAA,MAAM,UAAU,GAAG;oBACjB,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC;oBACzC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC;iBAClD,CAAC,MAAM,CAAC,CAAC,IAAI,KAA+D,IAAI,IAAI,IAAI,CAAC;AAC1F,gBAAA,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;YAC3B;QACF;AAEA,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,OAAO,EAAE;AAC/F,YAAA,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;AACrG,YAAA,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;AACxG,YAAA,MAAM,cAAc,GAAG;gBACrB,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAC3C,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC;aAC5C;AACD,YAAA,IAAI,mBAAmB,IAAI,IAAI,EAAE;gBAC/B,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACxF;AACA,YAAA,KAAK,CAAC,IAAI,CACR,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,KAA+D,IAAI,IAAI,IAAI,CAAC,CAC3G;QACH;QAEA,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,QAAQ,EAAE;AAC9C,YAAA,MAAM,YAAY,GAChB,QAAQ,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,QAAQ,CAAC,eAAe,CAAC,KAAK,aAAa;AAC5E,YAAA,MAAM,IAAI,GAAG,QAAQ,CAAC,yBAAyB,CAAuC;YACtF,MAAM,SAAS,GACb,IAAI,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK;kBAC5B,0BAA0B,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ;kBAC9C,IAAI;AACV,YAAA,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC9F,YAAA,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;YACrE,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACnD,MAAM,aAAa,GAAG;AACpB,kBAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC;AACnD,kBAAE;oBACA,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC;oBAChD,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;oBACrC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC;oBACnC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC;iBAC5C;AACH,YAAA,KAAK,CAAC,IAAI,CACR,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,KAA+D,IAAI,IAAI,IAAI,CAAC,CAC1G;QACH;AAEA,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,KAAK,eAAe,EAAE;AACtG,YAAA,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;AACpE,YAAA,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACjE,YAAA,MAAM,cAAc,GAAG,YAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;AAChG,YAAA,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;AAC9E,YAAA,MAAM,YAAY,GAAG;gBACnB,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;gBACrC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;gBACrC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,cAAc,CAAC;gBACvD,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC;aAC5C;;AAED,YAAA,KAAK,CAAC,IAAI,CACR,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,KAA+D,IAAI,IAAI,IAAI,CAAC,CACzG;QACH;QAEA,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1B;;;AAMA;;AAEG;AACK,IAAA,kCAAkC,CAAC,IAAkB,EAAA;AAC3D,QAAA,MAAM,IAAI,GAAiC;AACzC,YAAA,SAAS,EAAE,oEAAoE;AAC/E,YAAA,QAAQ,EAAE,mEAAmE;AAC7E,YAAA,SAAS,EAAE,oEAAoE;AAC/E,YAAA,iBAAiB,EACf,4EAA4E;SAC/E;AACD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB;IAEU,SAAS,CAAC,QAAa,EAAE,QAA6B,EAAA;AAC9D,QAAA,QAAQ,CAAC,GAAG,GAAG,QAAQ;IACzB;AAES,IAAA,MAAM,YAAY,GAAA;QACzB,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAC/C,oEAAoE,CACrE;IACH;AAES,IAAA,MAAM,kBAAkB,GAAA;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC;QAC7D,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,OAAO,CAAC;IAC5D;IAEmB,eAAe,GAAA;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;QAC7C,MAAM,KAAK,GAAmB,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,mBAAmB,CAAC;QACzF,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;AACvB,YAAA,KAAK,EAAE,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC;AACjD,YAAA,OAAO,EAAE;AACP,gBAAA,IAAI,EAAE,YAAY;AAClB,gBAAA,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,KAAK,CAAC,EAAE,wBAAwB,EAAE,IAAI,EAAE;AAC9E,aAAA;;YAED,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,UAAU,GAAG,EAAE;AACnC,SAAA,CAAC,CAAC;IACL;AAES,IAAA,MAAM,qBAAqB,GAAA;QAClC,OAAO;AACL,YAAA;gBACE,GAAG,eAAe,CAAC,OAAO,CAAC;AAC3B,gBAAA,OAAO,EAAE;AACP,oBAAA,IAAI,EAAE,OAAO;AACd,iBAAA;AACF,aAAA;AACD,YAAA;gBACE,GAAG,eAAe,CAAC,SAAS,CAAC;AAC7B,gBAAA,OAAO,EAAE;AACP,oBAAA,IAAI,EAAE,SAAS;AAChB,iBAAA;AACF,aAAA;SACF;IACH;AACS,IAAA,MAAM,kBAAkB,GAAA;QAC/B,OAAO;AACL,YAAA;gBACE,KAAK,EAAE,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,kDAAkD,CAAC;AACtG,aAAA;SACF;IACH;IAES,MAAM,OAAO,CAAC,OAA0B,EAAA;AAC/C,QAAA,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE;YACjC,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,CAA6B;YACnE,IAAI,IAAI,EAAE;AACR,gBAAA,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC;gBACpC,IAAI,CAAC,WAAW,EAAE;gBAClB,IAAI,CAAC,SAAS,EAAE;YAClB;YACA;QACF;AACA,QAAA,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,EAAE;AAC3B,YAAA,MAAM,IAAI,CAAC,UAAU,EAAE;QACzB;AACA,QAAA,IAAI,OAAO,CAAC,IAAI,IAAI,SAAS,EAAE;AAC7B,YAAA,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;AAClC,YAAA,MAAM,IAAI,CAAC,OAAO,EAAE;YACpB,IAAI,CAAC,SAAS,EAAE;QAClB;IACF;;;IAMA,WAAW,GAAA;QACT,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,aAAa,CAAC;IACrD;8GApkDW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,SAAA,EAVf;YACT,kBAAkB;YAClB,kCAAkC;AAClC,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,eAAe;AAC7B,aAAA;AACD,YAAA,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,eAAe,EAAE;SAC9D,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAW+B,sBAAsB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAC1B,kBAAkB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC1IhD,oyFA2DkB,m8VDoCd,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACX,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA;;AAEZ,gBAAA,YAAY,wOACZ,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,sBAAsB,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACtB,mBAAmB,8GACnB,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,+BAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACjB,kBAAkB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAClB,eAAe,8BACf,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACnB,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACb,iBAAiB,0ZACjB,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA;;AAEd,gBAAA,4BAA4B,EAAA,QAAA,EAAA,qfAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAC5B,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACtB,iCAAiC,6IACjC,iCAAiC,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAcxB,eAAe,EAAA,UAAA,EAAA,CAAA;kBArC3B,SAAS;AAGC,YAAA,IAAA,EAAA,CAAA,EAAA,OAAA,EAAA;wBACP,YAAY;wBACZ,WAAW;wBACX,YAAY;;wBAEZ,YAAY;wBACZ,cAAc;wBACd,sBAAsB;wBACtB,mBAAmB;wBACnB,iBAAiB;wBACjB,kBAAkB;wBAClB,eAAe;wBACf,mBAAmB;wBACnB,aAAa;wBACb,iBAAiB;wBACjB,cAAc;;wBAEd,4BAA4B;wBAC5B,sBAAsB;wBACtB,iCAAiC;wBACjC,iCAAiC;AAClC,qBAAA,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAAA,SAAA,EAC1B;wBACT,kBAAkB;wBAClB,kCAAkC;AAClC,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,eAAiB;AAC7B,yBAAA;AACD,wBAAA,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,iBAAiB,EAAE;AAC9D,qBAAA,EAAA,QAAA,EAAA,oyFAAA,EAAA,MAAA,EAAA,CAAA,44VAAA,CAAA,EAAA;AASsE,SAAA,CAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,EAAA,aAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAAA,OAAO,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CACd,QAAQ,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MACxC,sBAAsB,sFAC1B,kBAAkB,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Injectable } from '@angular/core';
|
|
3
3
|
import { A as AXPOrganizationManagementPermissionKeys } from './acorex-modules-organization-management-permission.keys-DwZNBc12.mjs';
|
|
4
|
-
import { R as RootConfig } from './acorex-modules-organization-management-acorex-modules-organization-management-
|
|
4
|
+
import { R as RootConfig } from './acorex-modules-organization-management-acorex-modules-organization-management-BZtWfgmH.mjs';
|
|
5
5
|
|
|
6
6
|
//#endregion
|
|
7
7
|
//#region ---- Permission Definition Provider ----
|
|
@@ -74,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
74
74
|
}] });
|
|
75
75
|
|
|
76
76
|
export { AXMPermissionDefinitionProvider };
|
|
77
|
-
//# sourceMappingURL=acorex-modules-organization-management-permission-definition.provider-
|
|
77
|
+
//# sourceMappingURL=acorex-modules-organization-management-permission-definition.provider-8t2vBgtp.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-organization-management-permission-definition.provider-BcIRJpBt.mjs","sources":["../../../../libs/modules/organization-management/src/lib/permission-definition.provider.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPPermissionDefinitionProvider, AXPPermissionDefinitionProviderContext } from '@acorex/platform/auth';\nimport { Injectable } from '@angular/core';\nimport { AXPOrganizationManagementPermissionKeys } from './permission.keys';\nimport { RootConfig } from './const';\n\n//#endregion\n\n//#region ---- Permission Definition Provider ----\n\n/**\n * Permission Definition Provider for Organization Management Module.\n * Defines permissions based on aggregate roots following domain-driven design principles.\n */\n@Injectable()\nexport class AXMPermissionDefinitionProvider implements AXPPermissionDefinitionProvider {\n async define(context: AXPPermissionDefinitionProviderContext): Promise<void> {\n const keys = AXPOrganizationManagementPermissionKeys;\n\n // I18n path constants for cleaner code\n const MODULE_PERMISSIONS = '@organization-management:module.permissions';\n const TEAM_PERMISSIONS = '@organization-management:team.permissions';\n const POSITION_PERMISSIONS = '@organization-management:position.permissions';\n const JOB_DEFINITION_PERMISSIONS = '@organization-management:job-definition.permissions';\n const JOB_LEVEL_PERMISSIONS = '@organization-management:job-level.permissions';\n const RESPONSIBILITY_PERMISSIONS = '@organization-management:responsibility.permissions';\n const BUSINESS_UNIT_PERMISSIONS = '@organization-management:business-unit.permissions';\n const BUSINESS_UNIT_TYPE_PERMISSIONS = '@organization-management:business-unit-type.permissions';\n const CHART_PERMISSIONS = '@organization-management:chart.permissions';\n\n context\n .addGroup(\n RootConfig.module.name,\n `${MODULE_PERMISSIONS}.title`,\n `${MODULE_PERMISSIONS}.description`\n )\n // Aggregate Root: Team (Important Entity - Full CRUD)\n .addPermission(\n keys.Team.Management,\n `${TEAM_PERMISSIONS}.title`,\n `${TEAM_PERMISSIONS}.description`\n )\n .addChild(\n keys.Team.View,\n `${TEAM_PERMISSIONS}.view.title`,\n `${TEAM_PERMISSIONS}.view.description`\n )\n .addChild(\n keys.Team.Create,\n `${TEAM_PERMISSIONS}.create.title`,\n `${TEAM_PERMISSIONS}.create.description`\n )\n .addChild(\n keys.Team.Update,\n `${TEAM_PERMISSIONS}.edit.title`,\n `${TEAM_PERMISSIONS}.edit.description`\n )\n .addChild(\n keys.Team.Delete,\n `${TEAM_PERMISSIONS}.delete.title`,\n `${TEAM_PERMISSIONS}.delete.description`\n )\n .endPermission()\n // Aggregate Root: Position (Important Entity - Full CRUD)\n .addPermission(\n keys.Position.Management,\n `${POSITION_PERMISSIONS}.title`,\n `${POSITION_PERMISSIONS}.description`\n )\n .addChild(\n keys.Position.View,\n `${POSITION_PERMISSIONS}.view.title`,\n `${POSITION_PERMISSIONS}.view.description`\n )\n .addChild(\n keys.Position.Create,\n `${POSITION_PERMISSIONS}.create.title`,\n `${POSITION_PERMISSIONS}.create.description`\n )\n .addChild(\n keys.Position.Update,\n `${POSITION_PERMISSIONS}.edit.title`,\n `${POSITION_PERMISSIONS}.edit.description`\n )\n .addChild(\n keys.Position.Delete,\n `${POSITION_PERMISSIONS}.delete.title`,\n `${POSITION_PERMISSIONS}.delete.description`\n )\n .endPermission()\n // Aggregate Root: JobDefinition (Important Entity - Full CRUD)\n .addPermission(\n keys.JobDefinition.Management,\n `${JOB_DEFINITION_PERMISSIONS}.title`,\n `${JOB_DEFINITION_PERMISSIONS}.description`\n )\n .addChild(\n keys.JobDefinition.View,\n `${JOB_DEFINITION_PERMISSIONS}.view.title`,\n `${JOB_DEFINITION_PERMISSIONS}.view.description`\n )\n .addChild(\n keys.JobDefinition.Create,\n `${JOB_DEFINITION_PERMISSIONS}.create.title`,\n `${JOB_DEFINITION_PERMISSIONS}.create.description`\n )\n .addChild(\n keys.JobDefinition.Update,\n `${JOB_DEFINITION_PERMISSIONS}.edit.title`,\n `${JOB_DEFINITION_PERMISSIONS}.edit.description`\n )\n .addChild(\n keys.JobDefinition.Delete,\n `${JOB_DEFINITION_PERMISSIONS}.delete.title`,\n `${JOB_DEFINITION_PERMISSIONS}.delete.description`\n )\n .endPermission()\n // Aggregate Root: JobLevel (Simple Entity - Management Only)\n .addPermission(\n keys.JobLevel.Management,\n `${JOB_LEVEL_PERMISSIONS}.title`,\n `${JOB_LEVEL_PERMISSIONS}.description`\n )\n .endPermission()\n // Aggregate Root: Responsibility (Simple Entity - Management Only)\n .addPermission(\n keys.Responsibility.Management,\n `${RESPONSIBILITY_PERMISSIONS}.title`,\n `${RESPONSIBILITY_PERMISSIONS}.description`\n )\n .endPermission()\n // Aggregate Root: BusinessUnit (Important Entity - Full CRUD)\n .addPermission(\n keys.BusinessUnit.Management,\n `${BUSINESS_UNIT_PERMISSIONS}.title`,\n `${BUSINESS_UNIT_PERMISSIONS}.description`\n )\n .addChild(\n keys.BusinessUnit.View,\n `${BUSINESS_UNIT_PERMISSIONS}.view.title`,\n `${BUSINESS_UNIT_PERMISSIONS}.view.description`\n )\n .addChild(\n keys.BusinessUnit.Create,\n `${BUSINESS_UNIT_PERMISSIONS}.create.title`,\n `${BUSINESS_UNIT_PERMISSIONS}.create.description`\n )\n .addChild(\n keys.BusinessUnit.Update,\n `${BUSINESS_UNIT_PERMISSIONS}.edit.title`,\n `${BUSINESS_UNIT_PERMISSIONS}.edit.description`\n )\n .addChild(\n keys.BusinessUnit.Delete,\n `${BUSINESS_UNIT_PERMISSIONS}.delete.title`,\n `${BUSINESS_UNIT_PERMISSIONS}.delete.description`\n )\n .endPermission()\n // Aggregate Root: BusinessUnitType (Simple Entity - Management Only)\n .addPermission(\n keys.BusinessUnitType.Management,\n `${BUSINESS_UNIT_TYPE_PERMISSIONS}.title`,\n `${BUSINESS_UNIT_TYPE_PERMISSIONS}.description`\n )\n .endPermission()\n // Aggregate Root: Chart (Simple Entity - Management Only)\n .addPermission(\n keys.Chart.Management,\n `${CHART_PERMISSIONS}.title`,\n `${CHART_PERMISSIONS}.description`\n )\n .endPermission()\n .endGroup();\n }\n}\n\n//#endregion\n\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-modules-organization-management-permission-definition.provider-8t2vBgtp.mjs","sources":["../../../../libs/modules/organization-management/src/lib/permission-definition.provider.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPPermissionDefinitionProvider, AXPPermissionDefinitionProviderContext } from '@acorex/platform/auth';\nimport { Injectable } from '@angular/core';\nimport { AXPOrganizationManagementPermissionKeys } from './permission.keys';\nimport { RootConfig } from './const';\n\n//#endregion\n\n//#region ---- Permission Definition Provider ----\n\n/**\n * Permission Definition Provider for Organization Management Module.\n * Defines permissions based on aggregate roots following domain-driven design principles.\n */\n@Injectable()\nexport class AXMPermissionDefinitionProvider implements AXPPermissionDefinitionProvider {\n async define(context: AXPPermissionDefinitionProviderContext): Promise<void> {\n const keys = AXPOrganizationManagementPermissionKeys;\n\n // I18n path constants for cleaner code\n const MODULE_PERMISSIONS = '@organization-management:module.permissions';\n const TEAM_PERMISSIONS = '@organization-management:team.permissions';\n const POSITION_PERMISSIONS = '@organization-management:position.permissions';\n const JOB_DEFINITION_PERMISSIONS = '@organization-management:job-definition.permissions';\n const JOB_LEVEL_PERMISSIONS = '@organization-management:job-level.permissions';\n const RESPONSIBILITY_PERMISSIONS = '@organization-management:responsibility.permissions';\n const BUSINESS_UNIT_PERMISSIONS = '@organization-management:business-unit.permissions';\n const BUSINESS_UNIT_TYPE_PERMISSIONS = '@organization-management:business-unit-type.permissions';\n const CHART_PERMISSIONS = '@organization-management:chart.permissions';\n\n context\n .addGroup(\n RootConfig.module.name,\n `${MODULE_PERMISSIONS}.title`,\n `${MODULE_PERMISSIONS}.description`\n )\n // Aggregate Root: Team (Important Entity - Full CRUD)\n .addPermission(\n keys.Team.Management,\n `${TEAM_PERMISSIONS}.title`,\n `${TEAM_PERMISSIONS}.description`\n )\n .addChild(\n keys.Team.View,\n `${TEAM_PERMISSIONS}.view.title`,\n `${TEAM_PERMISSIONS}.view.description`\n )\n .addChild(\n keys.Team.Create,\n `${TEAM_PERMISSIONS}.create.title`,\n `${TEAM_PERMISSIONS}.create.description`\n )\n .addChild(\n keys.Team.Update,\n `${TEAM_PERMISSIONS}.edit.title`,\n `${TEAM_PERMISSIONS}.edit.description`\n )\n .addChild(\n keys.Team.Delete,\n `${TEAM_PERMISSIONS}.delete.title`,\n `${TEAM_PERMISSIONS}.delete.description`\n )\n .endPermission()\n // Aggregate Root: Position (Important Entity - Full CRUD)\n .addPermission(\n keys.Position.Management,\n `${POSITION_PERMISSIONS}.title`,\n `${POSITION_PERMISSIONS}.description`\n )\n .addChild(\n keys.Position.View,\n `${POSITION_PERMISSIONS}.view.title`,\n `${POSITION_PERMISSIONS}.view.description`\n )\n .addChild(\n keys.Position.Create,\n `${POSITION_PERMISSIONS}.create.title`,\n `${POSITION_PERMISSIONS}.create.description`\n )\n .addChild(\n keys.Position.Update,\n `${POSITION_PERMISSIONS}.edit.title`,\n `${POSITION_PERMISSIONS}.edit.description`\n )\n .addChild(\n keys.Position.Delete,\n `${POSITION_PERMISSIONS}.delete.title`,\n `${POSITION_PERMISSIONS}.delete.description`\n )\n .endPermission()\n // Aggregate Root: JobDefinition (Important Entity - Full CRUD)\n .addPermission(\n keys.JobDefinition.Management,\n `${JOB_DEFINITION_PERMISSIONS}.title`,\n `${JOB_DEFINITION_PERMISSIONS}.description`\n )\n .addChild(\n keys.JobDefinition.View,\n `${JOB_DEFINITION_PERMISSIONS}.view.title`,\n `${JOB_DEFINITION_PERMISSIONS}.view.description`\n )\n .addChild(\n keys.JobDefinition.Create,\n `${JOB_DEFINITION_PERMISSIONS}.create.title`,\n `${JOB_DEFINITION_PERMISSIONS}.create.description`\n )\n .addChild(\n keys.JobDefinition.Update,\n `${JOB_DEFINITION_PERMISSIONS}.edit.title`,\n `${JOB_DEFINITION_PERMISSIONS}.edit.description`\n )\n .addChild(\n keys.JobDefinition.Delete,\n `${JOB_DEFINITION_PERMISSIONS}.delete.title`,\n `${JOB_DEFINITION_PERMISSIONS}.delete.description`\n )\n .endPermission()\n // Aggregate Root: JobLevel (Simple Entity - Management Only)\n .addPermission(\n keys.JobLevel.Management,\n `${JOB_LEVEL_PERMISSIONS}.title`,\n `${JOB_LEVEL_PERMISSIONS}.description`\n )\n .endPermission()\n // Aggregate Root: Responsibility (Simple Entity - Management Only)\n .addPermission(\n keys.Responsibility.Management,\n `${RESPONSIBILITY_PERMISSIONS}.title`,\n `${RESPONSIBILITY_PERMISSIONS}.description`\n )\n .endPermission()\n // Aggregate Root: BusinessUnit (Important Entity - Full CRUD)\n .addPermission(\n keys.BusinessUnit.Management,\n `${BUSINESS_UNIT_PERMISSIONS}.title`,\n `${BUSINESS_UNIT_PERMISSIONS}.description`\n )\n .addChild(\n keys.BusinessUnit.View,\n `${BUSINESS_UNIT_PERMISSIONS}.view.title`,\n `${BUSINESS_UNIT_PERMISSIONS}.view.description`\n )\n .addChild(\n keys.BusinessUnit.Create,\n `${BUSINESS_UNIT_PERMISSIONS}.create.title`,\n `${BUSINESS_UNIT_PERMISSIONS}.create.description`\n )\n .addChild(\n keys.BusinessUnit.Update,\n `${BUSINESS_UNIT_PERMISSIONS}.edit.title`,\n `${BUSINESS_UNIT_PERMISSIONS}.edit.description`\n )\n .addChild(\n keys.BusinessUnit.Delete,\n `${BUSINESS_UNIT_PERMISSIONS}.delete.title`,\n `${BUSINESS_UNIT_PERMISSIONS}.delete.description`\n )\n .endPermission()\n // Aggregate Root: BusinessUnitType (Simple Entity - Management Only)\n .addPermission(\n keys.BusinessUnitType.Management,\n `${BUSINESS_UNIT_TYPE_PERMISSIONS}.title`,\n `${BUSINESS_UNIT_TYPE_PERMISSIONS}.description`\n )\n .endPermission()\n // Aggregate Root: Chart (Simple Entity - Management Only)\n .addPermission(\n keys.Chart.Management,\n `${CHART_PERMISSIONS}.title`,\n `${CHART_PERMISSIONS}.description`\n )\n .endPermission()\n .endGroup();\n }\n}\n\n//#endregion\n\n"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AXPWidgetsList } from '@acorex/modules/common';
|
|
2
2
|
import { createAllQueryView } from '@acorex/platform/common';
|
|
3
3
|
import { entityMasterCrudActions, entityMasterDeleteAction } from '@acorex/platform/layout/entity';
|
|
4
|
-
import { R as RootConfig } from './acorex-modules-organization-management-acorex-modules-organization-management-
|
|
4
|
+
import { R as RootConfig } from './acorex-modules-organization-management-acorex-modules-organization-management-BZtWfgmH.mjs';
|
|
5
5
|
|
|
6
6
|
async function factory(injector) {
|
|
7
7
|
const entityDef = {
|
|
@@ -540,4 +540,4 @@ async function factory(injector) {
|
|
|
540
540
|
}
|
|
541
541
|
|
|
542
542
|
export { factory };
|
|
543
|
-
//# sourceMappingURL=acorex-modules-organization-management-position.entity-
|
|
543
|
+
//# sourceMappingURL=acorex-modules-organization-management-position.entity-BVWbTeks.mjs.map
|