ng-pli-commons 0.0.1908 → 1.0.1
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/esm2022/lib/components/backoffice.commons.component.mjs +40 -0
- package/esm2022/lib/components/common.lists.component.mjs +194 -0
- package/{esm2020 → esm2022}/lib/components/configuration-token/configuration-token-subject.service.mjs +23 -23
- package/esm2022/lib/components/configuration-token/configuration-token.component.mjs +665 -0
- package/esm2022/lib/components/configuration-token/guarantee-token/guarantee-token.component.mjs +103 -0
- package/esm2022/lib/components/configuration-token/snapshot-token/snapshot-token.component.mjs +108 -0
- package/esm2022/lib/components/configuration.commons.component.mjs +40 -0
- package/{esm2020 → esm2022}/lib/components/dashboard.commons.component.mjs +84 -84
- package/esm2022/lib/components/dynamic-filter/dynamic-filter.component.mjs +131 -0
- package/esm2022/lib/components/excel-to-json/excel-to-json.component.mjs +54 -0
- package/esm2022/lib/components/frontoffice.commons.component.mjs +86 -0
- package/esm2022/lib/components/pdf-analyzer/pdf-analyzer.component.mjs +162 -0
- package/{esm2020 → esm2022}/lib/components/pdf-config/pdf-config.component.mjs +170 -170
- package/esm2022/lib/components/pdf-generator/pdf-generator.component.mjs +223 -0
- package/esm2022/lib/components/pdf-merge-visualizer/pdf-merge-visualizer.component.mjs +307 -0
- package/esm2022/lib/components/pdf-visualizer/pdf-visualizer.component.mjs +387 -0
- package/esm2022/lib/components/progress-bar/progress-bar.component.mjs +92 -0
- package/esm2022/lib/components/segmentation-tokens/segmentation-tokens.component.mjs +199 -0
- package/esm2022/lib/components/select-ppp/select-ppp.component.mjs +199 -0
- package/esm2022/lib/components/show-hide-columns/show-hide-columns-table.component.mjs +116 -0
- package/esm2022/lib/components/token/token.component.mjs +1006 -0
- package/esm2022/lib/components/tokens-calculator/tokens-calculator.component.mjs +128 -0
- package/{esm2020 → esm2022}/lib/directives/currency-colfuturo-formatter.directive.mjs +47 -47
- package/{esm2020 → esm2022}/lib/directives/currency-decimal-colfuturo-formatter.directive.mjs +34 -34
- package/esm2022/lib/ng-pli-commons.module.mjs +387 -0
- package/{esm2020 → esm2022}/lib/ng-pli-commons.service.mjs +14 -14
- package/esm2022/lib/pipes/currency-colfuturo.pipe.mjs +35 -0
- package/{esm2020 → esm2022}/lib/pipes/currency-decimal-colfuturo.pipe.mjs +36 -36
- package/{esm2020 → esm2022}/lib/pipes/currency-print-colfuturo.pipe.mjs +33 -33
- package/esm2022/lib/pipes/thousands.pipe.mjs +60 -0
- package/{esm2020 → esm2022}/lib/services/application-fill-percentage.service.mjs +30 -30
- package/{esm2020 → esm2022}/lib/services/application-tag.service.mjs +56 -56
- package/{esm2020 → esm2022}/lib/services/application.service.mjs +247 -247
- package/esm2022/lib/services/authentication.service.mjs +133 -0
- package/{esm2020 → esm2022}/lib/services/blocked-beneficiary.service.mjs +42 -42
- package/esm2022/lib/services/budget-application.service.mjs +265 -0
- package/{esm2020 → esm2022}/lib/services/budget-simulation.service.mjs +61 -61
- package/esm2022/lib/services/budget.service.mjs +205 -0
- package/{esm2020 → esm2022}/lib/services/closure-wallet.service.mjs +39 -39
- package/{esm2020 → esm2022}/lib/services/cnf-correspondence-document-manager.service.mjs +39 -39
- package/{esm2020 → esm2022}/lib/services/committee-money.service.mjs +44 -44
- package/{esm2020 → esm2022}/lib/services/committee-pdf.service.mjs +27 -27
- package/{esm2020 → esm2022}/lib/services/committee-snapshot.service.mjs +60 -60
- package/{esm2020 → esm2022}/lib/services/common-info.service.mjs +51 -51
- package/esm2022/lib/services/common.service.mjs +291 -0
- package/esm2022/lib/services/configuration-document.service.mjs +297 -0
- package/{esm2020 → esm2022}/lib/services/configuration-minisite.service.mjs +26 -26
- package/{esm2020 → esm2022}/lib/services/configuration.service.mjs +53 -53
- package/{esm2020 → esm2022}/lib/services/correspondence-document-category.service.mjs +31 -31
- package/{esm2020 → esm2022}/lib/services/correspondence-manager.service.mjs +67 -67
- package/{esm2020 → esm2022}/lib/services/credit-score.service.mjs +48 -48
- package/{esm2020 → esm2022}/lib/services/credit-study.service.mjs +292 -292
- package/{esm2020 → esm2022}/lib/services/cube.service.mjs +27 -27
- package/{esm2020 → esm2022}/lib/services/data-form-history.service.mjs +25 -25
- package/{esm2020 → esm2022}/lib/services/data-form.service.mjs +176 -176
- package/{esm2020 → esm2022}/lib/services/data-letter-segmentation.service.mjs +64 -64
- package/{esm2020 → esm2022}/lib/services/document-analysis-auto.service.mjs +27 -27
- package/{esm2020 → esm2022}/lib/services/document-history.service.mjs +43 -43
- package/{esm2020 → esm2022}/lib/services/document-management.service.mjs +57 -57
- package/{esm2020 → esm2022}/lib/services/document-validation-attempt.service.mjs +32 -32
- package/{esm2020 → esm2022}/lib/services/document.service.mjs +131 -131
- package/esm2022/lib/services/documentary.type.service.mjs +69 -0
- package/{esm2020 → esm2022}/lib/services/email.service.mjs +30 -30
- package/{esm2020 → esm2022}/lib/services/evaluation.service.mjs +181 -181
- package/{esm2020 → esm2022}/lib/services/export-excel.service.mjs +32 -32
- package/esm2022/lib/services/file.service.mjs +153 -0
- package/{esm2020 → esm2022}/lib/services/form.service.mjs +112 -112
- package/{esm2020 → esm2022}/lib/services/gic-client-disbursement-metadata.service.mjs +31 -31
- package/{esm2020 → esm2022}/lib/services/gic-client.service.mjs +49 -49
- package/{esm2020 → esm2022}/lib/services/gic-cnf-bankvision-transaction.service.mjs +31 -31
- package/{esm2020 → esm2022}/lib/services/gic-cnf-closing-date.service.mjs +34 -34
- package/{esm2020 → esm2022}/lib/services/gic-cnf-maintenance.service.mjs +30 -30
- package/{esm2020 → esm2022}/lib/services/gic-collection.service.mjs +53 -53
- package/{esm2020 → esm2022}/lib/services/gic-disbursement.service.mjs +39 -39
- package/{esm2020 → esm2022}/lib/services/gic-extract.service.mjs +41 -41
- package/{esm2020 → esm2022}/lib/services/gic-log.service.mjs +41 -41
- package/{esm2020 → esm2022}/lib/services/gic-payment-application.service.mjs +35 -35
- package/{esm2020 → esm2022}/lib/services/gic-payment-plan-cube.service.mjs +27 -27
- package/{esm2020 → esm2022}/lib/services/gic-payment-plan.service.mjs +32 -32
- package/{esm2020 → esm2022}/lib/services/gic-trm.service.mjs +27 -27
- package/{esm2020 → esm2022}/lib/services/global.show.task.service.mjs +37 -37
- package/{esm2020 → esm2022}/lib/services/guarantee-document.service.mjs +52 -52
- package/{esm2020 → esm2022}/lib/services/guarantee-enrollment.service.mjs +37 -37
- package/esm2022/lib/services/guarantee.service.mjs +128 -0
- package/{esm2020 → esm2022}/lib/services/hash.service.mjs +36 -36
- package/{esm2020 → esm2022}/lib/services/import-data.service.mjs +27 -27
- package/{esm2020 → esm2022}/lib/services/import-excel-gic.service.mjs +45 -45
- package/{esm2020 → esm2022}/lib/services/initial-configuration-gic-parameters.service.mjs +51 -51
- package/{esm2020 → esm2022}/lib/services/initial-record.service.mjs +51 -51
- package/{esm2020 → esm2022}/lib/services/integration-ado.service.mjs +54 -54
- package/{esm2020 → esm2022}/lib/services/interaction-application-user.service.mjs +81 -81
- package/{esm2020 → esm2022}/lib/services/interest-adjustment.service.mjs +34 -34
- package/esm2022/lib/services/keys-assignation.service.mjs +127 -0
- package/{esm2020 → esm2022}/lib/services/legalization.service.mjs +150 -150
- package/{esm2020 → esm2022}/lib/services/letter-campaing.service.mjs +49 -49
- package/{esm2020 → esm2022}/lib/services/letter-task-mapping.service.mjs +40 -40
- package/{esm2020 → esm2022}/lib/services/log.service.mjs +41 -41
- package/{esm2020 → esm2022}/lib/services/maintenance.service.mjs +66 -66
- package/{esm2020 → esm2022}/lib/services/master-category.service.mjs +66 -66
- package/{esm2020 → esm2022}/lib/services/master-program.service.mjs +78 -78
- package/{esm2020 → esm2022}/lib/services/master-university.service.mjs +68 -68
- package/{esm2020 → esm2022}/lib/services/migration-plis.service.mjs +27 -27
- package/{esm2020 → esm2022}/lib/services/migration-survey-queue.service.mjs +24 -24
- package/{esm2020 → esm2022}/lib/services/page.service.mjs +38 -38
- package/{esm2020 → esm2022}/lib/services/partner-system.service.mjs +30 -30
- package/{esm2020 → esm2022}/lib/services/partner.service.mjs +34 -34
- package/{esm2020 → esm2022}/lib/services/pdf-analyzer.service.mjs +33 -33
- package/{esm2020 → esm2022}/lib/services/people-master.service.mjs +42 -42
- package/{esm2020 → esm2022}/lib/services/permission.service.mjs +29 -29
- package/{esm2020 → esm2022}/lib/services/pli-cnf-acuity-fields.service.mjs +34 -34
- package/{esm2020 → esm2022}/lib/services/pli-cnf-app-card-filter.service.mjs +40 -40
- package/{esm2020 → esm2022}/lib/services/pli-cnf-appointment-type.service.mjs +41 -41
- package/{esm2020 → esm2022}/lib/services/pli-cnf-budget-program-type.service.mjs +54 -54
- package/{esm2020 → esm2022}/lib/services/pli-cnf-budget.service.mjs +31 -31
- package/{esm2020 → esm2022}/lib/services/pli-cnf-cloning.service.mjs +27 -27
- package/{esm2020 → esm2022}/lib/services/pli-cnf-committee-pdf-config-table-config.service.mjs +47 -47
- package/{esm2020 → esm2022}/lib/services/pli-cnf-committee-pdf-gen-status.service.mjs +30 -30
- package/{esm2020 → esm2022}/lib/services/pli-cnf-committee-valpro-columns.service.mjs +42 -42
- package/{esm2020 → esm2022}/lib/services/pli-cnf-committee-visualization-mode.service.mjs +42 -42
- package/{esm2020 → esm2022}/lib/services/pli-cnf-committee.service.mjs +51 -51
- package/{esm2020 → esm2022}/lib/services/pli-cnf-config-minisite.service.mjs +90 -90
- package/{esm2020 → esm2022}/lib/services/pli-cnf-configuration-credit-study.service.mjs +41 -41
- package/{esm2020 → esm2022}/lib/services/pli-cnf-document-management.service.mjs +40 -40
- package/{esm2020 → esm2022}/lib/services/pli-cnf-dynamic-keys-assign.service.mjs +52 -52
- package/{esm2020 → esm2022}/lib/services/pli-cnf-evaluation-task-mailing.service.mjs +31 -31
- package/esm2022/lib/services/pli-cnf-evaluation-task.service.mjs +112 -0
- package/{esm2020 → esm2022}/lib/services/pli-cnf-evaluation-template.service.mjs +95 -95
- package/{esm2020 → esm2022}/lib/services/pli-cnf-form-edit.service.mjs +68 -68
- package/{esm2020 → esm2022}/lib/services/pli-cnf-form-multiaplicacion.service.mjs +46 -46
- package/{esm2020 → esm2022}/lib/services/pli-cnf-guarantee-documents-template.service.mjs +40 -40
- package/{esm2020 → esm2022}/lib/services/pli-cnf-guarantee-token.service.mjs +42 -42
- package/{esm2020 → esm2022}/lib/services/pli-cnf-header.service.mjs +39 -39
- package/{esm2020 → esm2022}/lib/services/pli-cnf-indicator.service.mjs +39 -39
- package/{esm2020 → esm2022}/lib/services/pli-cnf-information-system.service.mjs +24 -24
- package/{esm2020 → esm2022}/lib/services/pli-cnf-interaction.service.mjs +78 -78
- package/{esm2020 → esm2022}/lib/services/pli-cnf-letter-template-type.service.mjs +29 -29
- package/{esm2020 → esm2022}/lib/services/pli-cnf-letter-template.service.mjs +48 -48
- package/{esm2020 → esm2022}/lib/services/pli-cnf-look-and-feel.service.mjs +28 -28
- package/{esm2020 → esm2022}/lib/services/pli-cnf-mail.service.mjs +30 -30
- package/{esm2020 → esm2022}/lib/services/pli-cnf-menu-form.service.mjs +34 -34
- package/{esm2020 → esm2022}/lib/services/pli-cnf-migration-plis-field-budget.service.mjs +33 -33
- package/{esm2020 → esm2022}/lib/services/pli-cnf-migration-plis-field.service.mjs +47 -47
- package/{esm2020 → esm2022}/lib/services/pli-cnf-migration-status-plis.service.mjs +44 -44
- package/{esm2020 → esm2022}/lib/services/pli-cnf-page-section-form.service.mjs +66 -66
- package/{esm2020 → esm2022}/lib/services/pli-cnf-page-sub-process.service.mjs +25 -25
- package/{esm2020 → esm2022}/lib/services/pli-cnf-pdfs.service.mjs +31 -31
- package/{esm2020 → esm2022}/lib/services/pli-cnf-profile-form.service.mjs +40 -40
- package/{esm2020 → esm2022}/lib/services/pli-cnf-profile-user.service.mjs +49 -49
- package/{esm2020 → esm2022}/lib/services/pli-cnf-project-summary.service.mjs +39 -39
- package/{esm2020 → esm2022}/lib/services/pli-cnf-scenario.service.mjs +47 -47
- package/{esm2020 → esm2022}/lib/services/pli-cnf-segmentation.service.mjs +72 -72
- package/{esm2020 → esm2022}/lib/services/pli-cnf-snapshot-token.service.mjs +42 -42
- package/{esm2020 → esm2022}/lib/services/pli-cnf-status-flow-interaction.service.mjs +74 -74
- package/{esm2020 → esm2022}/lib/services/pli-cnf-status-flow.service.mjs +56 -56
- package/{esm2020 → esm2022}/lib/services/pli-cnf-support-document-category.service.mjs +47 -47
- package/{esm2020 → esm2022}/lib/services/pli-cnf-support-document.service.mjs +56 -56
- package/{esm2020 → esm2022}/lib/services/pli-cnf-survey-document.service.mjs +37 -37
- package/{esm2020 → esm2022}/lib/services/pli-cnf-survey-pdf.service.mjs +34 -34
- package/{esm2020 → esm2022}/lib/services/pli-cnf-survey.service.mjs +46 -46
- package/{esm2020 → esm2022}/lib/services/pli-cnf-task-group.service.mjs +33 -33
- package/{esm2020 → esm2022}/lib/services/pli-cnf-text-category.service.mjs +38 -38
- package/{esm2020 → esm2022}/lib/services/pli-cnf-text-option.service.mjs +39 -39
- package/{esm2020 → esm2022}/lib/services/pli-cnf-text.service.mjs +62 -62
- package/{esm2020 → esm2022}/lib/services/pli-cnf-type-text.service.mjs +45 -45
- package/{esm2020 → esm2022}/lib/services/pli-cnf-university-article.service.mjs +39 -39
- package/{esm2020 → esm2022}/lib/services/pli-cnf-user-calendar.service.mjs +36 -36
- package/{esm2020 → esm2022}/lib/services/pli-cnf-user-workspace.service.mjs +35 -35
- package/{esm2020 → esm2022}/lib/services/pli-cnf-valpro-keys.service.mjs +35 -35
- package/{esm2020 → esm2022}/lib/services/pli-cnf-workspace-segmentation.service.mjs +31 -31
- package/{esm2020 → esm2022}/lib/services/pli-message-type.service.mjs +40 -40
- package/{esm2020 → esm2022}/lib/services/pli-multiple-value-filter.service.mjs +39 -39
- package/{esm2020 → esm2022}/lib/services/pli-promocion-username.service.mjs +57 -57
- package/{esm2020 → esm2022}/lib/services/pli-seg-action-user.service.mjs +37 -37
- package/{esm2020 → esm2022}/lib/services/pli-segmentation.service.mjs +130 -130
- package/{esm2020 → esm2022}/lib/services/pli-tag-assignment.service.mjs +36 -36
- package/{esm2020 → esm2022}/lib/services/pli-tag.service.mjs +55 -55
- package/{esm2020 → esm2022}/lib/services/pli-user.service.mjs +51 -51
- package/{esm2020 → esm2022}/lib/services/plis-beneficiario.service.mjs +29 -29
- package/{esm2020 → esm2022}/lib/services/plis-estatus-change.service.mjs +30 -30
- package/esm2022/lib/services/ppp.service.mjs +360 -0
- package/{esm2020 → esm2022}/lib/services/profile.service.mjs +60 -60
- package/esm2022/lib/services/progress-bar.service.mjs +40 -0
- package/{esm2020 → esm2022}/lib/services/promotion-score.service.mjs +44 -44
- package/{esm2020 → esm2022}/lib/services/registry-identifier.service.mjs +39 -39
- package/{esm2020 → esm2022}/lib/services/return-refund.service.mjs +53 -53
- package/esm2022/lib/services/segmentation-tokens.service.mjs +43 -0
- package/{esm2020 → esm2022}/lib/services/segmentation-user-service.service.mjs +90 -90
- package/{esm2020 → esm2022}/lib/services/segmentation.service.mjs +31 -31
- package/esm2022/lib/services/send-application.service.mjs +492 -0
- package/{esm2020 → esm2022}/lib/services/sesion-form.service.mjs +31 -31
- package/{esm2020 → esm2022}/lib/services/sesion.service.mjs +48 -48
- package/{esm2020 → esm2022}/lib/services/spinner.service.mjs +16 -16
- package/{esm2020 → esm2022}/lib/services/sponsorship-letter.service.mjs +68 -68
- package/{esm2020 → esm2022}/lib/services/status.service.mjs +100 -100
- package/{esm2020 → esm2022}/lib/services/summary-budget.service.mjs +24 -24
- package/{esm2020 → esm2022}/lib/services/survey-metadata.service.mjs +28 -28
- package/{esm2020 → esm2022}/lib/services/survey-queue.service.mjs +24 -24
- package/{esm2020 → esm2022}/lib/services/survey.service.mjs +52 -52
- package/{esm2020 → esm2022}/lib/services/tasa.cambio.service.mjs +35 -35
- package/{esm2020 → esm2022}/lib/services/token-transformation.service.mjs +62 -62
- package/esm2022/lib/services/token.service.mjs +1345 -0
- package/{esm2020 → esm2022}/lib/services/university.service.mjs +50 -50
- package/esm2022/lib/services/upload-documents.service.mjs +60 -0
- package/{esm2020 → esm2022}/lib/services/user.service.mjs +28 -28
- package/{esm2020 → esm2022}/lib/services/visualization-committee.service.mjs +84 -84
- package/esm2022/lib/utils/custom-validator.mjs +95 -0
- package/esm2022/lib/utils/form-util.mjs +35 -0
- package/esm2022/lib/utils/formio-util.mjs +582 -0
- package/{esm2020 → esm2022}/lib/utils/version-commons.mjs +9 -9
- package/{esm2020 → esm2022}/ng-pli-commons.mjs +4 -4
- package/{esm2020 → esm2022}/public-api.mjs +214 -214
- package/{esm2020 → esm2022}/version.mjs +29 -29
- package/{fesm2020 → fesm2022}/ng-pli-commons.mjs +16724 -16725
- package/fesm2022/ng-pli-commons.mjs.map +1 -0
- package/{ng-pli-commons.d.ts → index.d.ts} +5 -5
- package/lib/components/backoffice.commons.component.d.ts +15 -15
- package/lib/components/common.lists.component.d.ts +61 -61
- package/lib/components/configuration-token/configuration-token-subject.service.d.ts +10 -10
- package/lib/components/configuration-token/configuration-token.component.d.ts +124 -124
- package/lib/components/configuration-token/guarantee-token/guarantee-token.component.d.ts +33 -33
- package/lib/components/configuration-token/snapshot-token/snapshot-token.component.d.ts +37 -37
- package/lib/components/configuration.commons.component.d.ts +15 -15
- package/lib/components/dashboard.commons.component.d.ts +39 -39
- package/lib/components/dynamic-filter/dynamic-filter.component.d.ts +50 -50
- package/lib/components/excel-to-json/excel-to-json.component.d.ts +12 -12
- package/lib/components/frontoffice.commons.component.d.ts +26 -26
- package/lib/components/pdf-analyzer/pdf-analyzer.component.d.ts +36 -36
- package/lib/components/pdf-config/pdf-config.component.d.ts +78 -78
- package/lib/components/pdf-generator/pdf-generator.component.d.ts +69 -69
- package/lib/components/pdf-merge-visualizer/pdf-merge-visualizer.component.d.ts +114 -114
- package/lib/components/pdf-visualizer/pdf-visualizer.component.d.ts +147 -147
- package/lib/components/progress-bar/progress-bar.component.d.ts +30 -30
- package/lib/components/segmentation-tokens/segmentation-tokens.component.d.ts +48 -48
- package/lib/components/select-ppp/select-ppp.component.d.ts +42 -42
- package/lib/components/show-hide-columns/show-hide-columns-table.component.d.ts +39 -39
- package/lib/components/token/token.component.d.ts +99 -99
- package/lib/components/tokens-calculator/tokens-calculator.component.d.ts +37 -37
- package/lib/directives/currency-colfuturo-formatter.directive.d.ts +14 -14
- package/lib/directives/currency-decimal-colfuturo-formatter.directive.d.ts +13 -13
- package/lib/ng-pli-commons.module.d.ts +47 -47
- package/lib/ng-pli-commons.service.d.ts +6 -6
- package/lib/pipes/currency-colfuturo.pipe.d.ts +12 -12
- package/lib/pipes/currency-decimal-colfuturo.pipe.d.ts +11 -11
- package/lib/pipes/currency-print-colfuturo.pipe.d.ts +11 -11
- package/lib/pipes/thousands.pipe.d.ts +9 -9
- package/lib/services/application-fill-percentage.service.d.ts +15 -15
- package/lib/services/application-tag.service.d.ts +23 -23
- package/lib/services/application.service.d.ts +107 -107
- package/lib/services/authentication.service.d.ts +45 -45
- package/lib/services/blocked-beneficiary.service.d.ts +17 -17
- package/lib/services/budget-application.service.d.ts +52 -52
- package/lib/services/budget-simulation.service.d.ts +32 -32
- package/lib/services/budget.service.d.ts +65 -65
- package/lib/services/closure-wallet.service.d.ts +16 -16
- package/lib/services/cnf-correspondence-document-manager.service.d.ts +14 -14
- package/lib/services/committee-money.service.d.ts +12 -12
- package/lib/services/committee-pdf.service.d.ts +13 -13
- package/lib/services/committee-snapshot.service.d.ts +24 -24
- package/lib/services/common-info.service.d.ts +30 -30
- package/lib/services/common.service.d.ts +103 -103
- package/lib/services/configuration-document.service.d.ts +84 -84
- package/lib/services/configuration-minisite.service.d.ts +13 -13
- package/lib/services/configuration.service.d.ts +15 -15
- package/lib/services/correspondence-document-category.service.d.ts +12 -12
- package/lib/services/correspondence-manager.service.d.ts +21 -21
- package/lib/services/credit-score.service.d.ts +14 -14
- package/lib/services/credit-study.service.d.ts +52 -52
- package/lib/services/cube.service.d.ts +14 -14
- package/lib/services/data-form-history.service.d.ts +13 -13
- package/lib/services/data-form.service.d.ts +82 -82
- package/lib/services/data-letter-segmentation.service.d.ts +20 -20
- package/lib/services/document-analysis-auto.service.d.ts +14 -14
- package/lib/services/document-history.service.d.ts +18 -18
- package/lib/services/document-management.service.d.ts +22 -22
- package/lib/services/document-validation-attempt.service.d.ts +13 -13
- package/lib/services/document.service.d.ts +51 -51
- package/lib/services/documentary.type.service.d.ts +23 -23
- package/lib/services/email.service.d.ts +15 -15
- package/lib/services/evaluation.service.d.ts +58 -58
- package/lib/services/export-excel.service.d.ts +8 -8
- package/lib/services/file.service.d.ts +63 -63
- package/lib/services/form.service.d.ts +39 -39
- package/lib/services/gic-client-disbursement-metadata.service.d.ts +12 -12
- package/lib/services/gic-client.service.d.ts +20 -20
- package/lib/services/gic-cnf-bankvision-transaction.service.d.ts +13 -13
- package/lib/services/gic-cnf-closing-date.service.d.ts +15 -15
- package/lib/services/gic-cnf-maintenance.service.d.ts +13 -13
- package/lib/services/gic-collection.service.d.ts +19 -19
- package/lib/services/gic-disbursement.service.d.ts +16 -16
- package/lib/services/gic-extract.service.d.ts +15 -15
- package/lib/services/gic-log.service.d.ts +17 -17
- package/lib/services/gic-payment-application.service.d.ts +15 -15
- package/lib/services/gic-payment-plan-cube.service.d.ts +13 -13
- package/lib/services/gic-payment-plan.service.d.ts +19 -19
- package/lib/services/gic-trm.service.d.ts +14 -14
- package/lib/services/global.show.task.service.d.ts +20 -20
- package/lib/services/guarantee-document.service.d.ts +17 -17
- package/lib/services/guarantee-enrollment.service.d.ts +14 -14
- package/lib/services/guarantee.service.d.ts +34 -34
- package/lib/services/hash.service.d.ts +18 -18
- package/lib/services/import-data.service.d.ts +14 -14
- package/lib/services/import-excel-gic.service.d.ts +22 -22
- package/lib/services/initial-configuration-gic-parameters.service.d.ts +19 -19
- package/lib/services/initial-record.service.d.ts +24 -24
- package/lib/services/integration-ado.service.d.ts +15 -15
- package/lib/services/interaction-application-user.service.d.ts +28 -28
- package/lib/services/interest-adjustment.service.d.ts +16 -16
- package/lib/services/keys-assignation.service.d.ts +33 -33
- package/lib/services/legalization.service.d.ts +46 -46
- package/lib/services/letter-campaing.service.d.ts +24 -24
- package/lib/services/letter-task-mapping.service.d.ts +22 -22
- package/lib/services/log.service.d.ts +17 -17
- package/lib/services/maintenance.service.d.ts +23 -23
- package/lib/services/master-category.service.d.ts +40 -40
- package/lib/services/master-program.service.d.ts +45 -45
- package/lib/services/master-university.service.d.ts +40 -40
- package/lib/services/migration-plis.service.d.ts +14 -14
- package/lib/services/migration-survey-queue.service.d.ts +12 -12
- package/lib/services/page.service.d.ts +18 -18
- package/lib/services/partner-system.service.d.ts +13 -13
- package/lib/services/partner.service.d.ts +17 -17
- package/lib/services/pdf-analyzer.service.d.ts +11 -11
- package/lib/services/people-master.service.d.ts +14 -14
- package/lib/services/permission.service.d.ts +14 -14
- package/lib/services/pli-cnf-acuity-fields.service.d.ts +14 -14
- package/lib/services/pli-cnf-app-card-filter.service.d.ts +20 -20
- package/lib/services/pli-cnf-appointment-type.service.d.ts +16 -16
- package/lib/services/pli-cnf-budget-program-type.service.d.ts +18 -18
- package/lib/services/pli-cnf-budget.service.d.ts +13 -13
- package/lib/services/pli-cnf-cloning.service.d.ts +12 -12
- package/lib/services/pli-cnf-committee-pdf-config-table-config.service.d.ts +19 -19
- package/lib/services/pli-cnf-committee-pdf-gen-status.service.d.ts +13 -13
- package/lib/services/pli-cnf-committee-valpro-columns.service.d.ts +15 -15
- package/lib/services/pli-cnf-committee-visualization-mode.service.d.ts +17 -17
- package/lib/services/pli-cnf-committee.service.d.ts +21 -21
- package/lib/services/pli-cnf-config-minisite.service.d.ts +26 -26
- package/lib/services/pli-cnf-configuration-credit-study.service.d.ts +16 -16
- package/lib/services/pli-cnf-document-management.service.d.ts +15 -15
- package/lib/services/pli-cnf-dynamic-keys-assign.service.d.ts +21 -21
- package/lib/services/pli-cnf-evaluation-task-mailing.service.d.ts +13 -13
- package/lib/services/pli-cnf-evaluation-task.service.d.ts +35 -35
- package/lib/services/pli-cnf-evaluation-template.service.d.ts +44 -44
- package/lib/services/pli-cnf-form-edit.service.d.ts +29 -29
- package/lib/services/pli-cnf-form-multiaplicacion.service.d.ts +21 -21
- package/lib/services/pli-cnf-guarantee-documents-template.service.d.ts +17 -17
- package/lib/services/pli-cnf-guarantee-token.service.d.ts +16 -16
- package/lib/services/pli-cnf-header.service.d.ts +18 -18
- package/lib/services/pli-cnf-indicator.service.d.ts +20 -20
- package/lib/services/pli-cnf-information-system.service.d.ts +12 -12
- package/lib/services/pli-cnf-interaction.service.d.ts +31 -31
- package/lib/services/pli-cnf-letter-template-type.service.d.ts +15 -15
- package/lib/services/pli-cnf-letter-template.service.d.ts +22 -22
- package/lib/services/pli-cnf-look-and-feel.service.d.ts +13 -13
- package/lib/services/pli-cnf-mail.service.d.ts +13 -13
- package/lib/services/pli-cnf-menu-form.service.d.ts +16 -16
- package/lib/services/pli-cnf-migration-plis-field-budget.service.d.ts +14 -14
- package/lib/services/pli-cnf-migration-plis-field.service.d.ts +17 -17
- package/lib/services/pli-cnf-migration-status-plis.service.d.ts +17 -17
- package/lib/services/pli-cnf-page-section-form.service.d.ts +24 -24
- package/lib/services/pli-cnf-page-sub-process.service.d.ts +12 -12
- package/lib/services/pli-cnf-pdfs.service.d.ts +14 -14
- package/lib/services/pli-cnf-profile-form.service.d.ts +20 -20
- package/lib/services/pli-cnf-profile-user.service.d.ts +24 -24
- package/lib/services/pli-cnf-project-summary.service.d.ts +16 -16
- package/lib/services/pli-cnf-scenario.service.d.ts +23 -23
- package/lib/services/pli-cnf-segmentation.service.d.ts +32 -32
- package/lib/services/pli-cnf-snapshot-token.service.d.ts +16 -16
- package/lib/services/pli-cnf-status-flow-interaction.service.d.ts +28 -28
- package/lib/services/pli-cnf-status-flow.service.d.ts +26 -26
- package/lib/services/pli-cnf-support-document-category.service.d.ts +17 -17
- package/lib/services/pli-cnf-support-document.service.d.ts +23 -23
- package/lib/services/pli-cnf-survey-document.service.d.ts +16 -16
- package/lib/services/pli-cnf-survey-pdf.service.d.ts +15 -15
- package/lib/services/pli-cnf-survey.service.d.ts +19 -19
- package/lib/services/pli-cnf-task-group.service.d.ts +15 -15
- package/lib/services/pli-cnf-text-category.service.d.ts +15 -15
- package/lib/services/pli-cnf-text-option.service.d.ts +15 -15
- package/lib/services/pli-cnf-text.service.d.ts +21 -21
- package/lib/services/pli-cnf-type-text.service.d.ts +16 -16
- package/lib/services/pli-cnf-university-article.service.d.ts +20 -20
- package/lib/services/pli-cnf-user-calendar.service.d.ts +16 -16
- package/lib/services/pli-cnf-user-workspace.service.d.ts +18 -18
- package/lib/services/pli-cnf-valpro-keys.service.d.ts +18 -18
- package/lib/services/pli-cnf-workspace-segmentation.service.d.ts +16 -16
- package/lib/services/pli-message-type.service.d.ts +15 -15
- package/lib/services/pli-multiple-value-filter.service.d.ts +17 -17
- package/lib/services/pli-promocion-username.service.d.ts +26 -26
- package/lib/services/pli-seg-action-user.service.d.ts +20 -20
- package/lib/services/pli-segmentation.service.d.ts +48 -48
- package/lib/services/pli-tag-assignment.service.d.ts +15 -15
- package/lib/services/pli-tag.service.d.ts +21 -21
- package/lib/services/pli-user.service.d.ts +24 -24
- package/lib/services/plis-beneficiario.service.d.ts +10 -10
- package/lib/services/plis-estatus-change.service.d.ts +13 -13
- package/lib/services/ppp.service.d.ts +77 -77
- package/lib/services/profile.service.d.ts +26 -26
- package/lib/services/progress-bar.service.d.ts +14 -14
- package/lib/services/promotion-score.service.d.ts +14 -14
- package/lib/services/registry-identifier.service.d.ts +16 -16
- package/lib/services/return-refund.service.d.ts +20 -20
- package/lib/services/segmentation-tokens.service.d.ts +22 -22
- package/lib/services/segmentation-user-service.service.d.ts +26 -26
- package/lib/services/segmentation.service.d.ts +16 -16
- package/lib/services/send-application.service.d.ts +71 -71
- package/lib/services/sesion-form.service.d.ts +16 -16
- package/lib/services/sesion.service.d.ts +27 -27
- package/lib/services/spinner.service.d.ts +6 -6
- package/lib/services/sponsorship-letter.service.d.ts +34 -34
- package/lib/services/status.service.d.ts +31 -31
- package/lib/services/summary-budget.service.d.ts +11 -11
- package/lib/services/survey-metadata.service.d.ts +13 -13
- package/lib/services/survey-queue.service.d.ts +12 -12
- package/lib/services/survey.service.d.ts +17 -17
- package/lib/services/tasa.cambio.service.d.ts +14 -14
- package/lib/services/token-transformation.service.d.ts +19 -19
- package/lib/services/token.service.d.ts +270 -270
- package/lib/services/university.service.d.ts +28 -28
- package/lib/services/upload-documents.service.d.ts +21 -21
- package/lib/services/user.service.d.ts +12 -12
- package/lib/services/visualization-committee.service.d.ts +32 -32
- package/lib/utils/custom-validator.d.ts +19 -19
- package/lib/utils/form-util.d.ts +11 -11
- package/lib/utils/formio-util.d.ts +105 -105
- package/lib/utils/version-commons.d.ts +4 -4
- package/package.json +10 -16
- package/public-api.d.ts +210 -210
- package/version.d.ts +25 -25
- package/esm2020/lib/components/backoffice.commons.component.mjs +0 -40
- package/esm2020/lib/components/common.lists.component.mjs +0 -194
- package/esm2020/lib/components/configuration-token/configuration-token.component.mjs +0 -665
- package/esm2020/lib/components/configuration-token/guarantee-token/guarantee-token.component.mjs +0 -103
- package/esm2020/lib/components/configuration-token/snapshot-token/snapshot-token.component.mjs +0 -108
- package/esm2020/lib/components/configuration.commons.component.mjs +0 -40
- package/esm2020/lib/components/dynamic-filter/dynamic-filter.component.mjs +0 -131
- package/esm2020/lib/components/excel-to-json/excel-to-json.component.mjs +0 -54
- package/esm2020/lib/components/frontoffice.commons.component.mjs +0 -86
- package/esm2020/lib/components/pdf-analyzer/pdf-analyzer.component.mjs +0 -162
- package/esm2020/lib/components/pdf-generator/pdf-generator.component.mjs +0 -223
- package/esm2020/lib/components/pdf-merge-visualizer/pdf-merge-visualizer.component.mjs +0 -307
- package/esm2020/lib/components/pdf-visualizer/pdf-visualizer.component.mjs +0 -387
- package/esm2020/lib/components/progress-bar/progress-bar.component.mjs +0 -92
- package/esm2020/lib/components/segmentation-tokens/segmentation-tokens.component.mjs +0 -199
- package/esm2020/lib/components/select-ppp/select-ppp.component.mjs +0 -199
- package/esm2020/lib/components/show-hide-columns/show-hide-columns-table.component.mjs +0 -116
- package/esm2020/lib/components/token/token.component.mjs +0 -1006
- package/esm2020/lib/components/tokens-calculator/tokens-calculator.component.mjs +0 -128
- package/esm2020/lib/ng-pli-commons.module.mjs +0 -390
- package/esm2020/lib/pipes/currency-colfuturo.pipe.mjs +0 -35
- package/esm2020/lib/pipes/thousands.pipe.mjs +0 -60
- package/esm2020/lib/services/authentication.service.mjs +0 -133
- package/esm2020/lib/services/budget-application.service.mjs +0 -265
- package/esm2020/lib/services/budget.service.mjs +0 -205
- package/esm2020/lib/services/common.service.mjs +0 -291
- package/esm2020/lib/services/configuration-document.service.mjs +0 -297
- package/esm2020/lib/services/documentary.type.service.mjs +0 -69
- package/esm2020/lib/services/file.service.mjs +0 -153
- package/esm2020/lib/services/guarantee.service.mjs +0 -128
- package/esm2020/lib/services/keys-assignation.service.mjs +0 -127
- package/esm2020/lib/services/pli-cnf-evaluation-task.service.mjs +0 -112
- package/esm2020/lib/services/ppp.service.mjs +0 -360
- package/esm2020/lib/services/progress-bar.service.mjs +0 -40
- package/esm2020/lib/services/segmentation-tokens.service.mjs +0 -43
- package/esm2020/lib/services/send-application.service.mjs +0 -492
- package/esm2020/lib/services/token.service.mjs +0 -1345
- package/esm2020/lib/services/upload-documents.service.mjs +0 -60
- package/esm2020/lib/utils/custom-validator.mjs +0 -95
- package/esm2020/lib/utils/form-util.mjs +0 -35
- package/esm2020/lib/utils/formio-util.mjs +0 -580
- package/fesm2015/ng-pli-commons.mjs +0 -17373
- package/fesm2015/ng-pli-commons.mjs.map +0 -1
- package/fesm2020/ng-pli-commons.mjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ng-pli-commons.mjs","sources":["../../../projects/ng-pli-commons/src/lib/ng-pli-commons.service.ts","../../../projects/ng-pli-commons/src/lib/utils/form-util.ts","../../../projects/ng-pli-commons/src/lib/services/tasa.cambio.service.ts","../../../projects/ng-pli-commons/src/lib/services/ppp.service.ts","../../../projects/ng-pli-commons/src/lib/services/hash.service.ts","../../../projects/ng-pli-commons/src/lib/services/authentication.service.ts","../../../projects/ng-pli-commons/src/lib/services/status.service.ts","../../../projects/ng-pli-commons/src/lib/services/configuration.service.ts","../../../projects/ng-pli-commons/src/lib/services/common.service.ts","../../../projects/ng-pli-commons/src/lib/components/common.lists.component.ts","../../../projects/ng-pli-commons/src/lib/utils/formio-util.ts","../../../projects/ng-pli-commons/src/lib/services/form.service.ts","../../../projects/ng-pli-commons/src/lib/services/token.service.ts","../../../projects/ng-pli-commons/src/lib/services/budget.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-snapshot-token.service.ts","../../../projects/ng-pli-commons/src/lib/services/configuration-document.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-evaluation-task.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-guarantee-token.service.ts","../../../projects/ng-pli-commons/src/lib/components/configuration-token/configuration-token-subject.service.ts","../../../projects/ng-pli-commons/src/lib/components/configuration-token/snapshot-token/snapshot-token.component.ts","../../../projects/ng-pli-commons/src/lib/components/configuration-token/snapshot-token/snapshot-token.component.html","../../../projects/ng-pli-commons/src/lib/components/configuration-token/guarantee-token/guarantee-token.component.ts","../../../projects/ng-pli-commons/src/lib/components/configuration-token/guarantee-token/guarantee-token.component.html","../../../projects/ng-pli-commons/src/lib/components/configuration-token/configuration-token.component.ts","../../../projects/ng-pli-commons/src/lib/components/configuration-token/configuration-token.component.html","../../../projects/ng-pli-commons/src/lib/components/dynamic-filter/dynamic-filter.component.ts","../../../projects/ng-pli-commons/src/lib/components/dynamic-filter/dynamic-filter.component.html","../../../projects/ng-pli-commons/src/lib/components/excel-to-json/excel-to-json.component.ts","../../../projects/ng-pli-commons/src/lib/components/excel-to-json/excel-to-json.component.html","../../../projects/ng-pli-commons/src/lib/components/configuration.commons.component.ts","../../../projects/ng-pli-commons/src/lib/components/pdf-config/pdf-config.component.ts","../../../projects/ng-pli-commons/src/lib/components/pdf-config/pdf-config.component.html","../../../projects/ng-pli-commons/src/lib/services/data-form.service.ts","../../../projects/ng-pli-commons/src/lib/services/application.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-look-and-feel.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-header.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-pdfs.service.ts","../../../projects/ng-pli-commons/src/lib/services/token-transformation.service.ts","../../../projects/ng-pli-commons/src/lib/components/pdf-generator/pdf-generator.component.ts","../../../projects/ng-pli-commons/src/lib/components/pdf-generator/pdf-generator.component.html","../../../projects/ng-pli-commons/src/lib/services/file.service.ts","../../../projects/ng-pli-commons/src/lib/components/pdf-visualizer/pdf-visualizer.component.ts","../../../projects/ng-pli-commons/src/lib/components/pdf-visualizer/pdf-visualizer.component.html","../../../projects/ng-pli-commons/src/lib/components/pdf-merge-visualizer/pdf-merge-visualizer.component.ts","../../../projects/ng-pli-commons/src/lib/components/pdf-merge-visualizer/pdf-merge-visualizer.component.html","../../../projects/ng-pli-commons/src/lib/components/select-ppp/select-ppp.component.ts","../../../projects/ng-pli-commons/src/lib/components/select-ppp/select-ppp.component.html","../../../projects/ng-pli-commons/src/lib/components/show-hide-columns/show-hide-columns-table.component.ts","../../../projects/ng-pli-commons/src/lib/components/show-hide-columns/show-hide-columns-table.component.html","../../../projects/ng-pli-commons/src/lib/components/token/token.component.ts","../../../projects/ng-pli-commons/src/lib/components/token/token.component.html","../../../projects/ng-pli-commons/src/lib/pipes/currency-colfuturo.pipe.ts","../../../projects/ng-pli-commons/src/lib/directives/currency-colfuturo-formatter.directive.ts","../../../projects/ng-pli-commons/src/lib/pipes/currency-decimal-colfuturo.pipe.ts","../../../projects/ng-pli-commons/src/lib/directives/currency-decimal-colfuturo-formatter.directive.ts","../../../projects/ng-pli-commons/src/lib/pipes/currency-print-colfuturo.pipe.ts","../../../projects/ng-pli-commons/src/lib/pipes/thousands.pipe.ts","../../../projects/ng-pli-commons/src/lib/services/application-tag.service.ts","../../../projects/ng-pli-commons/src/lib/services/spinner.service.ts","../../../projects/ng-pli-commons/src/lib/services/budget-application.service.ts","../../../projects/ng-pli-commons/src/lib/services/document-management.service.ts","../../../projects/ng-pli-commons/src/lib/services/document.service.ts","../../../projects/ng-pli-commons/src/lib/services/documentary.type.service.ts","../../../projects/ng-pli-commons/src/lib/services/email.service.ts","../../../projects/ng-pli-commons/src/lib/services/cube.service.ts","../../../projects/ng-pli-commons/src/lib/services/evaluation.service.ts","../../../projects/ng-pli-commons/src/lib/services/export-excel.service.ts","../../../projects/ng-pli-commons/src/lib/services/global.show.task.service.ts","../../../projects/ng-pli-commons/src/lib/services/import-data.service.ts","../../../projects/ng-pli-commons/src/lib/services/interaction-application-user.service.ts","../../../projects/ng-pli-commons/src/lib/services/keys-assignation.service.ts","../../../projects/ng-pli-commons/src/lib/services/letter-campaing.service.ts","../../../projects/ng-pli-commons/src/lib/services/log.service.ts","../../../projects/ng-pli-commons/src/lib/services/page.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-page-sub-process.service.ts","../../../projects/ng-pli-commons/src/lib/services/permission.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-app-card-filter.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-committee-visualization-mode.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-evaluation-template.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-indicator.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-interaction.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-profile-user.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-scenario.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-segmentation.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-status-flow-interaction.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-status-flow.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-support-document.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-text.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-user-workspace.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-valpro-keys.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-workspace-segmentation.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-multiple-value-filter.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-promocion-username.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-segmentation.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-tag.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-user.service.ts","../../../projects/ng-pli-commons/src/lib/services/profile.service.ts","../../../projects/ng-pli-commons/src/lib/services/segmentation-user-service.service.ts","../../../projects/ng-pli-commons/src/lib/services/segmentation.service.ts","../../../projects/ng-pli-commons/src/lib/services/send-application.service.ts","../../../projects/ng-pli-commons/src/lib/services/sesion-form.service.ts","../../../projects/ng-pli-commons/src/lib/services/sesion.service.ts","../../../projects/ng-pli-commons/src/lib/services/sponsorship-letter.service.ts","../../../projects/ng-pli-commons/src/lib/services/user.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-budget.service.ts","../../../projects/ng-pli-commons/src/lib/services/budget-simulation.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-acuity-fields.service.ts","../../../projects/ng-pli-commons/src/lib/services/guarantee.service.ts","../../../projects/ng-pli-commons/src/lib/services/credit-study.service.ts","../../../projects/ng-pli-commons/src/lib/services/guarantee-document.service.ts","../../../projects/ng-pli-commons/src/lib/services/common-info.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-menu-form.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-guarantee-documents-template.service.ts","../../../projects/ng-pli-commons/src/lib/services/integration-ado.service.ts","../../../projects/ng-pli-commons/src/lib/services/guarantee-enrollment.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-text-option.service.ts","../../../projects/ng-pli-commons/src/lib/services/configuration-minisite.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-tag-assignment.service.ts","../../../projects/ng-pli-commons/src/lib/services/university.service.ts","../../../projects/ng-pli-commons/src/lib/services/progress-bar.service.ts","../../../projects/ng-pli-commons/src/lib/components/progress-bar/progress-bar.component.ts","../../../projects/ng-pli-commons/src/lib/components/progress-bar/progress-bar.component.html","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-survey-pdf.service.ts","../../../projects/ng-pli-commons/src/lib/services/segmentation-tokens.service.ts","../../../projects/ng-pli-commons/src/lib/components/tokens-calculator/tokens-calculator.component.ts","../../../projects/ng-pli-commons/src/lib/components/tokens-calculator/tokens-calculator.component.html","../../../projects/ng-pli-commons/src/lib/components/segmentation-tokens/segmentation-tokens.component.ts","../../../projects/ng-pli-commons/src/lib/components/segmentation-tokens/segmentation-tokens.component.html","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-project-summary.service.ts","../../../projects/ng-pli-commons/src/lib/services/partner.service.ts","../../../projects/ng-pli-commons/src/lib/services/partner-system.service.ts","../../../projects/ng-pli-commons/src/lib/services/pdf-analyzer.service.ts","../../../projects/ng-pli-commons/src/lib/components/pdf-analyzer/pdf-analyzer.component.ts","../../../projects/ng-pli-commons/src/lib/components/pdf-analyzer/pdf-analyzer.component.html","../../../projects/ng-pli-commons/src/lib/services/pli-message-type.service.ts","../../../projects/ng-pli-commons/src/lib/ng-pli-commons.module.ts","../../../projects/ng-pli-commons/src/lib/components/backoffice.commons.component.ts","../../../projects/ng-pli-commons/src/lib/components/dashboard.commons.component.ts","../../../projects/ng-pli-commons/src/lib/components/frontoffice.commons.component.ts","../../../projects/ng-pli-commons/src/lib/services/upload-documents.service.ts","../../../projects/ng-pli-commons/src/lib/services/application-fill-percentage.service.ts","../../../projects/ng-pli-commons/src/lib/services/blocked-beneficiary.service.ts","../../../projects/ng-pli-commons/src/lib/services/closure-wallet.service.ts","../../../projects/ng-pli-commons/src/lib/services/committee-pdf.service.ts","../../../projects/ng-pli-commons/src/lib/services/committee-money.service.ts","../../../projects/ng-pli-commons/src/lib/services/committee-snapshot.service.ts","../../../projects/ng-pli-commons/src/lib/services/credit-score.service.ts","../../../projects/ng-pli-commons/src/lib/services/data-form-history.service.ts","../../../projects/ng-pli-commons/src/lib/services/data-letter-segmentation.service.ts","../../../projects/ng-pli-commons/src/lib/services/document-analysis-auto.service.ts","../../../projects/ng-pli-commons/src/lib/services/document-validation-attempt.service.ts","../../../projects/ng-pli-commons/src/lib/services/gic-client-disbursement-metadata.service.ts","../../../projects/ng-pli-commons/src/lib/services/gic-cnf-bankvision-transaction.service.ts","../../../projects/ng-pli-commons/src/lib/services/gic-cnf-closing-date.service.ts","../../../projects/ng-pli-commons/src/lib/services/gic-client.service.ts","../../../projects/ng-pli-commons/src/lib/services/gic-disbursement.service.ts","../../../projects/ng-pli-commons/src/lib/services/gic-collection.service.ts","../../../projects/ng-pli-commons/src/lib/services/gic-extract.service.ts","../../../projects/ng-pli-commons/src/lib/services/gic-log.service.ts","../../../projects/ng-pli-commons/src/lib/services/gic-trm.service.ts","../../../projects/ng-pli-commons/src/lib/services/gic-payment-application.service.ts","../../../projects/ng-pli-commons/src/lib/services/initial-configuration-gic-parameters.service.ts","../../../projects/ng-pli-commons/src/lib/services/initial-record.service.ts","../../../projects/ng-pli-commons/src/lib/services/letter-task-mapping.service.ts","../../../projects/ng-pli-commons/src/lib/services/legalization.service.ts","../../../projects/ng-pli-commons/src/lib/services/migration-plis.service.ts","../../../projects/ng-pli-commons/src/lib/services/migration-survey-queue.service.ts","../../../projects/ng-pli-commons/src/lib/services/summary-budget.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-appointment-type.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-budget-program-type.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-config-minisite.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-committee-pdf-config-table-config.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-committee-pdf-gen-status.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-committee.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-committee-valpro-columns.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-dynamic-keys-assign.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-document-management.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-information-system.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-letter-template.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-letter-template-type.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-migration-status-plis.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-migration-plis-field.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-page-section-form.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-form-edit.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-form-multiaplicacion.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-profile-form.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-survey.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-survey-document.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-task-group.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-text-category.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-type-text.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-user-calendar.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-migration-plis-field-budget.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-seg-action-user.service.ts","../../../projects/ng-pli-commons/src/lib/services/plis-beneficiario.service.ts","../../../projects/ng-pli-commons/src/lib/services/promotion-score.service.ts","../../../projects/ng-pli-commons/src/lib/services/survey.service.ts","../../../projects/ng-pli-commons/src/lib/services/survey-metadata.service.ts","../../../projects/ng-pli-commons/src/lib/services/survey-queue.service.ts","../../../projects/ng-pli-commons/src/lib/services/registry-identifier.service.ts","../../../projects/ng-pli-commons/src/lib/services/visualization-committee.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-configuration-credit-study.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-university-article.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-cloning.service.ts","../../../projects/ng-pli-commons/src/lib/utils/custom-validator.ts","../../../projects/ng-pli-commons/src/version.ts","../../../projects/ng-pli-commons/src/lib/utils/version-commons.ts","../../../projects/ng-pli-commons/src/lib/services/document-history.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-support-document-category.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-evaluation-task-mailing.service.ts","../../../projects/ng-pli-commons/src/lib/services/return-refund.service.ts","../../../projects/ng-pli-commons/src/lib/services/interest-adjustment.service.ts","../../../projects/ng-pli-commons/src/lib/services/import-excel-gic.service.ts","../../../projects/ng-pli-commons/src/lib/services/gic-cnf-maintenance.service.ts","../../../projects/ng-pli-commons/src/lib/services/gic-payment-plan-cube.service.ts","../../../projects/ng-pli-commons/src/lib/services/maintenance.service.ts","../../../projects/ng-pli-commons/src/lib/services/gic-payment-plan.service.ts","../../../projects/ng-pli-commons/src/lib/services/plis-estatus-change.service.ts","../../../projects/ng-pli-commons/src/lib/services/pli-cnf-mail.service.ts","../../../projects/ng-pli-commons/src/lib/services/master-university.service.ts","../../../projects/ng-pli-commons/src/lib/services/master-program.service.ts","../../../projects/ng-pli-commons/src/lib/services/master-category.service.ts","../../../projects/ng-pli-commons/src/lib/services/people-master.service.ts","../../../projects/ng-pli-commons/src/lib/services/correspondence-manager.service.ts","../../../projects/ng-pli-commons/src/lib/services/correspondence-document-category.service.ts","../../../projects/ng-pli-commons/src/lib/services/cnf-correspondence-document-manager.service.ts","../../../projects/ng-pli-commons/src/public-api.ts","../../../projects/ng-pli-commons/src/ng-pli-commons.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NgPliCommonsService {\r\n\r\n constructor() { }\r\n}\r\n","import { FormGroup, FormControl } from '@angular/forms';\r\n\r\nexport class FormUtil {\r\n\t/** It triggers the validation of every form-control from a formGroup */\r\n\tstatic validateFormFields(formGroup: FormGroup) {\r\n\t\tObject.keys(formGroup.controls).forEach((field) => {\r\n\t\t\tvar control = formGroup.get(field);\r\n\t\t\tif (control instanceof FormControl) {\r\n\t\t\t\tcontrol.markAsTouched({ onlySelf: true });\r\n\t\t\t} else if (control instanceof FormGroup) {\r\n\t\t\t\tFormUtil.validateFormFields(control);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\t/** It returns a set of invalid controls */\r\n\tstatic getInvalidControls(formGroup: FormGroup) {\r\n\t\tconst invalid = [];\r\n\t\tconst controls = formGroup.controls;\r\n\t\tfor (const name in controls) {\r\n\t\t\tif (controls[name].invalid) {\r\n\t\t\t\tinvalid.push(name);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn invalid;\r\n\t}\r\n\r\n\t/** It validates if a formcontrol has any error */\r\n\tstatic hasErrors(formControl: FormControl) {\r\n\t\treturn formControl && formControl.errors && (formControl.dirty || formControl.touched);\r\n\t}\r\n\r\n\t/** It validates if a formcontrol has a specific error */\r\n\tstatic hasError(formControl: FormControl, error: string) {\r\n\t\treturn FormUtil.hasErrors(formControl) && formControl.errors[error];\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { TasaCambio } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class TasaCambioService {\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\t/** Search list of exchange rates */\r\n\tgetAllTasaCambioLightInDate(date: string): Observable<any> {\r\n\t\treturn this.httpClient.get<TasaCambio[]>(\r\n\t\t\tthis.environment.host.backend.plis + 'tasacambio/getAllTasaCambioLightInDate',\r\n\t\t\t{ params: new HttpParams().set('date', date) }\r\n\t\t);\r\n\t}\r\n\r\n\tgetAllTasaCambioLightInDateByMonOrigenDestino(\r\n\t\tdate: string,\r\n\t\tmonOrigen: number,\r\n\t\tmonDestino: number\r\n\t) {\r\n\t\treturn this.httpClient.get<TasaCambio>(\r\n\t\t\tthis.environment.host.backend.plis +\r\n\t\t\t\t'tasacambio/getAllTasaCambioLightInDateByMonOrigenDestino',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('date', date)\r\n\t\t\t\t\t.set('monOrigen', monOrigen)\r\n\t\t\t\t\t.set('monDestino', monDestino)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, BehaviorSubject } from 'rxjs';\r\n\r\nimport {\r\n\tPliPatrocinador,\r\n\tPliPrograma,\r\n\tPliPromocion,\r\n\tPliCnfConfiguracion,\r\n\tJwtUtil,\r\n\tNumberUtil,\r\n\tAuthenticationUtil,\r\n\tPppRequest\r\n} from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PppService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\t/** It contains the key of the json web token */\r\n\tstatic TOKEN_PPP = 'tokenPpp';\r\n\r\n\t/** This observable allows to verify if ppp is created */\r\n\tprivate subjectPpp = new BehaviorSubject<number>(undefined);\r\n\r\n\t/** This observable allows to verify if list ppp is generated */\r\n\tprivate subjectListPpp = new BehaviorSubject<Array<any>>(undefined);\r\n\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\t/** It has an observable to notify if the ppp is changed */\r\n\tonChangePpp(): Observable<number> {\r\n\t\treturn this.subjectPpp.asObservable();\r\n\t}\r\n\r\n\t/** It sets the new ppp */\r\n\tsetPpp(ppp: number) {\r\n\t\tif (ppp) {\r\n\t\t\tif (typeof ppp === 'string') {\r\n\t\t\t\tif (NumberUtil.isNumber(ppp)) {\r\n\t\t\t\t\tppp = parseInt(ppp);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tppp = 0;\r\n\t\t\t\t}\r\n\t\t\t} else if (typeof ppp !== 'number') {\r\n\t\t\t\tppp = 0;\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.subjectPpp.next(ppp);\r\n\t}\r\n\r\n\t/** It returns a list of patrocinador */\r\n\tgetListPatrocinador() {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.plis + 'config/patrocinador/getAll'\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns a patrocinador by id */\r\n\tgetPatrocinadorById(id: number) {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.plis + 'config/patrocinador/getById',\r\n\t\t\t{ params: new HttpParams().set('patCodigo', id.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves a patrocinador */\r\n\tsavePatrocinador(oldPatrocinador: PliPatrocinador, patrocinador: PliPatrocinador) {\r\n\t\t//pliUsuario: {usuLogin : AuthenticationUtil.getUsername()};\r\n\t\tlet object = {\r\n\t\t\tpliPatrocinadorBefore: oldPatrocinador,\r\n\t\t\tpliPatrocinador: patrocinador,\r\n\t\t\tpliUsuario: { usuLogin: AuthenticationUtil.getUsername() }\r\n\t\t};\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.plis + 'config/patrocinador/save',\r\n\t\t\tobject,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the list of tipo patrocinador */\r\n\tgetListTipoPatrocinador() {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.plis + 'config/tipo-patrocinador/getAll'\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the list of tipo programa */\r\n\tgetListTipoPrograma() {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.plis + 'config/tipo-programa/getAll'\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the list of paises */\r\n\tgetPaises() {\r\n\t\treturn this.httpClient.get(this.environment.host.backend.plis + 'pais/getAll');\r\n\t}\r\n\r\n\t/** It returns the list of programas by patrocinador id */\r\n\tgetListProgramasBypatCodigo(patCodigo: number) {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.plis + 'config/programa/getAllByPatrocinador',\r\n\t\t\t{ params: new HttpParams().set('patCodigo', patCodigo.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns programa by id */\r\n\tgetProgramaById(id: number) {\r\n\t\treturn this.httpClient.get(this.environment.host.backend.plis + 'config/programa/getById', {\r\n\t\t\tparams: new HttpParams().set('progCodigo', id.toString())\r\n\t\t});\r\n\t}\r\n\r\n\t/** It saves a programa */\r\n\tsavePrograma(oldPrograma: PliPrograma, programa: PliPrograma) {\r\n\t\tlet object = {\r\n\t\t\tpliProgramaBefore: oldPrograma,\r\n\t\t\tpliPrograma: programa,\r\n\t\t\tpliUsuario: { usuLogin: AuthenticationUtil.getUsername() }\r\n\t\t};\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.plis + 'config/programa/save',\r\n\t\t\tobject,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the list of programas by programa id */\r\n\tgetListPromocionesByprogCodigo(progCodigo: number) {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.plis + 'config/promocion/getAllByPrograma',\r\n\t\t\t{ params: new HttpParams().set('progCodigo', progCodigo.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the list of programas by patrocinador id */\r\n\tgetListPromocionesBypatCodigo(patCodigo: number) {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.plis + 'config/promocion/getAllByPatrocinador',\r\n\t\t\t{ params: new HttpParams().set('patCodigo', patCodigo.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the list of programas by patrocinador id and without configuracion */\r\n\tgetListPromocionesBypatCodigoWithoutConfiguracion(patCodigo: number) {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.plis +\r\n\t\t\t\t'config/promocion/getByPatrocinador/withoutConfiguracion',\r\n\t\t\t{ params: new HttpParams().set('patCodigo', patCodigo.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns promocion by id */\r\n\tgetPromocionById(id: number) {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.plis + 'config/promocion/getById',\r\n\t\t\t{ params: new HttpParams().set('promCodigo', id.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves a promocion */\r\n\tsavePromocion(oldPromocion: PliPromocion, promocion: PliPromocion) {\r\n\t\tlet object = {\r\n\t\t\tpliPromocionBefore: oldPromocion,\r\n\t\t\tpliPromocion: promocion,\r\n\t\t\tpliUsuario: { usuLogin: AuthenticationUtil.getUsername() }\r\n\t\t};\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.plis + 'config/promocion/save',\r\n\t\t\tobject,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns a list of pliCnfConfiguracion by patCodigo */\r\n\tgetConfiguracionBypatCodigo(patCodigo: number, cargarListas: boolean) {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.plis + 'config/configuracion/getAllByPatrocinador',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('patCodigo', patCodigo.toString())\r\n\t\t\t\t\t.set('cargarListas', cargarListas.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns configuracion by id */\r\n\tgetConfiguracionById(id: number, cargarListas: boolean) {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.plis + 'config/configuracion/getById',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('cconCodigo', id.toString())\r\n\t\t\t\t\t.set('cargarListas', cargarListas.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves a configuracion */\r\n\tsaveConfiguracion(oldConfiguracion: PliCnfConfiguracion, configuracion: PliCnfConfiguracion) {\r\n\t\tlet object = {\r\n\t\t\tpliCnfConfiguracionBefore: oldConfiguracion,\r\n\t\t\tpliCnfConfiguracion: configuracion,\r\n\t\t\tpliUsuario: { usuLogin: AuthenticationUtil.getUsername() }\r\n\t\t};\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.plis + 'config/configuracion/save',\r\n\t\t\tobject,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It updates de code of configuracion to a list of codes of promocion */\r\n\tupdateConfiguracionPliPromocion(cconCodigo: number, listaPromCodigo: Array<number>) {\r\n\t\tlet object = {\r\n\t\t\tcconCodigo: cconCodigo,\r\n\t\t\tlistaPromCodigo: listaPromCodigo\r\n\t\t};\r\n\t\treturn this.httpClient.put(\r\n\t\t\tthis.environment.host.backend.plis + 'config/promocion/updateConfigurationMassive',\r\n\t\t\tobject,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It has an observable to notify if the list ppp is generated*/\r\n\tgetListPpp(): Observable<Array<any>> {\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.generate();\r\n\t\t}, 300);\r\n\t\treturn this.subjectListPpp.asObservable();\r\n\t}\r\n\r\n\t/** It returns a list of available pliPromocion by patCodigo */\r\n\tgetAvailablePromocion(patCodigo: number) {\r\n\t\tif (!patCodigo) {\r\n\t\t\tpatCodigo = 0;\r\n\t\t}\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.plis + 'config/promocion/getAvailableByPatCodigo',\r\n\t\t\t{ params: new HttpParams().set('patCodigo', patCodigo.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns a list of pliPromocion */\r\n\tgetAll() {\r\n\t\treturn this.httpClient.get(this.environment.host.backend.plis + 'config/promocion/getAll');\r\n\t}\r\n\r\n\t/** it returns list of patrocinador depends of token info*/\r\n\tgetlPatrocinadorByToken(): PliPatrocinador[] {\r\n\t\tlet tokenPpp = localStorage.getItem(PppService.TOKEN_PPP);\r\n\t\tif (tokenPpp && tokenPpp.length) {\r\n\t\t\tconst ppp = JwtUtil.parseJwt(tokenPpp);\r\n\t\t\tif (ppp && ppp.ppp) {\r\n\t\t\t\tlet lPliPatrocinador = Array<PliPatrocinador>();\r\n\t\t\t\tfor (let pat of ppp.ppp) {\r\n\t\t\t\t\tlet pliPat = new PliPatrocinador();\r\n\t\t\t\t\tpliPat.patCodigo = pat.patCodigo;\r\n\t\t\t\t\tpliPat.patNombre = pat.patNombre;\r\n\t\t\t\t\tpliPat.patNombreCorto = pat.patNombreCorto;\r\n\t\t\t\t\tif (pat.listaPliPrograma && pat.listaPliPrograma.length > 0) {\r\n\t\t\t\t\t\tpliPat.lPliPrograma = Array<PliPrograma>();\r\n\t\t\t\t\t\tfor (let prog of pat.listaPliPrograma) {\r\n\t\t\t\t\t\t\tlet pliProg = new PliPrograma();\r\n\t\t\t\t\t\t\tpliProg.progCodigo = prog.progCodigo;\r\n\t\t\t\t\t\t\tpliProg.progNombre = prog.progNombre;\r\n\t\t\t\t\t\t\tpliProg.progNombreCorto = prog.progNombreCorto;\r\n\t\t\t\t\t\t\tif (prog.listaPliPromocion && prog.listaPliPromocion.length > 0) {\r\n\t\t\t\t\t\t\t\tpliProg.lPliPromocion = Array<PliPromocion>();\r\n\t\t\t\t\t\t\t\tfor (let prom of prog.listaPliPromocion) {\r\n\t\t\t\t\t\t\t\t\tlet pliProm = new PliPromocion();\r\n\t\t\t\t\t\t\t\t\tpliProm.promCodigo = prom.promCodigo;\r\n\t\t\t\t\t\t\t\t\tpliProm.promNombre = prom.promNombre;\r\n\t\t\t\t\t\t\t\t\tpliProm.promNombreCorto = prom.promNombreCorto;\r\n\t\t\t\t\t\t\t\t\tpliProm.promFechaCreacion = prom.promFechaCreacion;\r\n\t\t\t\t\t\t\t\t\tpliProg.lPliPromocion.push(pliProm);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tpliPat.lPliPrograma.push(pliProg);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tlPliPatrocinador.push(pliPat);\r\n\t\t\t\t}\r\n\t\t\t\treturn lPliPatrocinador;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\r\n\tgetAllPromociones(): PliPromocion[] {\r\n\t\tlet lPromociones: PliPromocion[] = [];\r\n\t\tlet tokenPpp = localStorage.getItem(PppService.TOKEN_PPP);\r\n\t\tif (tokenPpp && tokenPpp.length) {\r\n\t\t\tconst ppp = JwtUtil.parseJwt(tokenPpp);\r\n\t\t\tif (ppp && ppp.ppp) {\r\n\t\t\t\tfor (let pat of ppp.ppp) {\r\n\t\t\t\t\tlet pliPat = new PliPatrocinador();\r\n\t\t\t\t\tpliPat.patCodigo = pat.patCodigo;\r\n\t\t\t\t\tpliPat.patNombre = pat.patNombre;\r\n\t\t\t\t\tpliPat.patNombreCorto = pat.patNombreCorto;\r\n\t\t\t\t\tif (pat.listaPliPrograma && pat.listaPliPrograma.length > 0) {\r\n\t\t\t\t\t\tpliPat.lPliPrograma = Array<PliPrograma>();\r\n\t\t\t\t\t\tfor (let prog of pat.listaPliPrograma) {\r\n\t\t\t\t\t\t\tlet pliProg = new PliPrograma();\r\n\t\t\t\t\t\t\tpliProg.progCodigo = prog.progCodigo;\r\n\t\t\t\t\t\t\tpliProg.progNombre = prog.progNombre;\r\n\t\t\t\t\t\t\tpliProg.progNombreCorto = prog.progNombreCorto;\r\n\t\t\t\t\t\t\tif (prog.listaPliPromocion && prog.listaPliPromocion.length > 0) {\r\n\t\t\t\t\t\t\t\tpliProg.lPliPromocion = Array<PliPromocion>();\r\n\t\t\t\t\t\t\t\tfor (let prom of prog.listaPliPromocion) {\r\n\t\t\t\t\t\t\t\t\tlet pliProm = new PliPromocion();\r\n\t\t\t\t\t\t\t\t\tpliProm.promCodigo = prom.promCodigo;\r\n\t\t\t\t\t\t\t\t\tpliProm.promNombre = prom.promNombre;\r\n\t\t\t\t\t\t\t\t\tpliProm.promNombreCorto = prom.promNombreCorto;\r\n\t\t\t\t\t\t\t\t\tpliProm.promFechaCreacion = prom.promFechaCreacion;\r\n\t\t\t\t\t\t\t\t\tlPromociones.push(pliProm);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn lPromociones;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\r\n\t/** it returns the patcodigo by promCodigo */\r\n\tgetPatCodigoByPromCodigo(promCodigo): number {\r\n\t\tlet tokenPpp = localStorage.getItem(PppService.TOKEN_PPP);\r\n\t\tif (tokenPpp && tokenPpp.length) {\r\n\t\t\tconst ppp = JwtUtil.parseJwt(tokenPpp);\r\n\t\t\tif (ppp && ppp.ppp)\r\n\t\t\t\tfor (const patrocinador of ppp.ppp)\r\n\t\t\t\t\tfor (const programa of patrocinador.listaPliPrograma)\r\n\t\t\t\t\t\tfor (const promocion of programa.listaPliPromocion)\r\n\t\t\t\t\t\t\tif (promocion.promCodigo == promCodigo) return patrocinador.patCodigo;\r\n\t\t\treturn undefined;\r\n\t\t}\r\n\t}\r\n\r\n\t/** it returns the patcodigo by promCodigo */\r\n\tgetProgCodigoByPromCodigo(promCodigo): number {\r\n\t\tlet tokenPpp = localStorage.getItem(PppService.TOKEN_PPP);\r\n\t\tif (tokenPpp && tokenPpp.length) {\r\n\t\t\tconst ppp = JwtUtil.parseJwt(tokenPpp);\r\n\t\t\tif (ppp && ppp.ppp)\r\n\t\t\t\tfor (const patrocinador of ppp.ppp)\r\n\t\t\t\t\tfor (const programa of patrocinador.listaPliPrograma)\r\n\t\t\t\t\t\tfor (const promocion of programa.listaPliPromocion)\r\n\t\t\t\t\t\t\tif (promocion.promCodigo == promCodigo) return programa.progCodigo;\r\n\t\t\treturn undefined;\r\n\t\t}\r\n\t}\r\n\t/** It generated a light list of ppp */\r\n\tprivate generate() {\r\n\t\t// 1. it verifies tokenPpp\r\n\t\tlet tokenPpp = localStorage.getItem(PppService.TOKEN_PPP);\r\n\t\tif (tokenPpp && tokenPpp.length) {\r\n\t\t\tconst ppp = JwtUtil.parseJwt(tokenPpp);\r\n\t\t\tif (ppp && ppp.ppp) this.subjectListPpp.next(ppp.ppp);\r\n\t\t} else {\r\n\t\t\t// 2. it retrieves the list ppp\r\n\t\t\tlet authorities = AuthenticationUtil.getAuthorities();\r\n\t\t\tif (authorities && authorities.length > 0) {\r\n\t\t\t\tlet listPatCodigo = [];\r\n\t\t\t\tfor (const authority of authorities) listPatCodigo.push(authority.patCodigo);\r\n\r\n\t\t\t\tif (listPatCodigo)\r\n\t\t\t\t\tthis.httpClient\r\n\t\t\t\t\t\t.get(\r\n\t\t\t\t\t\t\tthis.environment.host.backend.plis +\r\n\t\t\t\t\t\t\t\t'config/patrocinador/getLightByListPatrocinador',\r\n\t\t\t\t\t\t\t{ params: new HttpParams().set('patCodigos', listPatCodigo.toString()) }\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t\t.subscribe(\r\n\t\t\t\t\t\t\t(result: any) => {\r\n\t\t\t\t\t\t\t\tif (result && result.tokenPpp) {\r\n\t\t\t\t\t\t\t\t\tlocalStorage.setItem(PppService.TOKEN_PPP, result.tokenPpp);\r\n\t\t\t\t\t\t\t\t\tthis.generate();\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tthis.subjectListPpp.next([]);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t(error) => {\r\n\t\t\t\t\t\t\t\tconsole.error('ERROR consulting ppp', error);\r\n\t\t\t\t\t\t\t\tthis.subjectListPpp.next([]);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/** it returns the PPP from the token */\r\n\tgetPPPInfoFromToken(): PliPatrocinador[] {\r\n\t\tlet tokenPpp = localStorage.getItem(PppService.TOKEN_PPP);\r\n\t\tconst lPliPatrocinador: PliPatrocinador[] = [];\r\n\t\tif (tokenPpp && tokenPpp.length) {\r\n\t\t\tconst ppp = JwtUtil.parseJwt(tokenPpp);\r\n\t\t\tif (ppp && ppp.ppp)\r\n\t\t\t\tfor (const patrocinador of ppp.ppp) {\r\n\t\t\t\t\tconst pliPatrocinador = new PliPatrocinador();\r\n\t\t\t\t\tconst lPliPrograma: PliPrograma[] = [];\r\n\t\t\t\t\tfor (const programa of patrocinador.listaPliPrograma) {\r\n\t\t\t\t\t\tconst pliPrograma = new PliPrograma();\r\n\t\t\t\t\t\tpliPrograma.progCodigo = programa.progCodigo;\r\n\t\t\t\t\t\tpliPrograma.progNombreCorto = programa.progNombreCorto;\r\n\t\t\t\t\t\tpliPrograma.progNombre = programa.progNombre;\r\n\t\t\t\t\t\tconst lPliPromocion: PliPromocion[] = [];\r\n\t\t\t\t\t\tfor (const promocion of programa.listaPliPromocion) {\r\n\t\t\t\t\t\t\tconst pliPromocion = new PliPromocion();\r\n\t\t\t\t\t\t\tpliPromocion.promCodigo = promocion.promCodigo;\r\n\t\t\t\t\t\t\tpliPromocion.promNombreCorto = promocion.promNombreCorto;\r\n\t\t\t\t\t\t\tpliPromocion.promNombre = promocion.promNombre;\r\n\t\t\t\t\t\t\tpliPromocion.promAnio = promocion.promAnio;\r\n\t\t\t\t\t\t\tlPliPromocion.push(pliPromocion);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tpliPrograma.lPliPromocion = lPliPromocion;\r\n\t\t\t\t\t\tlPliPrograma.push(pliPrograma);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tpliPatrocinador.lPliPrograma = lPliPrograma;\r\n\t\t\t\t\tlPliPatrocinador.push(pliPatrocinador);\r\n\t\t\t\t}\r\n\t\t}\r\n\t\treturn lPliPatrocinador;\r\n\t}\r\n\r\n\tpppRollback(pppRequest: PppRequest) {\r\n\t\t\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pppRollback',\r\n\t\t\tpppRequest,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tdeleteBudgetByProm(promCodigo: number) {\r\n\t\tlet object = {\r\n\t\t\tpromCodigo: promCodigo\r\n\t\t};\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.plis + 'config/promocion/deleteBudgetByProm',\r\n\t\t\tobject,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class HashService {\r\n\r\n constructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n /**\r\n * Create the hash with idPatrocinador, idPlataforma and the idPatrocinadorPLIC optional param\r\n * @param idPatrocinador \r\n * @param idPlataforma \r\n * @param idPatrocinadorPLIC \r\n * @returns generated hash\r\n */\r\n\tgetHash(idPatrocinador: string, idPlataforma: string, idPatrocinadorPLIC?: string): Observable<any> {\r\n const params = new HttpParams()\r\n .set('idPatrocinador', idPatrocinador)\r\n .set('idPlataforma', idPlataforma)\r\n .set('idPatrocinadorPLIC', idPatrocinadorPLIC);\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}hash`,\r\n\t\t\t{ params }\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { HEADER_JSON, AuthenticationUtil, User } from 'ng-pli-util';\r\nimport { HashService } from './hash.service';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class AuthenticationService {\r\n\t/** This observable allows to verify if the user is authenticated */\r\n\tprivate isLoginSubject = new BehaviorSubject<boolean>(AuthenticationUtil.hasToken());\r\n\r\n\tconstructor(\r\n\t\t@Inject('environment') private environment: any,\r\n\t\tprivate httpClient: HttpClient,\r\n\t\tprivate hashService: HashService) {}\r\n\r\n\t/**\r\n\t * It allows to login with the app with username and password\r\n\t * @param user It\r\n\t */\r\n\tlogin(user: any) {\r\n\t\tlocalStorage.clear();\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'sesion/getByLoginAndSesion',\r\n\t\t\tuser,\r\n\t\t\tHEADER_JSON\r\n\t\t);\r\n\t}\r\n\r\n\t/*_login(user: any) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'sesion/getByLoginAndSesion',\r\n\t\t\tuser,\r\n\t\t\tHEADER_JSON\r\n\t\t);\r\n\t}*/\r\n\r\n\tgetUserByLogin(user: any) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'sesion/getByLogin',\r\n\t\t\tuser,\r\n\t\t\tHEADER_JSON\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the session info */\r\n\tgetTokenByLogin(login: string): Observable<any> {\r\n\t\treturn this.httpClient.get(this.environment.host.backend.plis + 'login/getSession', {\r\n\t\t\tparams: new HttpParams().set('login', login)\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * It allows to logout\r\n\t */\r\n\tlogout(redirectURL?: string) {\r\n\t\tthis.removeTokens();\r\n\t\twindow.location.href = redirectURL ? redirectURL : this.environment.host.frontend.login;\r\n\t}\r\n\r\n\t/**\r\n\t * It allows to assign a new value to the token\r\n\t * @param token\r\n\t */\r\n\tsetToken(token_request: string) {\r\n\t\tAuthenticationUtil.setToken(token_request);\r\n\t\tthis.isLoginSubject.next(true);\r\n\t}\r\n\r\n\t/** it verifies if there is token */\r\n\tverifyToken() {\r\n\t\tthis.isLoginSubject.next(AuthenticationUtil.verifyToken());\r\n\t}\r\n\r\n\t/**\r\n\t * It allows to remove the token\r\n\t */\r\n\tprivate removeTokens() {\r\n\t\tlocalStorage.clear();\r\n\t\tthis.isLoginSubject.next(false);\r\n\t}\r\n\r\n\t/**\r\n\t * It has a observable to notify if the user is authenticated\r\n\t */\r\n\tisAuthenticated(): Observable<boolean> {\r\n\t\treturn this.isLoginSubject.asObservable();\r\n\t}\r\n\r\n\tprivate getHash(\r\n\t\tidPatrocinador: string,\r\n\t\tidPlataforma: string,\r\n\t\tidPatrocinadorPLIC: string\r\n\t): Promise<string> {\r\n\t\tconst errorMessage = 'No se pudo generar el hash';\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tthis.hashService.getHash(idPatrocinador, idPlataforma, idPatrocinadorPLIC).subscribe(\r\n\t\t\t\t(response) => {\r\n\t\t\t\t\tif (response && response.hash) {\r\n\t\t\t\t\t\tresolve(response.hash);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treject(errorMessage);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\t(error) => reject(errorMessage)\r\n\t\t\t);\r\n\t\t});\r\n\t}\r\n\r\n\tasync getLink(patCodigo: string) {\r\n\t\t//https://dev.colfuturo.org/plic/frontoffice/registro-multiaplicacion/create/74\r\n\t\tlet loginMultiUrl = '';\r\n\t\tlet registerForm = 'registro-multiaplicacion/create/' + patCodigo;\r\n\t\tconst loginUrl = new URL(this.environment.host.frontend.frontoffice + registerForm);\r\n\t\ttry {\r\n\t\t\tloginMultiUrl = loginUrl.href;\r\n\t\t} catch (error) {}\r\n\t\treturn loginMultiUrl;\r\n\t}\r\n\r\n\tasync getLinkMono(promCodigo: string) {\r\n\t\t// https://dev.colfuturo.org/plic/frontoffice/term/362/-1\r\n\t\tlet loginMultiUrl = '';\r\n\t\tlet termsLink = 'term/' + promCodigo + '/-1';\r\n\t\tconst loginUrl = new URL(this.environment.host.frontend.frontoffice + termsLink);\r\n\t\ttry {\r\n\t\t\tloginMultiUrl = loginUrl.href;\r\n\t\t} catch (error) {}\r\n\t\treturn loginMultiUrl;\r\n\t}\r\n\r\n\tasync getLinkOld(patCodigo: string) {\r\n\t\tlet logoutUrl = '';\r\n\t\tconst loginUrl = new URL(this.environment.host.frontend.login);\r\n\t\tconst idPatrocinador = loginUrl.searchParams.get('idPatrocinador');\r\n\t\tconst idPlataforma = loginUrl.searchParams.get('idPlataforma');\r\n\t\tloginUrl.searchParams.append('idPatrocinadorPLIC', patCodigo);\r\n\t\ttry {\r\n\t\t\tlet hash = await this.getHash(idPatrocinador, idPlataforma, patCodigo);\r\n\t\t\tloginUrl.searchParams.set('hash', hash);\r\n\t\t\tlogoutUrl = loginUrl.href;\r\n\t\t} catch (error) {}\r\n\t\treturn logoutUrl;\r\n\t}\r\n\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpHeaders, HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthenticationService } from './authentication.service';\r\nimport { HEADER_JSON, PliCnfStatus } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class StatusService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(\r\n\t\t@Inject('environment') private environment: any,\r\n\t\tprivate httpClient: HttpClient,\r\n\t\tprivate authService: AuthenticationService\r\n\t) {}\r\n\r\n\t/** It returns all list of status by prom code */\r\n\tgetById(statusId: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfStatus/getById',\r\n\t\t\t{ params: new HttpParams().set('statusId', statusId.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns all list of status by prom code */\r\n\tgetAllByPromCode(promCode: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfStatus/getAllByPromCode',\r\n\t\t\t{ params: new HttpParams().set('promCodigo', promCode.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns all list of status by prom code */\r\n\tgetAllByPromCodeAndName(promCode: number, name: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfStatus/getAllByPromCodeAndName',\r\n\t\t\t{ params: new HttpParams().set('promCodigo', promCode.toString()).set('name', name) }\r\n\t\t);\r\n\t}\r\n\r\n\tgetFinalStatusByStaticInteraction(\r\n\t\tpromCode: number,\r\n\t\tstaticInteractionId: number\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfStatus/getFinalStatusByStaticInteraction',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigo', promCode.toString())\r\n\t\t\t\t\t.set('staticInteractionId', staticInteractionId.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns all list of status by prom code */\r\n\tgetInitialStatusByPromCode(promCode: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfStatus/getInitialStatusByPromCode',\r\n\t\t\t{ params: new HttpParams().set('promCodigo', promCode.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\tsave(cnfStatus: PliCnfStatus): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfStatus/save',\r\n\t\t\tcnfStatus,\r\n\t\t\tHEADER_JSON\r\n\t\t);\r\n\t}\r\n\r\n\tgetStatusByPromcodigoAndPageSection(promCodigo: number, pageId: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfStatus/getStatusByPromcodigoAndPageSection',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigo', promCodigo.toString())\r\n\t\t\t\t\t.set('pageId', pageId.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetStatusByPromCodigoAndCategoryId(promCodigo: number, categoryId: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfStatus/getStatusByPromCodigoAndCategoryId',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigo', promCodigo.toString())\r\n\t\t\t\t\t.set('categoryId', categoryId.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetByInitialStatusAndPromCodigoAndCategoryId(\r\n\t\tinitialStatus: boolean,\r\n\t\tpromCodigo: number,\r\n\t\tcategoryId: number\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfStatus/getByInitialStatusAndPromCodigoAndCategoryId',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('initialStatus', initialStatus.toString())\r\n\t\t\t\t\t.set('promCodigo', promCodigo.toString())\r\n\t\t\t\t\t.set('categoryId', categoryId.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetByPromCodigoAndFinalStatus(promCodigo: number, finalStatus: boolean): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfStatus/getByPromCodigoAndFinalStatus',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigo', promCodigo.toString())\r\n\t\t\t\t\t.set('finalStatus', finalStatus.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetInitialStatusByStaticInteraction(promCodigo: string, staticInteractionId: string) {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfStatus/getInitialStatusByStaticInteraction',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigo', promCodigo)\r\n\t\t\t\t\t.set('staticInteractionId', staticInteractionId)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetConfigCloningStatusMap(lStatus: PliCnfStatus[]): Observable<any> {\r\n\t\treturn this.httpClient.post<PliCnfStatus[]>(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfStatus/getConfigCloningStatusMap',\r\n\t\t\tlStatus\r\n\t\t);\r\n\t}\r\n\r\n\tputStatusAfterApplicationFinished(lPliCnfStatus: PliCnfStatus[]): Observable<any> {\r\n\t\treturn this.httpClient.put<PliCnfStatus[]>(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfStatus/putStatusAfterApplicationFinished',\r\n\t\t\tlPliCnfStatus,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpHeaders, HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { HEADER_JSON, AuthenticationUtil } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class ConfigurationService {\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\t/** Get the actual date */\r\n\tgetActualDate(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'configuration/getActualDate'\r\n\t\t);\r\n\t}\r\n\r\n\t/** Get the actual date */\r\n\tgetDate(date: string = undefined): Observable<any> {\r\n\t\tdate = date === undefined ? null : date;\r\n\t\t// if (date !== undefined) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'configuration/getDate',\r\n\t\t\tdate,\r\n\t\t\tHEADER_JSON\r\n\t\t);\r\n\t\t// } else {\r\n\t\t// \treturn this.httpClient.post(\r\n\t\t// \t\tthis.environment.host.backend.configuration + 'configuration/getDate',\r\n\t\t// \t\tnull,\r\n\t\t// \t\tHEADER_JSON\r\n\t\t// \t);\r\n\t\t// }\r\n\t\t// return this.httpClient.get(\r\n\t\t// \tthis.environment.host.backend.configuration + 'configuration/getActualDate'\r\n\t\t// );\r\n\t}\r\n\r\n\tgetFileByUrl(url, name): Observable<any> {\r\n\t\tlet headers = new HttpHeaders();\r\n\t\theaders.set('Accept', 'application/pdf');\r\n\t\theaders.set('Authorization', 'Bearer ' + AuthenticationUtil.getToken());\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'configuration/getFileByUrl',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('url', url).set('name', name),\r\n\t\t\t\theaders: headers,\r\n\t\t\t\tresponseType: 'blob'\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport {\r\n\tMoneda,\r\n\tRubro,\r\n\tTasaCambio,\r\n\tDateUtil,\r\n\tIdioma,\r\n\tProceso,\r\n\tRequestPdf,\r\n\tECategoryStatus,\r\n\tPliCnfStatus\r\n} from 'ng-pli-util';\r\nimport { TasaCambioService } from './tasa.cambio.service';\r\nimport { StatusService } from './status.service';\r\nimport { ConfigurationService } from './configuration.service';\r\nimport { PppService } from './ppp.service';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class CommonService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\t/** Notify when the currencies info change */\r\n\tcurrencyChanged = new BehaviorSubject<Moneda[]>(undefined);\r\n\t/** List of currency */\r\n\tprivate lCurrency: Moneda[];\r\n\t/** Notify when the categories info change */\r\n\tcategoryChanged = new BehaviorSubject<Rubro[]>(undefined);\r\n\t/** List of currency */\r\n\tprivate lCategory: Rubro[];\r\n\t/** Notify when the exchange rate info change */\r\n\texchangeRateChanged = new BehaviorSubject<TasaCambio[]>(undefined);\r\n\t/** List of exchange rate */\r\n\tprivate lExchangeRate: TasaCambio[];\r\n\t/** Notify when the idioma has changed */\r\n\tlanguageChanged = new BehaviorSubject<Idioma[]>(undefined);\r\n\t/** List of exchange rate */\r\n\tprivate lLanguage: Idioma[];\r\n\t/** Notify when the process info change */\r\n\tprocessChanged = new BehaviorSubject<Proceso[]>(undefined);\r\n\t/** List of process */\r\n\tprivate lProcess: Proceso[];\r\n\r\n\tconstructor(\r\n\t\t@Inject('environment') private environment: any,\r\n\t\tprivate httpClient: HttpClient,\r\n\t\tprivate tasaCambioService: TasaCambioService,\r\n\t\tprivate pppService: PppService,\r\n\t\tprivate statusService: StatusService,\r\n\t\tprivate configurationService: ConfigurationService\r\n\t) {\r\n\t\tthis.initValues();\r\n\t}\r\n\r\n\t/** It has an observable to notify if the language is changed */\r\n\tonLanguageChanged(): Observable<Idioma[]> {\r\n\t\treturn this.languageChanged.asObservable();\r\n\t}\r\n\r\n\t/** It has an observable to notify if the cateogry is changed */\r\n\tonCurrencyChanged(): Observable<Moneda[]> {\r\n\t\treturn this.currencyChanged.asObservable();\r\n\t}\r\n\r\n\t/** It has an observable to notify if the category is changed */\r\n\tonCategoryChanged(): Observable<Rubro[]> {\r\n\t\treturn this.categoryChanged.asObservable();\r\n\t}\r\n\r\n\t/** It has an observable to notify if the exchange rate is changed */\r\n\tonExchangeRateChanged(): Observable<TasaCambio[]> {\r\n\t\treturn this.exchangeRateChanged.asObservable();\r\n\t}\r\n\r\n\t/** It has an observable to notify if the list of process is changed */\r\n\tonProcessChanged(): Observable<Proceso[]> {\r\n\t\treturn this.processChanged.asObservable();\r\n\t}\r\n\r\n\t/**\r\n\t * Search the info of the variables, first try to search in the local storage,\r\n\t * if not find info, get the info from the services\r\n\t */\r\n\tinitValues() {\r\n\t\tthis.searchLCurrency();\r\n\t\tthis.searchLCategory();\r\n\t\tthis.searchLExchangeRate();\r\n\t\tthis.searchLLanguage();\r\n\t\tthis.searchLProcess();\r\n\t}\r\n\r\n\t/**\r\n\t * Remove all variables of the local storage\r\n\t */\r\n\treloadValues() {\r\n\t\tlocalStorage.removeItem('lCurrency');\r\n\t\tlocalStorage.removeItem('lCategory');\r\n\t\tlocalStorage.removeItem('lExchangeRate');\r\n\t\tlocalStorage.removeItem('lLanguage');\r\n\t\tlocalStorage.removeItem('lProcess');\r\n\t}\r\n\r\n\t/** Search list of currencies */\r\n\tgetLanguages() {\r\n\t\tthis.httpClient\r\n\t\t\t.get<Idioma[]>(this.environment.host.backend.plis + 'idioma/getAll')\r\n\t\t\t.subscribe(\r\n\t\t\t\t(lLanguage: Idioma[]) => {\r\n\t\t\t\t\tthis.setLLanguage(lLanguage);\r\n\t\t\t\t},\r\n\t\t\t\t(error) => {\r\n\t\t\t\t\tconsole.error('Error - getListCurrencies -El sistema no responde', error);\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t}\r\n\r\n\t/** Search list of currencies */\r\n\tgetCurrencies() {\r\n\t\tthis.httpClient\r\n\t\t\t.get<Moneda[]>(this.environment.host.backend.plis + 'moneda/getAll')\r\n\t\t\t.subscribe(\r\n\t\t\t\t(lCurrency: Moneda[]) => {\r\n\t\t\t\t\tthis.setLCurrencies(lCurrency);\r\n\t\t\t\t},\r\n\t\t\t\t(error) => {\r\n\t\t\t\t\tconsole.error('Error - getListCurrencies -El sistema no responde', error);\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t}\r\n\r\n\t/** Search list of categories */\r\n\tgetCategories() {\r\n\t\tthis.httpClient\r\n\t\t\t.get<Rubro[]>(this.environment.host.backend.plis + 'rubro/getAll', {\r\n\t\t\t\tparams: new HttpParams().set('cargarListas', 'true')\r\n\t\t\t})\r\n\t\t\t.subscribe(\r\n\t\t\t\t(lCategory: Rubro[]) => {\r\n\t\t\t\t\tthis.setLCategory(lCategory);\r\n\t\t\t\t},\r\n\t\t\t\t(error) => {\r\n\t\t\t\t\tconsole.error('Error - getCategories -El sistema no responde', error);\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t}\r\n\r\n\t/** Search list of exchange rates */\r\n\tgetExchangeRate(date: string) {\r\n\t\tthis.tasaCambioService.getAllTasaCambioLightInDate(date).subscribe(\r\n\t\t\t(lExchangeRate: TasaCambio[]) => {\r\n\t\t\t\tthis.setLExchangeRate(lExchangeRate);\r\n\t\t\t},\r\n\t\t\t(error) => {\r\n\t\t\t\tconsole.error('Error - getExchangeRate -El sistema no responde', error);\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** Search list of exchange rates */\r\n\tgetProcess() {\r\n\t\tthis.httpClient\r\n\t\t\t.get<Proceso[]>(this.environment.host.backend.plis + 'common/getAllProcesos')\r\n\t\t\t.subscribe(\r\n\t\t\t\t(lProcess: Proceso[]) => {\r\n\t\t\t\t\tthis.setLProcess(lProcess);\r\n\t\t\t\t},\r\n\t\t\t\t(error) => {\r\n\t\t\t\t\tconsole.error('Error - getProcess -El sistema no responde', error);\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t}\r\n\r\n\tsetLCurrencies(lCurrency: Moneda[]) {\r\n\t\tfor (let key in lCurrency) {\r\n\t\t\tlet currency: Moneda = Object.assign(new Moneda(), lCurrency[key]);\r\n\t\t\tlCurrency[key] = currency;\r\n\t\t}\r\n\t\tthis.lCurrency = lCurrency;\r\n\t\tlet lCurrencySlice = this.lCurrency.slice();\r\n\t\tlocalStorage.setItem('lCurrency', JSON.stringify(lCurrencySlice));\r\n\t\tthis.currencyChanged.next(lCurrencySlice);\r\n\t}\r\n\r\n\tsetLCategory(lCategory: Rubro[]) {\r\n\t\tfor (let key in lCategory) {\r\n\t\t\tlet category: Rubro = Object.assign(new Rubro(), lCategory[key]);\r\n\t\t\tlCategory[key] = category;\r\n\t\t}\r\n\t\tthis.lCategory = lCategory;\r\n\t\tlet lCategorySlice = this.lCategory.slice();\r\n\t\tlocalStorage.setItem('lCategory', JSON.stringify(lCategorySlice));\r\n\t\tthis.categoryChanged.next(lCategorySlice);\r\n\t}\r\n\r\n\tsetLLanguage(lLanguage: Idioma[]) {\r\n\t\tthis.lLanguage = lLanguage;\r\n\t\tlet lLanguageSlice = this.lLanguage ? this.lLanguage.slice() : this.lLanguage;\r\n\t\tlocalStorage.setItem('lLanguage', JSON.stringify(lLanguageSlice));\r\n\t\tthis.languageChanged.next(lLanguageSlice);\r\n\t}\r\n\r\n\tsetLExchangeRate(lExchangeRate: TasaCambio[]) {\r\n\t\tfor (let key in lExchangeRate) {\r\n\t\t\tlet exchangeRate: TasaCambio = Object.assign(new TasaCambio(), lExchangeRate[key]);\r\n\t\t\tlExchangeRate[key] = exchangeRate;\r\n\t\t}\r\n\t\tthis.lExchangeRate = lExchangeRate;\r\n\t\tlet lExchangeRateSlice = this.lExchangeRate\r\n\t\t\t? this.lExchangeRate.slice()\r\n\t\t\t: this.lExchangeRate;\r\n\t\tlocalStorage.setItem('lExchangeRate', JSON.stringify(lExchangeRateSlice));\r\n\t\tthis.exchangeRateChanged.next(lExchangeRateSlice);\r\n\t}\r\n\r\n\tsetLProcess(lProcess: Proceso[]) {\r\n\t\tfor (let key in lProcess) {\r\n\t\t\tlet process: Proceso = Object.assign(new Proceso(), lProcess[key]);\r\n\t\t\tlProcess[key] = process;\r\n\t\t}\r\n\t\tthis.lProcess = lProcess;\r\n\t\tlet lProcessSlice = this.lProcess ? this.lProcess.slice() : this.lProcess;\r\n\t\tlocalStorage.setItem('lProcess', JSON.stringify(lProcessSlice));\r\n\t\tthis.processChanged.next(lProcessSlice);\r\n\t}\r\n\r\n\tsearchLCurrency() {\r\n\t\tlet lCurrency = localStorage.getItem('lCurrency');\r\n\t\tif (!lCurrency || lCurrency === 'undefined') {\r\n\t\t\tthis.getCurrencies();\r\n\t\t} else {\r\n\t\t\tthis.setLCurrencies(JSON.parse(lCurrency));\r\n\t\t}\r\n\t}\r\n\r\n\tsearchLLanguage() {\r\n\t\tlet lLanguage = localStorage.getItem('lLanguage');\r\n\t\tif (!lLanguage || lLanguage === 'undefined') {\r\n\t\t\tthis.getLanguages();\r\n\t\t} else {\r\n\t\t\tthis.setLLanguage(JSON.parse(lLanguage));\r\n\t\t}\r\n\t}\r\n\r\n\tsearchLCategory() {\r\n\t\tlet lCategory = localStorage.getItem('lCategory');\r\n\t\tif (!lCategory || lCategory === 'undefined') {\r\n\t\t\tthis.getCategories();\r\n\t\t} else {\r\n\t\t\tthis.setLCategory(JSON.parse(lCategory));\r\n\t\t}\r\n\t}\r\n\r\n\tsearchLExchangeRate() {\r\n\t\tlet searchER: boolean = false;\r\n\t\tlet searchDate = DateUtil.getMomentTimeZone();\r\n\t\t// let searchDay = searchDate.date();\r\n\t\tlet lExchangeRateString: string = localStorage.getItem('lExchangeRate');\r\n\t\tlet lExchangeRate: TasaCambio[] = [];\r\n\t\tif (\r\n\t\t\tlExchangeRateString &&\r\n\t\t\tlExchangeRateString != 'undefined' &&\r\n\t\t\tlExchangeRateString.length > 0\r\n\t\t) {\r\n\t\t\tlExchangeRate = JSON.parse(lExchangeRateString);\r\n\t\t\tif (lExchangeRate && lExchangeRate.length > 0) {\r\n\t\t\t\tlet dayER: string = DateUtil.getFormatDateTimeZone(lExchangeRate[0].tcamFecha);\r\n\t\t\t\tif (!DateUtil.isDayEqualString(searchDate.format(), dayER)) {\r\n\t\t\t\t\tsearchER = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tsearchER = true;\r\n\t\t}\r\n\t\tif (searchER || !lExchangeRate || lExchangeRate.length == 0) {\r\n\t\t\tthis.getExchangeRate(searchDate.format('YYYY-MM-DD') + ' 00:00:00');\r\n\t\t} else {\r\n\t\t\tthis.setLExchangeRate(lExchangeRate);\r\n\t\t}\r\n\t}\r\n\r\n\tsearchLProcess() {\r\n\t\tlet lProcess = localStorage.getItem('lProcess');\r\n\t\tif (!lProcess || lProcess === 'undefined') {\r\n\t\t\tthis.getProcess();\r\n\t\t} else {\r\n\t\t\tthis.setLProcess(JSON.parse(lProcess));\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * It returns\r\n\t * @param html\r\n\t */\r\n\tgetBase64Pdf(requestPdf: RequestPdf): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'pdf/getBase64Pdf',\r\n\t\t\trequestPdf,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * It returns a pdf\r\n\t * @param lPdfRequest\r\n\t */\r\n\tgetBase64PdfList(lPdfRequest: RequestPdf[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'pdf/getBase64PdfList',\r\n\t\t\tlPdfRequest,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * It returns\r\n\t * @param html\r\n\t */\r\n\tgetBase64PdfByUrl(urlFile: string): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'pdf/getBase64PdfByUrl',\r\n\t\t\turlFile,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * It returns\r\n\t * @param urlFile\r\n\t */\r\n\tgetBase64ImageByUrl(urlFile: string): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'pdf/getBase64ImageByUrl',\r\n\t\t\turlFile,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** Get the actual date */\r\n\tgetActualDate(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'configuration/getActualDate'\r\n\t\t);\r\n\t}\r\n\r\n\t/** Get the actual date */\r\n\tvalidateCloseApplicationProcess(\r\n\t\tpromCodigo: number,\r\n\t\tappStateId: number,\r\n\t\tcnfIniStateId?: number\r\n\t): Observable<any> {\r\n\t\tlet params = new HttpParams()\r\n\t\t\t.set('promCodigo', promCodigo.toString())\r\n\t\t\t.set('appStateId', appStateId.toString());\r\n\t\tif (cnfIniStateId != undefined) {\r\n\t\t\tparams.set('cnfIniStateId', cnfIniStateId.toString());\r\n\t\t}\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'configuration/validateCloseApplicationProcess',\r\n\t\t\t{\r\n\t\t\t\tparams\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { OnInit, ChangeDetectorRef, Inject, LOCALE_ID, Component } from '@angular/core';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport {\r\n\tUtilString,\r\n\tMoneda,\r\n\tTasaCambio,\r\n\tSelectItem,\r\n\tRubro,\r\n\tprimeLocaleEs,\r\n\tIdioma,\r\n\tProceso,\r\n\tEPermission,\r\n\tDateUtil\r\n} from 'ng-pli-util';\r\nimport { CommonService } from '../services/common.service';\r\nimport { FormUtil } from '../utils/form-util';\r\n\r\n@Component({\r\n selector: 'app-administration',\r\n template: ''\r\n})\r\nexport abstract class CommonListsComponent implements OnInit {\r\n\t/** Static per page label */\r\n\tstatic LABEL_RECORDS_PER_PAGE: string = 'Registros por página';\r\n\r\n\t/** */\r\n\t@Inject(LOCALE_ID) public locale: string;\r\n\t/** List of currency */\r\n\tlCurrency: Moneda[];\r\n\t/** List of currency */\r\n\tlSICurrency: SelectItem[];\r\n\t/** The subscription of the currencies */\r\n\r\n\t/** List of categories */\r\n\tlCategory: Rubro[];\r\n\t/** List of category */\r\n\tlSICategory: SelectItem[];\r\n\t/** The subscription of the categories */\r\n\r\n\t/** List of categories */\r\n\tlExchangeRate: TasaCambio[];\r\n\t/** List of exchange rate by ISO origin - destiny: USD-COP */\r\n\tlIsoExchangeRate: any;\r\n\t/** */\r\n\tprimeLocaleEs: any;\r\n\r\n\t/** List of language */\r\n\tlLanguage: Idioma[];\r\n\r\n\t/** List of Process */\r\n\tlProcess: Proceso[];\r\n\t/** List of process */\r\n\tlSIProcess: SelectItem[];\r\n\t/** getMoment moment instance */\r\n\tactualDate: any;\r\n\r\n\tconstructor(protected commonService: CommonService, protected cdRef: ChangeDetectorRef) {}\r\n\r\n\tngOnInit() {\r\n\t\tthis.onCurrencyInit();\r\n\t\tthis.primeLocaleEs = primeLocaleEs;\r\n\t}\r\n\r\n\t/** It prints the monCode */\r\n\tprivate printCurrencyCode(currency: Moneda): string {\r\n\t\treturn currency.monCodigoIso + '-' + currency.monMoneda;\r\n\t}\r\n\r\n\t/**\r\n\t * Init the info of currencies\r\n\t */\r\n\tonCurrencyInit() {\r\n\t\t// Subcription to the currency Subject\r\n\t\tthis.commonService.onCurrencyChanged().subscribe((lCurrency: Moneda[]) => {\r\n\t\t\tif (lCurrency) {\r\n\t\t\t\tthis.lCurrency = lCurrency;\r\n\t\t\t\tthis.lSICurrency = [];\r\n\t\t\t\tfor (let key in this.lCurrency) {\r\n\t\t\t\t\tlet currency: Moneda = this.lCurrency[key];\r\n\t\t\t\t\tthis.lSICurrency.push({\r\n\t\t\t\t\t\tlabel: this.printCurrencyCode(currency),\r\n\t\t\t\t\t\tvalue: currency\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\t// Subcription to the category Subject\r\n\t\tthis.commonService.onCategoryChanged().subscribe((lCategory: Rubro[]) => {\r\n\t\t\tif (lCategory) {\r\n\t\t\t\tthis.lCategory = lCategory;\r\n\t\t\t\tthis.lSICategory = [];\r\n\t\t\t\tfor (let key in this.lCategory) {\r\n\t\t\t\t\tlet category: Rubro = this.lCategory[key];\r\n\t\t\t\t\tthis.lSICategory.push({\r\n\t\t\t\t\t\tlabel: category.rubRubro,\r\n\t\t\t\t\t\tvalue: category\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\t// Subcription to the language Subject\r\n\t\tthis.commonService.onLanguageChanged().subscribe((lLanguage: Idioma[]) => {\r\n\t\t\tif (lLanguage) {\r\n\t\t\t\tthis.lLanguage = lLanguage;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// Subcription to the category Subject\r\n\t\tthis.commonService.onExchangeRateChanged().subscribe((lExchangeRate: TasaCambio[]) => {\r\n\t\t\tif (lExchangeRate) {\r\n\t\t\t\tthis.lExchangeRate = lExchangeRate;\r\n\t\t\t\tthis.adjustmentIsoExchange();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// Subcription to the category Subject\r\n\t\tthis.commonService.onProcessChanged().subscribe((lProcess: Proceso[]) => {\r\n\t\t\tif (lProcess) {\r\n\t\t\t\tthis.lProcess = lProcess;\r\n\t\t\t\tthis.lSIProcess = [];\r\n\t\t\t\tfor (let key in this.lProcess) {\r\n\t\t\t\t\tlet process: Proceso = this.lProcess[key];\r\n\t\t\t\t\tthis.lSIProcess.push({\r\n\t\t\t\t\t\tlabel: process.proNombre,\r\n\t\t\t\t\t\tvalue: process\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\tthis.commonService.initValues();\r\n\t}\r\n\r\n\tadjustmentIsoExchange() {\r\n\t\t// let i = 0;\r\n\t\tlet lIsoExchage = [];\r\n\t\tfor (let key in this.lExchangeRate) {\r\n\t\t\tlet exchangeRate: TasaCambio = this.lExchangeRate[key];\r\n\t\t\tlet isoExchage = [];\r\n\t\t\tif (lIsoExchage[exchangeRate.monedaOrigen.monCodigoIso] !== undefined) {\r\n\t\t\t\tisoExchage = lIsoExchage[exchangeRate.monedaOrigen.monCodigoIso];\r\n\t\t\t}\r\n\t\t\tisoExchage[exchangeRate.monedaDestino.monCodigoIso] = exchangeRate;\r\n\t\t\tlIsoExchage[exchangeRate.monedaOrigen.monCodigoIso] = isoExchage;\r\n\t\t\t// console.log(i);\r\n\t\t\t// i++;\r\n\t\t}\r\n\t\tif (lIsoExchage) {\r\n\t\t\tthis.lIsoExchangeRate = [];\r\n\t\t\tfor (let key in lIsoExchage) {\r\n\t\t\t\tfor (let keyIso in lIsoExchage[key]) {\r\n\t\t\t\t\tlet exchangeRate: TasaCambio = lIsoExchage[key][keyIso];\r\n\t\t\t\t\tthis.lIsoExchangeRate[key + '-' + keyIso] = exchangeRate.tcamTasaCambio;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/** It returns a boolean if the control has any error */\r\n\thasErrors(formControl: FormControl): boolean {\r\n\t\treturn FormUtil.hasErrors(formControl);\r\n\t}\r\n\t/** It returns a boolean if the control has a specific error */\r\n\thasError(formControl: FormControl, error: string): boolean {\r\n\t\treturn FormUtil.hasError(formControl, error);\r\n\t}\r\n\r\n\t/** It validates if form is valid */\r\n\tisFormValid(formGroup: FormGroup): boolean {\r\n\t\tFormUtil.validateFormFields(formGroup);\r\n\t\tif (formGroup.valid) {\r\n\t\t\treturn true;\r\n\t\t} else {\r\n\t\t\tconsole.log('Invalid controls: ', FormUtil.getInvalidControls(formGroup));\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\r\n\tcopyMessage(val: string) {\r\n\t\tUtilString.copyMessage(val);\r\n\t}\r\n\r\n\t// ngOnDestroy() {\r\n\t// try {\r\n\t// this.commonService.currencyChanged.unsubscribe();\r\n\t// } catch (error) {\r\n\t// console.log(\"commonService.currencyChanged.unsubscribe\", error);\r\n\t// }\r\n\t// try {\r\n\t// this.commonService.categoryChanged.unsubscribe();\r\n\t// } catch (error) {\r\n\t// console.log(\"commonService.categoryChanged.unsubscribe\", error);\r\n\t// }\r\n\t// try {\r\n\t// this.commonService.exchangeRateChanged.unsubscribe();\r\n\t// } catch (error) {\r\n\t// console.log(\"commonService.exchangeRateChanged.unsubscribe\", error);\r\n\t// }\r\n\t// }\r\n\t/** returns the permission according to x */\r\n\tp(x) {\r\n\t\treturn EPermission[x];\r\n\t}\r\n\r\n\tcloneObject(obj) {\r\n\t\tif (null == obj || 'object' != typeof obj) return obj;\r\n\t\tvar copy = obj.constructor();\r\n\t\tfor (var attr in obj) {\r\n\t\t\tif (obj.hasOwnProperty(attr)) copy[attr] = this.cloneObject(obj[attr]);\r\n\t\t}\r\n\t\treturn copy;\r\n\t}\r\n\r\n\tgetActualDate(reload: boolean = false): Promise<string> {\r\n\t\treload = reload === undefined ? !UtilString.isValid(this.actualDate) : reload;\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tif (reload) {\r\n\t\t\t\tthis.commonService.getActualDate().subscribe(\r\n\t\t\t\t\t(actualDate: string) => {\r\n\t\t\t\t\t\tthis.actualDate = actualDate;\r\n\t\t\t\t\t\tresolve(actualDate);\r\n\t\t\t\t\t},\r\n\t\t\t\t\t(error) => {\r\n\t\t\t\t\t\treject(error);\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t} else {\r\n\t\t\t\tresolve(this.actualDate);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tget timeZoneBogota(): string {\r\n\t\treturn DateUtil.UTC_AMERICA_BOGOTA;\r\n\t}\r\n\r\n\tget utcBogota(): string {\r\n\t\treturn DateUtil.UTC_AMERICA_BOGOTA;\r\n\t}\r\n}\r\n","// import * as utils_ from 'formiojs-proyectoscolfuturo/utils/utils';\r\nimport * as utils_ from 'formiojs-colfuturo/utils/utils';\r\nimport { IfStmt } from '@angular/compiler';\r\nimport { TokenService } from '../services/token.service';\r\nimport { EFormioKey } from 'ng-pli-util';\r\nconst utils = utils_;\r\n\r\nexport class FormioUtil {\r\n\t/**\r\n\t * It returns the components formated by panel\r\n\t * @param components\r\n\t * @return the object is [{panel: , items: [{ value: , label: }]}]\r\n\t */\r\n\tstatic getFormattedComponentsByPanel(components): any[] {\r\n\t\tlet result = [];\r\n\t\tif (components) {\r\n\t\t\tlet group = null;\r\n\t\t\tlet object = null;\r\n\t\t\tfor (const component of components) {\r\n\t\t\t\tif (component[EFormioKey.TITLE_PANEL] !== group) {\r\n\t\t\t\t\tif (group !== null) {\r\n\t\t\t\t\t\tresult.push(object);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tobject = { label: component[EFormioKey.TITLE_PANEL], items: [], toggle: false };\r\n\t\t\t\t\tgroup = component[EFormioKey.TITLE_PANEL];\r\n\t\t\t\t}\r\n\t\t\t\tobject.items.push({\r\n\t\t\t\t\tlabel: component[EFormioKey.LABEL],\r\n\t\t\t\t\tvalue: component[EFormioKey.KEY]\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tif (group !== null) result.push(object);\r\n\t\t}\r\n\t\treturn result;\r\n\t}\r\n\tstatic getSelectBoxes(selectBoxe) {\r\n\t\tvar istrue = false;\r\n\r\n\t\tif (selectBoxe != undefined && selectBoxe != null && typeof selectBoxe === 'object') {\r\n\t\t\tlet dataHasTrue = Object.values(selectBoxe);\r\n\r\n\t\t\tdataHasTrue.forEach(function (value) {\r\n\t\t\t\tif (typeof value === 'boolean' && value) {\r\n\t\t\t\t\tistrue = value;\r\n\t\t\t\t\treturn value;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t// Expected output: Array [\"somestring\", 42, false]\r\n\r\n\t\treturn istrue;\r\n\t}\r\n\r\n\t/**\r\n\t * It returns the components are required according with data\r\n\t * @param components array of components\r\n\t * @param data\r\n\t */\r\n\tstatic getRequiredComponentsByData(components, data) {\r\n\t\t// get the required components\r\n\r\n\t\tlet array = FormioUtil.getRequiredComponents(components);\r\n\r\n\t\t// if not data then return components\r\n\t\tif (data && array) {\r\n\t\t\tfor (let i = 0; i < array.length; i++) {\r\n\t\t\t\tconst component = array[i];\r\n\t\t\t\t// use formio to check condition according with data\r\n\t\t\t\tif (utils.checkCondition(component, null, data, null, null)) {\r\n\t\t\t\t\tconst key = component[EFormioKey.KEY];\r\n\r\n\t\t\t\t\tif (Array.isArray(data[key]) && data[key].length > 0) {\r\n\t\t\t\t\t\t// remove item from array\r\n\t\t\t\t\t\tarray.splice(i, 1);\r\n\t\t\t\t\t\ti--;\r\n\t\t\t\t\t} else if (\r\n\t\t\t\t\t\ttypeof data[key] === 'object' &&\r\n\t\t\t\t\t\t!Object.prototype.hasOwnProperty.call(data[key], 'formatted_address') &&\r\n\t\t\t\t\t\t!Object.prototype.hasOwnProperty.call(data[key], 'callingCodes') &&\r\n\t\t\t\t\t\t!Object.prototype.hasOwnProperty.call(data[key], 'nativeName') &&\r\n\t\t\t\t\t\t!Object.prototype.hasOwnProperty.call(data[key], 'original_name') &&\r\n\t\t\t\t\t\t(!Object.prototype.hasOwnProperty.call(data[key], 'fullName') || !Object.prototype.hasOwnProperty.call(data[key], 'fullname')) &&\r\n\t\t\t\t\t\tFormioUtil.getSelectBoxes(data[key])\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\t// remove item from array\r\n\t\t\t\t\t\tarray.splice(i, 1);\r\n\t\t\t\t\t\ti--;\r\n\t\t\t\t\t} else if (\r\n\t\t\t\t\t\ttypeof data[key] === 'object' &&\r\n\t\t\t\t\t\t!Object.prototype.hasOwnProperty.call(data[key], 'formatted_address') &&\r\n\t\t\t\t\t\t!Object.prototype.hasOwnProperty.call(data[key], 'callingCodes') &&\r\n\t\t\t\t\t\t!Object.prototype.hasOwnProperty.call(data[key], 'nativeName') &&\r\n\t\t\t\t\t\t!Object.prototype.hasOwnProperty.call(data[key], 'original_name') &&\r\n\t\t\t\t\t\t(!Object.prototype.hasOwnProperty.call(data[key], 'fullName') || !Object.prototype.hasOwnProperty.call(data[key], 'fullname')) &&\r\n\t\t\t\t\t\t!FormioUtil.getSelectBoxes(data[key])\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t} else if (data[key] != undefined && data[key] != null && data[key] != '') {\r\n\t\t\t\t\t\t// remove item from array\r\n\t\t\t\t\t\tarray.splice(i, 1);\r\n\t\t\t\t\t\ti--;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\tcomponent.customConditional &&\r\n\t\t\t\t\t\t\tcomponent.customConditional.includes('show')\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t// remove item from array\r\n\t\t\t\t\t\t\tarray.splice(i, 1);\r\n\t\t\t\t\t\t\ti--;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// remove item from array\r\n\t\t\t\t\tarray.splice(i, 1);\r\n\t\t\t\t\ti--;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn array;\r\n\t}\r\n\r\n\t/**\r\n\t * It returns the components that are required\r\n\t * @param components array of components\r\n\t */\r\n\tstatic getUniqueComponents(components) {\r\n\t\treturn FormioUtil.getComponentsByFeature(components, [EFormioKey.UNIQUE], true);\r\n\t}\r\n\r\n\t/**\r\n\t * It returns the components that are required\r\n\t * @param components array of components\r\n\t */\r\n\tstatic getRequiredComponents(components) {\r\n\t\treturn FormioUtil.getComponentsByFeature(\r\n\t\t\tcomponents,\r\n\t\t\t[EFormioKey.VALIDATE, EFormioKey.REQUIRED],\r\n\t\t\ttrue\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * It returns the components that have a specific feature defined by properties and value\r\n\t * @param components array of components\r\n\t * @param properties path of properties example [validate, required] or [unique]\r\n\t * @param value the value that should have the property\r\n\t */\r\n\tprivate static getComponentsByFeature(components: any[], properties: string[], value: any) {\r\n\t\tlet result = [];\r\n\t\tif (properties && properties.length > 0) {\r\n\t\t\t// get components\r\n\t\t\tconst fields: any[] = FormioUtil.getComponents(components);\r\n\r\n\t\t\t// get first and last property\r\n\t\t\tconst firstProperty = properties[0];\r\n\t\t\tconst lastProperty = properties[properties.length - 1];\r\n\r\n\t\t\tif (fields) {\r\n\t\t\t\t// iterate the fields\r\n\t\t\t\tfor (let i = 0; i < fields.length; i++) {\r\n\t\t\t\t\t// it contains the entire object field\r\n\t\t\t\t\tconst field = fields[i];\r\n\t\t\t\t\t// it contains the current component and it is gonna be the component of every property\r\n\t\t\t\t\tlet component = field;\r\n\t\t\t\t\tif (field[firstProperty]) {\r\n\t\t\t\t\t\tfor (let j = 0; j < properties.length; j++) {\r\n\t\t\t\t\t\t\tconst property = properties[j];\r\n\t\t\t\t\t\t\t// if component.property doesnt exist then break\r\n\t\t\t\t\t\t\tif (!component[property]) break;\r\n\t\t\t\t\t\t\tif (property === lastProperty) {\r\n\t\t\t\t\t\t\t\t// it is the last property so if the value is equals to component.lastproperty then it is added to result\r\n\t\t\t\t\t\t\t\tif (component[property] == value) result.push(field);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t// otherwise component will be equal to the component.property\r\n\t\t\t\t\t\t\t\tcomponent = component[property];\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn result;\r\n\t}\r\n\r\n\t/**\r\n\t * It returns the components\r\n\t * @param components\r\n\t */\r\n\tstatic getComponents(components: any[]): any[] {\r\n\t\treturn FormioUtil.getComponentsByRecursion(components, '', null);\r\n\t}\r\n\r\n\t/**\r\n\t * It returns the components array of the form by recursion\r\n\t * @param components array of components\r\n\t * @param titlePanel name of parent panel, so children components will inherit the panelName\r\n\t * @param conditionalObject conditional object it will be inherited from panel {conditional: { eq: , value: , when: , json: }, customConditional: }\r\n\t */\r\n\tprivate static getComponentsByRecursion(\r\n\t\tcomponents: any[],\r\n\t\ttitlePanel: string,\r\n\t\tconditionalParent: any\r\n\t): any[] {\r\n\t\t// it contains the result array\r\n\t\tlet result = [];\r\n\t\tif (components) {\r\n\t\t\t// iterate over components\r\n\t\t\tfor (const component of components) {\r\n\t\t\t\t// avoid the editgrid component ot if it has a different behavior it should have an else statement\r\n\t\t\t\tif (component[EFormioKey.TYPE] !== EFormioKey.EDITGRID) {\r\n\t\t\t\t\t// if component is panel then titlePanel variable is changed, and it is gonna be inherited\r\n\t\t\t\t\tif (component[EFormioKey.TYPE] === EFormioKey.PANEL) {\r\n\t\t\t\t\t\ttitlePanel = component[EFormioKey.TITLE];\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\t(typeof component[EFormioKey.COMPONENTS] !== 'undefined' ||\r\n\t\t\t\t\t\t\ttypeof component[EFormioKey.COLUMNS] !== 'undefined') &&\r\n\t\t\t\t\t\t(typeof component[EFormioKey.TYPE] == 'undefined' ||\r\n\t\t\t\t\t\t\tcomponent[EFormioKey.TYPE] !== EFormioKey.TYPE_ADDRESS)\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tif (component['type'] !== 'address') {\r\n\t\t\t\t\t\t\t// resolve conditional parent conditional\r\n\t\t\t\t\t\t\tconst conditional = this.resolveInheritanceConditional(\r\n\t\t\t\t\t\t\t\tconditionalParent,\r\n\t\t\t\t\t\t\t\tcomponent[EFormioKey.CONDITIONAL],\r\n\t\t\t\t\t\t\t\tcomponent[EFormioKey.CUSTOM_CONDITIONAL],\r\n\t\t\t\t\t\t\t\tcomponent[EFormioKey.ID]\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t// change condition\r\n\t\t\t\t\t\t\tif (conditional) conditionalParent = conditional;\r\n\t\t\t\t\t\t\t// it contains the subcomponents depending on the value of component if it has components or columns\r\n\t\t\t\t\t\t\tlet subComponents =\r\n\t\t\t\t\t\t\t\ttypeof component[EFormioKey.COMPONENTS] !== 'undefined'\r\n\t\t\t\t\t\t\t\t\t? component[EFormioKey.COMPONENTS]\r\n\t\t\t\t\t\t\t\t\t: component[EFormioKey.COLUMNS];\r\n\t\t\t\t\t\t\t// if component has subComponents, then execute the recursion function to get the recursionnResult\r\n\t\t\t\t\t\t\tconst recursionResult = FormioUtil.getComponentsByRecursion(\r\n\t\t\t\t\t\t\t\tsubComponents,\r\n\t\t\t\t\t\t\t\ttitlePanel,\r\n\t\t\t\t\t\t\t\tconditionalParent\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t// if recursion result then result concats the recursionResult\r\n\t\t\t\t\t\t\tif (recursionResult) result = result.concat(recursionResult);\r\n\t\t\t\t\t\t\t// reset conditional Parent\r\n\t\t\t\t\t\t\tif (component[EFormioKey.ID] == conditionalParent.id)\r\n\t\t\t\t\t\t\t\tconditionalParent = undefined;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tresult.push(component);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// avoid the component type button\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\tcomponent[EFormioKey.TYPE] !== EFormioKey.BUTTON &&\r\n\t\t\t\t\t\t\tcomponent[EFormioKey.KEY] &&\r\n\t\t\t\t\t\t\tcomponent[EFormioKey.LABEL]\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t// resolve conditional conditional object\r\n\t\t\t\t\t\t\tlet conditional = this.resolveInheritanceConditional(\r\n\t\t\t\t\t\t\t\tconditionalParent,\r\n\t\t\t\t\t\t\t\tcomponent[EFormioKey.CONDITIONAL],\r\n\t\t\t\t\t\t\t\tcomponent[EFormioKey.CUSTOM_CONDITIONAL],\r\n\t\t\t\t\t\t\t\tcomponent[EFormioKey.ID]\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tif (!conditional) conditional = conditionalParent;\r\n\t\t\t\t\t\t\tcomponent[EFormioKey.CONDITIONAL] = conditional[EFormioKey.CONDITIONAL];\r\n\t\t\t\t\t\t\tcomponent[EFormioKey.CUSTOM_CONDITIONAL] =\r\n\t\t\t\t\t\t\t\tconditional[EFormioKey.CUSTOM_CONDITIONAL];\r\n\t\t\t\t\t\t\t// add namPanel as property\r\n\t\t\t\t\t\t\tcomponent[EFormioKey.TITLE_PANEL] = titlePanel;\r\n\t\t\t\t\t\t\t// add component to the result\r\n\t\t\t\t\t\t\tresult.push(component);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t} else if (component[EFormioKey.TYPE] === EFormioKey.EDITGRID) {\r\n\t\t\t\t\tif (component.validate.required) {\r\n\t\t\t\t\t\tresult.push(component);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn result;\r\n\t}\r\n\r\n\t/**\r\n\t * It returns the components\r\n\t * @param components\r\n\t * @param keepEditGrids\r\n\t */\r\n\tstatic getComponentsWithEditGrids(components: any[]): any[] {\r\n\t\treturn FormioUtil.getComponentsByRecursionWithEditGrids(components, '', null);\r\n\t}\r\n\r\n\t/**\r\n\t * It returns the components array of the form by recursion\r\n\t * @param components array of components\r\n\t * @param titlePanel name of parent panel, so children components will inherit the panelName\r\n\t * @param conditionalObject conditional object it will be inherited from panel {conditional: { eq: , value: , when: , json: }, customConditional: }\r\n\t */\r\n\tprivate static getComponentsByRecursionWithEditGrids(\r\n\t\tcomponents: any[],\r\n\t\ttitlePanel: string,\r\n\t\tconditionalParent: any\r\n\t): any[] {\r\n\t\t// it contains the result array\r\n\t\tlet result = [];\r\n\t\tif (components) {\r\n\t\t\t// iterate over components\r\n\t\t\tfor (const component of components) {\r\n\t\t\t\t// avoid the editgrid component ot if it has a different behavior it should have an else statement\r\n\r\n\t\t\t\t// if component is panel then titlePanel variable is changed, and it is gonna be inherited\r\n\t\t\t\tif (component[EFormioKey.TYPE] === EFormioKey.PANEL) {\r\n\t\t\t\t\ttitlePanel = component[EFormioKey.TITLE];\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (\r\n\t\t\t\t\t(typeof component[EFormioKey.COMPONENTS] !== 'undefined' ||\r\n\t\t\t\t\t\ttypeof component[EFormioKey.COLUMNS] !== 'undefined') &&\r\n\t\t\t\t\t(typeof component[EFormioKey.TYPE] == 'undefined' ||\r\n\t\t\t\t\t\tcomponent[EFormioKey.TYPE] !== EFormioKey.TYPE_ADDRESS)\r\n\t\t\t\t) {\r\n\t\t\t\t\t// resolve conditional parent conditional\r\n\t\t\t\t\tconst conditional = this.resolveInheritanceConditional(\r\n\t\t\t\t\t\tconditionalParent,\r\n\t\t\t\t\t\tcomponent[EFormioKey.CONDITIONAL],\r\n\t\t\t\t\t\tcomponent[EFormioKey.CUSTOM_CONDITIONAL],\r\n\t\t\t\t\t\tcomponent[EFormioKey.ID]\r\n\t\t\t\t\t);\r\n\t\t\t\t\t// change condition\r\n\t\t\t\t\tif (conditional) conditionalParent = conditional;\r\n\t\t\t\t\t// it contains the subcomponents depending on the value of component if it has components or columns\r\n\t\t\t\t\tlet subComponents =\r\n\t\t\t\t\t\ttypeof component[EFormioKey.COMPONENTS] !== 'undefined'\r\n\t\t\t\t\t\t\t? component[EFormioKey.COMPONENTS]\r\n\t\t\t\t\t\t\t: component[EFormioKey.COLUMNS];\r\n\r\n\t\t\t\t\tif (component[EFormioKey.TYPE] === EFormioKey.EDITGRID) {\r\n\t\t\t\t\t\tcomponent[EFormioKey.TITLE_PANEL] = titlePanel;\r\n\t\t\t\t\t\tresult.push(component);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// if component has subComponents, then execute the recursion function to get the recursionnResult\r\n\t\t\t\t\tconst recursionResult = FormioUtil.getComponentsByRecursionWithEditGrids(\r\n\t\t\t\t\t\tsubComponents,\r\n\t\t\t\t\t\ttitlePanel,\r\n\t\t\t\t\t\tconditionalParent\r\n\t\t\t\t\t);\r\n\t\t\t\t\t// if recursion result then result concats the recursionResult\r\n\t\t\t\t\tif (recursionResult) result = result.concat(recursionResult);\r\n\t\t\t\t\t// reset conditional Parent\r\n\t\t\t\t\tif (component[EFormioKey.ID] == conditionalParent.id)\r\n\t\t\t\t\t\tconditionalParent = undefined;\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// avoid the component type button\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tcomponent[EFormioKey.TYPE] !== EFormioKey.BUTTON &&\r\n\t\t\t\t\t\tcomponent[EFormioKey.KEY] &&\r\n\t\t\t\t\t\tcomponent[EFormioKey.LABEL]\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\t// resolve conditional conditional object\r\n\t\t\t\t\t\tlet conditional = this.resolveInheritanceConditional(\r\n\t\t\t\t\t\t\tconditionalParent,\r\n\t\t\t\t\t\t\tcomponent[EFormioKey.CONDITIONAL],\r\n\t\t\t\t\t\t\tcomponent[EFormioKey.CUSTOM_CONDITIONAL],\r\n\t\t\t\t\t\t\tcomponent[EFormioKey.ID]\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t\tif (!conditional) conditional = conditionalParent;\r\n\t\t\t\t\t\tcomponent[EFormioKey.CONDITIONAL] = conditional[EFormioKey.CONDITIONAL];\r\n\t\t\t\t\t\tcomponent[EFormioKey.CUSTOM_CONDITIONAL] =\r\n\t\t\t\t\t\t\tconditional[EFormioKey.CUSTOM_CONDITIONAL];\r\n\t\t\t\t\t\t// add namPanel as property\r\n\t\t\t\t\t\tcomponent[EFormioKey.TITLE_PANEL] = titlePanel;\r\n\t\t\t\t\t\t// add component to the result\r\n\t\t\t\t\t\tresult.push(component);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn result;\r\n\t}\r\n\r\n\t/**\r\n\t * It resolve the inheritance conditional\r\n\t * @param conditionalObject\r\n\t * @param conditional\r\n\t * @param customConditional\r\n\t */\r\n\tprivate static resolveInheritanceConditional(\r\n\t\tconditionalObject,\r\n\t\tconditional,\r\n\t\tcustomConditional,\r\n\t\tparentId\r\n\t): any {\r\n\t\t// validate if there is a condition with the new fields\r\n\t\tif (\r\n\t\t\t!conditionalObject ||\r\n\t\t\tcustomConditional ||\r\n\t\t\t(conditional && conditional[EFormioKey.WHEN] && conditional[EFormioKey.EQ]) ||\r\n\t\t\t(conditional && conditional[EFormioKey.JSON])\r\n\t\t) {\r\n\t\t\treturn { conditional: conditional, customConditional: customConditional, id: parentId };\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\r\n\t/**\r\n\t * It returns the edit grid components\r\n\t * @param components\r\n\t */\r\n\tstatic getEditGridKeyLabels(components: any[]): any[] {\r\n\t\treturn FormioUtil.getEditGridKeyLabelsByRecursion(components, '', null);\r\n\t}\r\n\r\n\t/**\r\n\t * It returns the components edit grid array of the form by recursion\r\n\t * @param components array of components\r\n\t * @param titlePanel name of parent panel, so children components will inherit the panelName\r\n\t * @param conditionalObject conditional object it will be inherited from panel {conditional: { eq: , value: , when: , json: }, customConditional: }\r\n\t */\r\n\tprivate static getEditGridKeyLabelsByRecursion(\r\n\t\tcomponents: any[],\r\n\t\ttitlePanel: string,\r\n\t\tconditionalParent: any\r\n\t): any[] {\r\n\t\t// it contains the result array\r\n\t\tlet result = [];\r\n\t\tif (components) {\r\n\t\t\t// iterate over components\r\n\t\t\tfor (const component of components) {\r\n\t\t\t\t// if component is panel then titlePanel variable is changed, and it is gonna be inherited\r\n\t\t\t\tif (component[EFormioKey.TYPE] === EFormioKey.PANEL) {\r\n\t\t\t\t\ttitlePanel = component[EFormioKey.TITLE];\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (\r\n\t\t\t\t\t(typeof component[EFormioKey.COMPONENTS] !== 'undefined' ||\r\n\t\t\t\t\t\ttypeof component[EFormioKey.COLUMNS] !== 'undefined') &&\r\n\t\t\t\t\t(typeof component[EFormioKey.TYPE] == 'undefined' ||\r\n\t\t\t\t\t\tcomponent[EFormioKey.TYPE] !== EFormioKey.TYPE_ADDRESS)\r\n\t\t\t\t) {\r\n\t\t\t\t\t// resolve conditional parent conditional\r\n\t\t\t\t\tconst conditional = this.resolveInheritanceConditional(\r\n\t\t\t\t\t\tconditionalParent,\r\n\t\t\t\t\t\tcomponent[EFormioKey.CONDITIONAL],\r\n\t\t\t\t\t\tcomponent[EFormioKey.CUSTOM_CONDITIONAL],\r\n\t\t\t\t\t\tcomponent[EFormioKey.ID]\r\n\t\t\t\t\t);\r\n\t\t\t\t\t// change condition\r\n\t\t\t\t\tif (conditional) conditionalParent = conditional;\r\n\t\t\t\t\t// it contains the subcomponents depending on the value of component if it has components or columns\r\n\t\t\t\t\tlet subComponents =\r\n\t\t\t\t\t\ttypeof component[EFormioKey.COMPONENTS] !== 'undefined'\r\n\t\t\t\t\t\t\t? component[EFormioKey.COMPONENTS]\r\n\t\t\t\t\t\t\t: component[EFormioKey.COLUMNS];\r\n\t\t\t\t\tif (component[EFormioKey.TYPE] == EFormioKey.EDITGRID) {\r\n\t\t\t\t\t\t// add namPanel as property\r\n\t\t\t\t\t\tcomponent[EFormioKey.TITLE_PANEL] = titlePanel;\r\n\t\t\t\t\t\t// add component to the result\r\n\t\t\t\t\t\tresult.push(component);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// if component has subComponents, then execute the recursion function to get the recursionnResult\r\n\t\t\t\t\t\tconst recursionResult = FormioUtil.getEditGridKeyLabelsByRecursion(\r\n\t\t\t\t\t\t\tsubComponents,\r\n\t\t\t\t\t\t\ttitlePanel,\r\n\t\t\t\t\t\t\tconditionalParent\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t\t// if recursion result then result concats the recursionResult\r\n\t\t\t\t\t\tif (recursionResult) result = result.concat(recursionResult);\r\n\t\t\t\t\t\t// reset conditional Parent\r\n\t\t\t\t\t\tif (component[EFormioKey.ID] == conditionalParent.id)\r\n\t\t\t\t\t\t\tconditionalParent = undefined;\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn result;\r\n\t}\r\n\r\n\t/**\r\n\t * It returns the components\r\n\t * @param components\r\n\t * @param keepEditGrids\r\n\t */\r\n\tstatic getComponentsIntoEditGrids(components: any[], editGridName: string): any[] {\r\n\t\treturn FormioUtil.getComponentsByRecursionIntoEditGrids(\r\n\t\t\tcomponents,\r\n\t\t\t'',\r\n\t\t\tnull,\r\n\t\t\teditGridName,\r\n\t\t\tfalse\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * It returns the components array of the form by recursion\r\n\t * @param components array of components\r\n\t * @param titlePanel name of parent panel, so children components will inherit the panelName\r\n\t * @param conditionalObject conditional object it will be inherited from panel {conditional: { eq: , value: , when: , json: }, customConditional: }\r\n\t */\r\n\tprivate static getComponentsByRecursionIntoEditGrids(\r\n\t\tcomponents: any[],\r\n\t\ttitlePanel: string,\r\n\t\tconditionalParent: any,\r\n\t\teditGridName: string,\r\n\t\texistEditGrid: boolean\r\n\t): any[] {\r\n\t\t// it contains the result array\r\n\t\tlet result = [];\r\n\t\tif (components) {\r\n\t\t\t// iterate over components\r\n\t\t\tfor (const component of components) {\r\n\t\t\t\t// avoid the editgrid component ot if it has a different behavior it should have an else statement\r\n\r\n\t\t\t\t// if component is panel then titlePanel variable is changed, and it is gonna be inherited\r\n\t\t\t\tif (component[EFormioKey.TYPE] === EFormioKey.PANEL) {\r\n\t\t\t\t\ttitlePanel = component[EFormioKey.TITLE];\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (\r\n\t\t\t\t\t(typeof component[EFormioKey.COMPONENTS] !== 'undefined' ||\r\n\t\t\t\t\t\ttypeof component[EFormioKey.COLUMNS] !== 'undefined') &&\r\n\t\t\t\t\t(typeof component[EFormioKey.TYPE] == 'undefined' ||\r\n\t\t\t\t\t\tcomponent[EFormioKey.TYPE] !== EFormioKey.TYPE_ADDRESS)\r\n\t\t\t\t) {\r\n\t\t\t\t\t// resolve conditional parent conditional\r\n\t\t\t\t\tconst conditional = this.resolveInheritanceConditional(\r\n\t\t\t\t\t\tconditionalParent,\r\n\t\t\t\t\t\tcomponent[EFormioKey.CONDITIONAL],\r\n\t\t\t\t\t\tcomponent[EFormioKey.CUSTOM_CONDITIONAL],\r\n\t\t\t\t\t\tcomponent[EFormioKey.ID]\r\n\t\t\t\t\t);\r\n\t\t\t\t\t// change condition\r\n\t\t\t\t\tif (conditional) conditionalParent = conditional;\r\n\t\t\t\t\t// it contains the subcomponents depending on the value of component if it has components or columns\r\n\t\t\t\t\tlet subComponents =\r\n\t\t\t\t\t\ttypeof component[EFormioKey.COMPONENTS] !== 'undefined'\r\n\t\t\t\t\t\t\t? component[EFormioKey.COMPONENTS]\r\n\t\t\t\t\t\t\t: component[EFormioKey.COLUMNS];\r\n\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tcomponent[EFormioKey.TYPE] === EFormioKey.EDITGRID &&\r\n\t\t\t\t\t\tcomponent['key'] == editGridName\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\texistEditGrid = true;\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t(typeof component[EFormioKey.COMPONENTS] !== 'undefined' ||\r\n\t\t\t\t\t\t\t\ttypeof component[EFormioKey.COLUMNS] !== 'undefined') &&\r\n\t\t\t\t\t\t\t(typeof component[EFormioKey.TYPE] == 'undefined' ||\r\n\t\t\t\t\t\t\t\tcomponent[EFormioKey.TYPE] !== EFormioKey.TYPE_ADDRESS)\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t// resolve conditional parent conditional\r\n\t\t\t\t\t\t\tconst conditional = this.resolveInheritanceConditional(\r\n\t\t\t\t\t\t\t\tconditionalParent,\r\n\t\t\t\t\t\t\t\tcomponent[EFormioKey.CONDITIONAL],\r\n\t\t\t\t\t\t\t\tcomponent[EFormioKey.CUSTOM_CONDITIONAL],\r\n\t\t\t\t\t\t\t\tcomponent[EFormioKey.ID]\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t// change condition\r\n\t\t\t\t\t\t\tif (conditional) conditionalParent = conditional;\r\n\t\t\t\t\t\t\t// it contains the subcomponents depending on the value of component if it has components or columns\r\n\t\t\t\t\t\t\tlet subComponents =\r\n\t\t\t\t\t\t\t\ttypeof component[EFormioKey.COMPONENTS] !== 'undefined'\r\n\t\t\t\t\t\t\t\t\t? component[EFormioKey.COMPONENTS]\r\n\t\t\t\t\t\t\t\t\t: component[EFormioKey.COLUMNS];\r\n\r\n\t\t\t\t\t\t\t// if component has subComponents, then execute the recursion function to get the recursionnResult\r\n\t\t\t\t\t\t\tconst recursionResult =\r\n\t\t\t\t\t\t\t\tFormioUtil.getComponentsByRecursionIntoEditGrids(\r\n\t\t\t\t\t\t\t\t\tsubComponents,\r\n\t\t\t\t\t\t\t\t\ttitlePanel,\r\n\t\t\t\t\t\t\t\t\tconditionalParent,\r\n\t\t\t\t\t\t\t\t\teditGridName,\r\n\t\t\t\t\t\t\t\t\texistEditGrid\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t// if recursion result then result concats the recursionResult\r\n\t\t\t\t\t\t\tif (recursionResult) result = result.concat(recursionResult);\r\n\t\t\t\t\t\t\t// reset conditional Parent\r\n\t\t\t\t\t\t\tif (component && conditionalParent) {\r\n\t\t\t\t\t\t\t\tif (component[EFormioKey.ID] == conditionalParent.id)\r\n\t\t\t\t\t\t\t\t\tconditionalParent = undefined;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t// avoid the component type button\r\n\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\tcomponent[EFormioKey.TYPE] !== EFormioKey.BUTTON &&\r\n\t\t\t\t\t\t\t\tcomponent[EFormioKey.KEY] &&\r\n\t\t\t\t\t\t\t\tcomponent[EFormioKey.LABEL] &&\r\n\t\t\t\t\t\t\t\texistEditGrid\r\n\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t// resolve conditional conditional object\r\n\t\t\t\t\t\t\t\tlet conditional = this.resolveInheritanceConditional(\r\n\t\t\t\t\t\t\t\t\tconditionalParent,\r\n\t\t\t\t\t\t\t\t\tcomponent[EFormioKey.CONDITIONAL],\r\n\t\t\t\t\t\t\t\t\tcomponent[EFormioKey.CUSTOM_CONDITIONAL],\r\n\t\t\t\t\t\t\t\t\tcomponent[EFormioKey.ID]\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tif (!conditional) conditional = conditionalParent;\r\n\t\t\t\t\t\t\t\tcomponent[EFormioKey.CONDITIONAL] =\r\n\t\t\t\t\t\t\t\t\tconditional[EFormioKey.CONDITIONAL];\r\n\t\t\t\t\t\t\t\tcomponent[EFormioKey.CUSTOM_CONDITIONAL] =\r\n\t\t\t\t\t\t\t\t\tconditional[EFormioKey.CUSTOM_CONDITIONAL];\r\n\t\t\t\t\t\t\t\t// add namPanel as property\r\n\t\t\t\t\t\t\t\tcomponent[EFormioKey.TITLE_PANEL] = titlePanel;\r\n\t\t\t\t\t\t\t\t// add component to the result\r\n\t\t\t\t\t\t\t\tresult.push(component);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// if component has subComponents, then execute the recursion function to get the recursionnResult\r\n\t\t\t\t\tconst recursionResult = FormioUtil.getComponentsByRecursionIntoEditGrids(\r\n\t\t\t\t\t\tsubComponents,\r\n\t\t\t\t\t\ttitlePanel,\r\n\t\t\t\t\t\tconditionalParent,\r\n\t\t\t\t\t\teditGridName,\r\n\t\t\t\t\t\texistEditGrid\r\n\t\t\t\t\t);\r\n\t\t\t\t\t// if recursion result then result concats the recursionResult\r\n\t\t\t\t\tif (recursionResult) result = result.concat(recursionResult);\r\n\t\t\t\t\t// reset conditional Parent\r\n\t\t\t\t\tif (component && conditionalParent) {\r\n\t\t\t\t\t\tif (component[EFormioKey.ID] == conditionalParent.id)\r\n\t\t\t\t\t\t\tconditionalParent = undefined;\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// avoid the component type button\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tcomponent[EFormioKey.TYPE] !== EFormioKey.BUTTON &&\r\n\t\t\t\t\t\tcomponent[EFormioKey.KEY] &&\r\n\t\t\t\t\t\tcomponent[EFormioKey.LABEL] &&\r\n\t\t\t\t\t\texistEditGrid\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\t// resolve conditional conditional object\r\n\t\t\t\t\t\tlet conditional = this.resolveInheritanceConditional(\r\n\t\t\t\t\t\t\tconditionalParent,\r\n\t\t\t\t\t\t\tcomponent[EFormioKey.CONDITIONAL],\r\n\t\t\t\t\t\t\tcomponent[EFormioKey.CUSTOM_CONDITIONAL],\r\n\t\t\t\t\t\t\tcomponent[EFormioKey.ID]\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t\tif (!conditional) conditional = conditionalParent;\r\n\t\t\t\t\t\tcomponent[EFormioKey.CONDITIONAL] = conditional[EFormioKey.CONDITIONAL];\r\n\t\t\t\t\t\tcomponent[EFormioKey.CUSTOM_CONDITIONAL] =\r\n\t\t\t\t\t\t\tconditional[EFormioKey.CUSTOM_CONDITIONAL];\r\n\t\t\t\t\t\t// add namPanel as property\r\n\t\t\t\t\t\tcomponent[EFormioKey.TITLE_PANEL] = titlePanel;\r\n\t\t\t\t\t\t// add component to the result\r\n\t\t\t\t\t\tresult.push(component);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn result;\r\n\t}\r\n\r\n\t/**\r\n\t * Create 2 jason objects of data form by component key and other by component key and title form key\r\n\t * @param dataForm dataForm model object\r\n\t * @returns Object of 2 element\r\n\t */\r\n\tstatic createListDataByDataFormList(dataForm: any, listForm: any[]): any {\r\n\t\tlet listData: any = {};\r\n\t\tlet listDataByForm: any = {};\r\n\t\tif (dataForm && dataForm.length > 0) {\r\n\t\t\tlistData = {};\r\n\t\t\tlistDataByForm = {};\r\n\t\t\tlet dForm: any;\r\n\t\t\tfor (dForm of dataForm) {\r\n\t\t\t\tif (!dForm.data) {\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t\tconst form = listForm.find(function (formTmp) {\r\n\t\t\t\t\treturn formTmp.id == dForm.formId;\r\n\t\t\t\t});\r\n\t\t\t\tif (!form) {\r\n\t\t\t\t\t//console.error('No se encontró el formulario con id ' + dForm.formId);\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t\tconst keyFormTitle = TokenService.getKeyFormulario(form.title) + '_';\r\n\t\t\t\tfor (const key in dForm.data) {\r\n\t\t\t\t\tlistData[key] = dForm.data[key];\r\n\t\t\t\t\tlistDataByForm[keyFormTitle + key] = dForm.data[key];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn {\r\n\t\t\tlistData: listData,\r\n\t\t\tlistDataByForm: listDataByForm\r\n\t\t};\r\n\t}\r\n\r\n\t/**\r\n\t * It returns the components\r\n\t * @param components\r\n\t */\r\n\tstatic getPanelComponents(components: any[]): any[] {\r\n\t\treturn FormioUtil.getComponentsByPanel(components);\r\n\t}\r\n\r\n\t/**\r\n\t * It returns the components array of the form\r\n\t * @param components array of components\r\n\t */\r\n\tprivate static getComponentsByPanel(components: any[]): any[] {\r\n\t\t// it contains the result array\r\n\t\tlet result = [];\r\n\t\tif (components) {\r\n\t\t\t// iterate over components\r\n\t\t\tfor (const component of components) {\r\n\t\t\t\t// avoid the editgrid component ot if it has a different behavior it should have an else statement\r\n\t\t\t\tif (component[EFormioKey.TYPE] !== EFormioKey.EDITGRID) {\r\n\t\t\t\t\t// if component is panel then titlePanel variable is changed, and it is gonna be inherited\r\n\t\t\t\t\tif (component[EFormioKey.TYPE] === EFormioKey.PANEL) {\r\n\t\t\t\t\t\tresult.push(component);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn result;\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class FormService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\t/** It returns the list of form by prom codigo */\r\n\tgetByPromCodigo(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'form/getByPromCodigo',\r\n\t\t\t{ params: new HttpParams().set('promCodigo', promCodigo.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the list of form by prom codigo */\r\n\tgetAll(): Observable<any> {\r\n\t\treturn this.httpClient.get(this.environment.host.backend.configuration + 'form/getAll');\r\n\t}\r\n\r\n\t/** It returns a form by id */\r\n\tgetById(id): Observable<any> {\r\n\t\treturn this.httpClient.get(this.environment.host.backend.configuration + 'form/getById', {\r\n\t\t\tparams: new HttpParams().set('id', id)\r\n\t\t});\r\n\t}\r\n\t/** It saves a form */\r\n\tsave(form: any): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'form/save',\r\n\t\t\tform,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tsaveFormMultiPromCodigo(reMultPromCodDto: any): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'form/saveMultiaplicacionPromCod',\r\n\t\t\treMultPromCodDto,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It deletes a form by id */\r\n\tdelete(id): Observable<any> {\r\n\t\treturn this.httpClient.delete(this.environment.host.backend.configuration + 'form/delete', {\r\n\t\t\tparams: new HttpParams().set('id', id)\r\n\t\t});\r\n\t}\r\n\r\n\t/** It returns the form according to profile have been setting up in form */\r\n\tgetByPromCodigoAccordingToProfile(\r\n\t\tpromCodigo: number,\r\n\t\tpatCodigo: number,\r\n\t\tformId?: string\r\n\t): Observable<any> {\r\n\t\tlet params = new HttpParams()\r\n\t\t\t.set('promCodigo', promCodigo.toString())\r\n\t\t\t.set('patCodigo', patCodigo.toString())\r\n\t\t\t.set('formId', formId !== undefined ? formId : '');\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'form/getByPromCodigoAndProfile',\r\n\t\t\t{ params: params }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the form according to list of prom codigo */\r\n\tgetByListPromCodigo(listPromCod: Array<number>): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'form/getByListPromCodigo',\r\n\t\t\t{ params: new HttpParams().set('listPromCodigo', listPromCod.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It remove the redis cache of the form by prom codigo */\r\n\tremoveFromCacheByPromCodigo(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'form/removeFromCacheByPromCodigo',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('promCodigo', promCodigo.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** It remove the redis cache of the form by prom codigo */\r\n\tremoveFromCacheByPromCodigoAndTitle(promCodigo: number, title: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'form/removeFromCacheByPromCodigoAndTitle',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigo', promCodigo.toString())\r\n\t\t\t\t\t.set('title', title)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** It remove the redis cache of the form by prom codigo */\r\n\tremoveFromCacheByPromCodigoAndProfile(\r\n\t\tpromCodigo: number,\r\n\t\tpatCodigo: number,\r\n\t\tformId: string,\r\n\t\tusername: string\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'form/removeFromCacheByPromCodigoAndProfile',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigo', promCodigo.toString())\r\n\t\t\t\t\t.set('patCodigo', patCodigo.toString())\r\n\t\t\t\t\t.set('formId', formId)\r\n\t\t\t\t\t.set('username', username)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * Get form by Id\r\n\t * @param statusId\r\n\t */\r\n\tgetByStateId(statusId: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'form/getByStateId',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('statusId', statusId)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetConfigCloningFormMap(oldFormPPP: number, newFormPPP: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'form/getConfigCloningFormMap',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('oldFormPPP', oldFormPPP.toString())\r\n\t\t\t\t\t.set('newFormPPP', newFormPPP.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetListFormProjectSummaryConfigByPromCodigo(\r\n\t\tpromCodigo: number,\r\n\t\tpatCodigo: number\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'form/getListFormProjectSummaryConfigByPromCodigo',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigo', promCodigo.toString())\r\n\t\t\t\t\t.set('patCodigo', patCodigo.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { CurrencyPipe } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Inject, Injectable, LOCALE_ID } from '@angular/core';\r\nimport { DateUtil, HEADER_JSON, PliCnfGuaranteeToken, Token, UtilString } from 'ng-pli-util';\r\nimport { Observable } from 'rxjs';\r\nimport { FormioUtil } from '../utils/formio-util';\r\nimport { FormService } from './form.service';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class TokenService {\r\n\t/** */\r\n\tstatic SIGN_LETTER_TAG_ID: string = '_sign-letter-tag-id';\r\n\r\n\t/** */\r\n\t@Inject(LOCALE_ID) public locale: string;\r\n\r\n\t/** */\r\n\tstatic TOKEN_LABEL_FORM: string = 'Frm';\r\n\t/** */\r\n\tstatic TOKEN_LABEL_BUDGET: string = 'Presupuesto';\r\n\t/** */\r\n\tstatic TOKEN_LABEL_CALCULATED: string = 'Calculado';\r\n\t/** */\r\n\tstatic TOKEN_LABEL_SNAPSHOT: string = 'Snapshot';\r\n\t/** */\r\n\tstatic TOKEN_LABEL_STATIC: string = 'Estático';\r\n\t/** */\r\n\tstatic TOKEN_LABEL_DOCUMENTO: string = 'Documento';\r\n\t/** */\r\n\tstatic TOKEN_LABEL_DOCUMENTO_ANALISIS_AUTOMATICO: string = 'Análisis automático de documentos';\r\n\t/** */\r\n\tstatic TOKEN_DOCUMENTO_ANALYSIS_TYPE: string = 'document_analysis';\r\n\t/** */\r\n\tstatic TOKEN_LABEL_TASK: string = 'Tarea';\r\n\t/** */\r\n\tstatic TOKEN_LABEL_TASKL: string = 'task';\r\n\t/** */\r\n\tstatic TOKEN_LABEL_GUARANTEE: string = 'Garantia';\r\n\t/** */\r\n\tstatic BUDGET_TOKENS_KEY_TOTAL_AMOUNT: string = 'totalAmount';\r\n\t/** */\r\n\tstatic BUDGET_TOKENS_KEY_APPLICATION_PROCESS_TOTAL_AMOUNT: string = 'applicationTotal';\r\n\t/** */\r\n\tstatic BUDGET_TOKENS_KEY_APPLICATION_PROCESS_TOTAL_OWN_FOUNDS: string = 'applicationOwnFounds';\r\n\t/** */\r\n\tstatic BUDGET_TOKENS_KEY_APPLICATION_PROCESS_TOTAL_FINANCING: string = 'applicationFinancing';\r\n\t/** */\r\n\tstatic BUDGET_TOKENS_KEY_LEGALIZATION_PROCESS_TOTAL_AMOUNT: string = 'legalizationTotal';\r\n\t/** */\r\n\tstatic BUDGET_TOKENS_KEY_LEGALIZATION_PROCESS_TOTAL_OWN_FOUNDS: string =\r\n\t\t'legalizationOwnFounds';\r\n\t/** */\r\n\tstatic BUDGET_TOKENS_KEY_LEGALIZATION_PROCESS_TOTAL_FINANCING: string = 'legalizationFinancing';\r\n\t/** */\r\n\tstatic BUDGET_TOKENS_KEY_INSURANCE_AMOUNT: string = 'insuranceAmount';\r\n\t/** */\r\n\tstatic LEGALIZATION_OR_APPLICATION_TOTAL_FINANCING: string =\r\n\t\t'leglizationOrApplicationTotalFinancing';\r\n\t/** */\r\n\tstatic BUDGET_TOKENS_KEY_RESUME_CATEGORY_YEAR: string = 'resumeCategoryYear';\r\n\t/** */\r\n\tstatic BUDGET_TOKENS_KEY_FECHA_FINANCING_START: string = 'fechaInicioFinanciacion';\r\n\t/** */\r\n\tstatic BUDGET_TOKENS_KEY_FECHA_FINANCING_END: string = 'fechaFinFinanciacion';\r\n\t/** */\r\n\tstatic BUDGET_TOKENS_DURATION_STUDIES: string = 'duracionEstudios';\r\n\t/** */\r\n\tstatic BUDGET_TOKENS_FINANCING_DURATION: string = 'duracionFinanciacion';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_KEY_CODIGO_VERIFICACION: string = 'codigoVerificacion';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_KEY_A_QUIEN_VA_DIRIGIDO: string = 'aQuienVaDirigido';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_KEY_FECHA_ACTUAL: string = 'fechaActual';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_KEY_STATUS_NAME: string = 'statusName';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_KEY_PATROCINADOR: string = 'pliPatrocinador';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_KEY_PATROCINADOR_CORTO: string = 'pliPatrocinadorCorto';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_KEY_PROGRAMA: string = 'pliPrograma';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_KEY_PROGRAMA_CORTO: string = 'pliProgramaCorto';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_KEY_PROMOCION: string = 'pliPromocion';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_KEY_PROMOCION_CORTO: string = 'pliPromocionCorto';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_KEY_ANIO_PROMOCION: string = 'anioPromocion';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_KEY_ISO_MONEDA_BASE: string = 'isoMonedaBase';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_KEY_SALUDO_COMPLEMENTARIO: string = 'saludoComplementario';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_KEY_NUMBER_APPLICATION: string = 'numeroRadicado';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_KEY_USER_INITIALS: string = 'inicialesUsuario';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_KEY_LETTER_SIGN: string = 'firmaCarta';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_COMMITTEE_NAME: string = 'comiteNombre';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_COMMITTEE_SEGMENTATION: string = 'comiteSegmentacion';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_COMMITTEE_AGGRUPATION: string = 'comiteAgrupacion';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_COMMITTEE_CUTLINE_DATE: string = 'comiteFechaLinea';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_CONFIRM_LEGALIZATION_APPOINTMENT: string = 'confirmacionCita';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_CODEBTOR_DOCUMENT_NUMBER: string = 'numeroDocumentoCodeudor';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_CODEBTOR_DOCUMENT_TYPE: string = 'tipoDocumentoCodeudor';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_CODEBTOR_NAME: string = 'nombresCodeudor';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_CODEBTOR_LASTNAME: string = 'apellidosCodeudor';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_TYPE_CODEBTOR: string = 'tipoPersonaCodeudor';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_CODEBTOR_REVIEWER: string = 'revisorCodeudores';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_TOTAL_WEIGHTED: string = 'ponderadoTotal';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_CONSECUTIVE_GUARANTEE: string = 'consecutivoGarantias';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_DAY: string = 'dia';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_MONTH: string = 'mes';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_YEAR: string = 'ano';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_REPRESENTATIVE_NAME: string = 'nombresRepresentante';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_REPRESENTATIVE_LASTNAME: string = 'apellidosRepresentante';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_REPRESENTATIVE_DOCUMENT_NUMBER: string = 'cedulaRepresentante';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_CITY_SIGNATURE: string = 'ciudadFirma';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_USER_TYPE_CREDIT_STUDY: string = 'tipoUsuarioEstudioCredito';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_CODEBTOR_VEHICLES_QUANTITY: string = 'cantidadVehiculosCodeudor';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_CODEBTOR_ASSETS_QUANTITY: string = 'cantidadBienesCodeudor';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_LIST_CODEBTORS: string = 'listaCodeudores';\r\n\t/** */\r\n\tstatic STATIC_TOKEN_INGRESO_CODEUDOR_HABEAS_DATA: string = 'ingresoCodeudorHabeasData';\r\n\t/** */\r\n\tstatic STATIC_TOKEN_PDF_RESUMEN_CODEUDOR: string = 'pdfResumenCodeudor';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_QUANTITY_VEHICLE_BENEFICIARY: string = 'cantidadVehiculosSeleccionado';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_QUANTITY_ASSETS_BENEFICIARY: string = 'cantidadBienesSeleccionado';\r\n\t/** */\r\n\tstatic STATIC_TOKENS_BEN_CODIGO: string = 'benCodigo';\r\n\t/** */\r\n\tstatic STATIC_TOKEN_CREDIT_REVIEWER_OBSERVATIONS_CODEBTOR: string =\r\n\t\t'creditReviewerObservationsCodebtor';\r\n\t/** */\r\n\tstatic STATIC_TOKEN_CREDIT_REVIEWER_OBSERVATIONS: string = 'creditReviewerObservations';\r\n\tstatic STATIC_TOKEN_TAG_NAME: string = 'tagName';\r\n\tstatic STATIC_TOKEN_NAME_REVIEWER_TASK = 'nameReviwerTask';\r\n\tstatic STATIC_TOKEN_LAST_NAME_REVIEWER_TASK = 'lastNameReviwerTask';\r\n\tstatic STATIC_TOKEN_TASK_TOTAL_ASSIGNED_TO_REVIEWER = 'taskTotalAssignedToReviewer';\r\n\tstatic STATIC_TOKENS: any[] = [\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_KEY_PATROCINADOR,\r\n\t\t\tlabel: 'Patrocinador'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_KEY_PROGRAMA,\r\n\t\t\tlabel: 'Programa'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_KEY_PROMOCION,\r\n\t\t\tlabel: 'Promoción'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_KEY_ANIO_PROMOCION,\r\n\t\t\tlabel: 'Año promoción'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_KEY_ISO_MONEDA_BASE,\r\n\t\t\tlabel: 'ISO Moneda base'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_KEY_SALUDO_COMPLEMENTARIO,\r\n\t\t\tlabel: 'Saludo complementario'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_KEY_CODIGO_VERIFICACION,\r\n\t\t\tlabel: 'Código de verificación'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_KEY_A_QUIEN_VA_DIRIGIDO,\r\n\t\t\tlabel: 'A quien va dirigido'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_KEY_FECHA_ACTUAL,\r\n\t\t\tlabel: 'Fecha actual'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_KEY_STATUS_NAME,\r\n\t\t\tlabel: 'Estado actual'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_KEY_NUMBER_APPLICATION,\r\n\t\t\tlabel: 'Número radicado'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_KEY_USER_INITIALS,\r\n\t\t\tlabel: 'Iniciales de usuario'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_KEY_LETTER_SIGN,\r\n\t\t\tlabel: 'Firma de cartas'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_COMMITTEE_NAME,\r\n\t\t\tlabel: 'Nombre comité'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_COMMITTEE_SEGMENTATION,\r\n\t\t\tlabel: 'Segmentación comité'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_COMMITTEE_AGGRUPATION,\r\n\t\t\tlabel: 'Agrupación comité'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_COMMITTEE_CUTLINE_DATE,\r\n\t\t\tlabel: 'Fecha Línea de corte'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_CONFIRM_LEGALIZATION_APPOINTMENT,\r\n\t\t\tlabel: 'Confirmación de cita'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_CODEBTOR_DOCUMENT_NUMBER,\r\n\t\t\tlabel: 'Número de documento de codeudor'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_CODEBTOR_DOCUMENT_TYPE,\r\n\t\t\tlabel: 'Tipo de documento de codeudor'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_CODEBTOR_NAME,\r\n\t\t\tlabel: 'Nombres codeudor'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_CODEBTOR_LASTNAME,\r\n\t\t\tlabel: 'Apellidos codeudor'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_TYPE_CODEBTOR,\r\n\t\t\tlabel: 'Tipo de persona codeudor'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_CODEBTOR_VEHICLES_QUANTITY,\r\n\t\t\tlabel: 'Cantidad vehiculos codeudor'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_CODEBTOR_ASSETS_QUANTITY,\r\n\t\t\tlabel: 'Cantidad bienes codeudor'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_CODEBTOR_REVIEWER,\r\n\t\t\tlabel: 'Revisor de codeudores'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_TOTAL_WEIGHTED,\r\n\t\t\tlabel: 'Ponderado total'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_CONSECUTIVE_GUARANTEE,\r\n\t\t\tlabel: 'Consecutivo de garantias'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_REPRESENTATIVE_NAME,\r\n\t\t\tlabel: 'Nombres representante legal'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_REPRESENTATIVE_LASTNAME,\r\n\t\t\tlabel: 'Apellidos representante legal'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_REPRESENTATIVE_DOCUMENT_NUMBER,\r\n\t\t\tlabel: 'Cedula representante legal'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_USER_TYPE_CREDIT_STUDY,\r\n\t\t\tlabel: 'Tipo usuario estudio crédito'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_DAY,\r\n\t\t\tlabel: 'Dia'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_MONTH,\r\n\t\t\tlabel: 'Mes'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_YEAR,\r\n\t\t\tlabel: 'Año'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_CITY_SIGNATURE,\r\n\t\t\tlabel: 'Ciudad de la firma'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_LIST_CODEBTORS,\r\n\t\t\tlabel: 'Lista de codeudores'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKEN_INGRESO_CODEUDOR_HABEAS_DATA,\r\n\t\t\tlabel: 'Ingreso Codeudor Habeas Data'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKEN_PDF_RESUMEN_CODEUDOR,\r\n\t\t\tlabel: 'Pdf codeudor'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_QUANTITY_VEHICLE_BENEFICIARY,\r\n\t\t\tlabel: 'Cantidad de vehículos del seleccionado'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_QUANTITY_ASSETS_BENEFICIARY,\r\n\t\t\tlabel: 'Cantidad bienes del seleccionado'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKENS_BEN_CODIGO,\r\n\t\t\tlabel: 'Código beneficiario'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKEN_CREDIT_REVIEWER_OBSERVATIONS,\r\n\t\t\tlabel: 'Observaciones revisor financiero seleccionado'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKEN_CREDIT_REVIEWER_OBSERVATIONS_CODEBTOR,\r\n\t\t\tlabel: 'Observaciones revisor financiero codeudores'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKEN_TAG_NAME,\r\n\t\t\tlabel: 'Nombre del tag'\r\n\t\t},\r\n\t\t{ key: TokenService.STATIC_TOKEN_NAME_REVIEWER_TASK, label: 'Nombre revisor tareas' },\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKEN_LAST_NAME_REVIEWER_TASK,\r\n\t\t\tlabel: 'Apellido revisor tareas'\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: TokenService.STATIC_TOKEN_TASK_TOTAL_ASSIGNED_TO_REVIEWER,\r\n\t\t\tlabel: 'Total tareas asignadas a revisor'\r\n\t\t}\r\n\t];\r\n\r\n\tstatic excludedToken = [\r\n\t\tTokenService.STATIC_TOKENS_USER_TYPE_CREDIT_STUDY.toLowerCase(),\r\n\t\tTokenService.STATIC_TOKENS_CODEBTOR_VEHICLES_QUANTITY.toLowerCase(),\r\n\t\tTokenService.STATIC_TOKENS_CODEBTOR_ASSETS_QUANTITY.toLowerCase()\r\n\t];\r\n\r\n\tconstructor(\r\n\t\t@Inject('environment') private environment,\r\n\t\tprivate httpClient: HttpClient,\r\n\t\tprivate formService: FormService,\r\n\t\tprivate currencyPipe: CurrencyPipe\r\n\t) {}\r\n\r\n\t/** This promise allows to execute a function when consulting the form fields. */\r\n\tgetFormFieldsByPromCode(promCodigo): Promise<any[]> {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\t// Search the dynamic form\r\n\t\t\tlet lFormFieldsToken: any[] = null;\r\n\t\t\tthis.formService.getByPromCodigo(promCodigo).subscribe({\r\n\t\t\t\tnext: (arrayForms: any) => {\r\n\t\t\t\t\tif (arrayForms.length > 0) {\r\n\t\t\t\t\t\tfor (const forms of arrayForms) {\r\n\t\t\t\t\t\t\tlet components = [];\r\n\r\n\t\t\t\t\t\t\tcomponents.push(...FormioUtil.getComponents(forms.components));\r\n\r\n\t\t\t\t\t\t\tif (forms.components && forms.components.length > 0) {\r\n\t\t\t\t\t\t\t\tfor (const components of forms.components) {\r\n\t\t\t\t\t\t\t\t\tif (components.components && components.components.length > 0) {\r\n\t\t\t\t\t\t\t\t\t\tfor (const component of components.components) {\r\n\t\t\t\t\t\t\t\t\t\t\tif (component.columns && component.columns.length > 0) {\r\n\t\t\t\t\t\t\t\t\t\t\t\tfor (const cComponents of component.columns) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcComponents.components &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcComponents.components.length > 0\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfor (const iterator of cComponents.components) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (iterator.type === 'address') {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdelete iterator.components;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tlet form: any = arrayForms;\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\t!form ||\r\n\t\t\t\t\t\t!form[0] ||\r\n\t\t\t\t\t\t!form[0].promCodigo ||\r\n\t\t\t\t\t\tform[0].promCodigo != promCodigo\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\t// this.router.navigate(['404']);\r\n\t\t\t\t\t\tresolve(lFormFieldsToken);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tlFormFieldsToken = [];\r\n\t\t\t\t\tfor (let formComp of form) {\r\n\t\t\t\t\t\tlet newComponents: any;\r\n\t\t\t\t\t\tlet components: any[] = [];\r\n\t\t\t\t\t\tif (formComp.components) {\r\n\t\t\t\t\t\t\tnewComponents = formComp.components;\r\n\t\t\t\t\t\t} else if (formComp.columns) {\r\n\t\t\t\t\t\t\tnewComponents = formComp.columns;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (newComponents && UtilString.isValid(formComp.title)) {\r\n\t\t\t\t\t\t\tlFormFieldsToken.push({\r\n\t\t\t\t\t\t\t\ttitle: {\r\n\t\t\t\t\t\t\t\t\tkey: TokenService.getKeyFormulario(formComp.title),\r\n\t\t\t\t\t\t\t\t\tvalue: formComp.title,\r\n\t\t\t\t\t\t\t\t\tobject: formComp\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\tvalue: []\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tlFormFieldsToken[lFormFieldsToken.length - 1].value =\r\n\t\t\t\t\t\t\t\tthis.getComponenetForm(\r\n\t\t\t\t\t\t\t\t\tcomponents,\r\n\t\t\t\t\t\t\t\t\tnewComponents,\r\n\t\t\t\t\t\t\t\t\tnull,\r\n\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\tnull\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tresolve(lFormFieldsToken);\r\n\t\t\t\t},\r\n\t\t\t\terror: (error) => {\r\n\t\t\t\t\treject(error);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tgetFormFieldsByFormId(formId: string): Promise<any[]> {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\t// Search the dynamic form\r\n\t\t\tlet lFormFieldsToken: any[] = null;\r\n\t\t\tthis.formService.getById(formId).subscribe(\r\n\t\t\t\t(result: any) => {\r\n\t\t\t\t\tlet form: any = result;\r\n\t\t\t\t\tif (!form || !form[0]) {\r\n\t\t\t\t\t\tresolve(lFormFieldsToken);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tlFormFieldsToken = [];\r\n\t\t\t\t\tfor (let formComp of form) {\r\n\t\t\t\t\t\tlet newComponents: any;\r\n\t\t\t\t\t\tlet components: any[] = [];\r\n\t\t\t\t\t\tif (formComp.components) {\r\n\t\t\t\t\t\t\tnewComponents = formComp.components;\r\n\t\t\t\t\t\t} else if (formComp.columns) {\r\n\t\t\t\t\t\t\tnewComponents = formComp.columns;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (newComponents && UtilString.isValid(formComp.title)) {\r\n\t\t\t\t\t\t\tlFormFieldsToken.push({\r\n\t\t\t\t\t\t\t\ttitle: {\r\n\t\t\t\t\t\t\t\t\tkey: TokenService.getKeyFormulario(formComp.title),\r\n\t\t\t\t\t\t\t\t\tvalue: formComp.title,\r\n\t\t\t\t\t\t\t\t\tobject: formComp\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\tvalue: []\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tlFormFieldsToken[lFormFieldsToken.length - 1].value =\r\n\t\t\t\t\t\t\t\tthis.getComponenetForm(\r\n\t\t\t\t\t\t\t\t\tcomponents,\r\n\t\t\t\t\t\t\t\t\tnewComponents,\r\n\t\t\t\t\t\t\t\t\tnull,\r\n\t\t\t\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\t\t\t\tnull\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tresolve(lFormFieldsToken);\r\n\t\t\t\t},\r\n\t\t\t\t(error) => {\r\n\t\t\t\t\treject(error);\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t});\r\n\t}\r\n\r\n\t/** This promise allows to execute a function when consulting the form fields. */\r\n\tgetFormPanelsByPromCode(promCodigo): Promise<any[]> {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\t// Search the dynamic form\r\n\t\t\tlet lFormPannelsToken: any[] = null;\r\n\t\t\tthis.formService.getByPromCodigo(promCodigo).subscribe(\r\n\t\t\t\t(result: any) => {\r\n\t\t\t\t\tlet form: any = result;\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\t!form ||\r\n\t\t\t\t\t\t!form[0] ||\r\n\t\t\t\t\t\t!form[0].promCodigo ||\r\n\t\t\t\t\t\tform[0].promCodigo != promCodigo\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\t// this.router.navigate(['404']);\r\n\t\t\t\t\t\tresolve(lFormPannelsToken);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tlFormPannelsToken = [];\r\n\t\t\t\t\tfor (let formComp of form) {\r\n\t\t\t\t\t\tlet newComponents: any;\r\n\t\t\t\t\t\tlet components: any[] = [];\r\n\t\t\t\t\t\tif (formComp.components) {\r\n\t\t\t\t\t\t\tnewComponents = formComp.components;\r\n\t\t\t\t\t\t} else if (formComp.columns) {\r\n\t\t\t\t\t\t\tnewComponents = formComp.columns;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (newComponents && UtilString.isValid(formComp.title)) {\r\n\t\t\t\t\t\t\tlFormPannelsToken.push({\r\n\t\t\t\t\t\t\t\ttitle: {\r\n\t\t\t\t\t\t\t\t\tkey: TokenService.getKeyFormulario(formComp.title),\r\n\t\t\t\t\t\t\t\t\tvalue: formComp.title,\r\n\t\t\t\t\t\t\t\t\tobject: formComp\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\tvalue: []\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tlFormPannelsToken[lFormPannelsToken.length - 1].value =\r\n\t\t\t\t\t\t\t\tthis.getPanelComponenet(components, newComponents, null);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tresolve(lFormPannelsToken);\r\n\t\t\t\t},\r\n\t\t\t\t(error) => {\r\n\t\t\t\t\treject(error);\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * A recursive method to get all the information of the editGrid dynamic form\r\n\t * @param components\r\n\t * @param form\r\n\t */\r\n\tgetPanelComponenet(components: any[], form: any, panelName: string): any[] {\r\n\t\tfor (let formComp of form) {\r\n\t\t\tif (formComp.type === 'panel') {\r\n\t\t\t\tcomponents.push(formComp);\r\n\t\t\t} else if (formComp.components || formComp.columns) {\r\n\t\t\t\tlet newComponents: any;\r\n\t\t\t\tif (formComp.components) {\r\n\t\t\t\t\tnewComponents = formComp.components;\r\n\t\t\t\t} else if (formComp.columns) {\r\n\t\t\t\t\tnewComponents = formComp.columns;\r\n\t\t\t\t}\r\n\t\t\t\tcomponents = this.getPanelComponenet(components, newComponents, panelName);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn components;\r\n\t}\r\n\r\n\t/**\r\n\t * A recursive method to get all the information of the components a columns of the dynamic form\r\n\t * @param components\r\n\t * @param form\r\n\t */\r\n\tgetComponenetForm(\r\n\t\tcomponents: any[],\r\n\t\tform: any,\r\n\t\tpanelName: string,\r\n\t\teditgrid: boolean,\r\n\t\teditGridKey: string\r\n\t): any[] {\r\n\t\tfor (let formComp of form) {\r\n\t\t\t//MO- mantis 8743 fix address token\r\n\t\t\tif ((formComp.components || formComp.columns) && formComp.type !== 'address') {\r\n\t\t\t\tlet newComponents: any;\r\n\t\t\t\tif (formComp.components) {\r\n\t\t\t\t\tnewComponents = formComp.components;\r\n\t\t\t\t\tif (formComp.type === 'editgrid') {\r\n\t\t\t\t\t\teditgrid = true;\r\n\t\t\t\t\t\teditGridKey = formComp.key;\r\n\t\t\t\t\t}\r\n\t\t\t\t} else if (formComp.columns) {\r\n\t\t\t\t\tnewComponents = formComp.columns;\r\n\t\t\t\t}\r\n\t\t\t\tif (formComp.type && formComp.type === 'panel') {\r\n\t\t\t\t\tpanelName = formComp.title;\r\n\t\t\t\t}\r\n\t\t\t\tcomponents = this.getComponenetForm(\r\n\t\t\t\t\tcomponents,\r\n\t\t\t\t\tnewComponents,\r\n\t\t\t\t\tpanelName,\r\n\t\t\t\t\teditgrid,\r\n\t\t\t\t\teditGridKey\r\n\t\t\t\t);\r\n\t\t\t} else {\r\n\t\t\t\tformComp.panelName = panelName;\r\n\t\t\t\tformComp.editgrid = editgrid;\r\n\t\t\t\tformComp.editGridKey = editGridKey;\r\n\t\t\t\tcomponents.push(formComp);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn components;\r\n\t}\r\n\r\n\t/** This promise allows to execute a function when consulting the form fields. */\r\n\tgetFormEditGridFieldsByPromCode(promCodigo): Promise<any[]> {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\t// Search the dynamic form\r\n\t\t\tlet lFormFieldsToken: any[] = null;\r\n\t\t\tthis.formService.getByPromCodigo(promCodigo).subscribe(\r\n\t\t\t\t(result: any) => {\r\n\t\t\t\t\tlet form: any = result;\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\t!form ||\r\n\t\t\t\t\t\t!form[0] ||\r\n\t\t\t\t\t\t!form[0].promCodigo ||\r\n\t\t\t\t\t\tform[0].promCodigo != promCodigo\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\t// this.router.navigate(['404']);\r\n\t\t\t\t\t\tresolve(lFormFieldsToken);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tlFormFieldsToken = [];\r\n\t\t\t\t\tfor (let formComp of form) {\r\n\t\t\t\t\t\tlet newComponents: any;\r\n\t\t\t\t\t\tlet components: any[] = [];\r\n\t\t\t\t\t\tif (formComp.components) {\r\n\t\t\t\t\t\t\tnewComponents = formComp.components;\r\n\t\t\t\t\t\t} else if (formComp.columns) {\r\n\t\t\t\t\t\t\tnewComponents = formComp.columns;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (newComponents && UtilString.isValid(formComp.title)) {\r\n\t\t\t\t\t\t\tlFormFieldsToken.push({\r\n\t\t\t\t\t\t\t\ttitle: {\r\n\t\t\t\t\t\t\t\t\tkey: TokenService.getKeyFormulario(formComp.title),\r\n\t\t\t\t\t\t\t\t\tvalue: formComp.title,\r\n\t\t\t\t\t\t\t\t\tobject: formComp\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\tvalue: []\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tlFormFieldsToken[lFormFieldsToken.length - 1].value =\r\n\t\t\t\t\t\t\t\tthis.getEditGridComponenet(components, newComponents, null);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tresolve(lFormFieldsToken);\r\n\t\t\t\t},\r\n\t\t\t\t(error) => {\r\n\t\t\t\t\treject(error);\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * A recursive method to get all the information of the editGrid dynamic form\r\n\t * @param components\r\n\t * @param form\r\n\t */\r\n\tgetEditGridComponenet(components: any[], form: any, panelName: string): any[] {\r\n\t\tfor (let formComp of form) {\r\n\t\t\tif (formComp.type === 'editgrid') {\r\n\t\t\t\tformComp.panelName = panelName;\r\n\t\t\t\tcomponents.push(formComp);\r\n\t\t\t} else if (formComp.components || formComp.columns) {\r\n\t\t\t\tlet newComponents: any;\r\n\t\t\t\tif (formComp.components) {\r\n\t\t\t\t\tnewComponents = formComp.components;\r\n\t\t\t\t} else if (formComp.columns) {\r\n\t\t\t\t\tnewComponents = formComp.columns;\r\n\t\t\t\t}\r\n\t\t\t\tif (formComp.type && formComp.type === 'panel') {\r\n\t\t\t\t\tpanelName = formComp.title;\r\n\t\t\t\t}\r\n\t\t\t\tcomponents = this.getEditGridComponenet(components, newComponents, panelName);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn components;\r\n\t}\r\n\r\n\t/** It returns the tokens by promCodigo */\r\n\tgetListByPromCodigo(promCode: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'token/getByPromCodigo',\r\n\t\t\t{ params: new HttpParams().set('promCodigo', promCode.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the token by id */\r\n\tgetById(id: number): Observable<any> {\r\n\t\treturn this.httpClient.get(this.environment.host.backend.configuration + 'token/getById', {\r\n\t\t\tparams: new HttpParams().set('id', id.toString())\r\n\t\t});\r\n\t}\r\n\r\n\t/** It deletes a form by id */\r\n\tdelete(id): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.configuration + 'token/delete',\r\n\t\t\t{ params: new HttpParams().set('id', id) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves the token */\r\n\tsave(token: Token): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'token/save',\r\n\t\t\ttoken,\r\n\t\t\tHEADER_JSON\r\n\t\t);\r\n\t}\r\n\r\n\tstatic getKeyFormulario(formTitle: string): string {\r\n\t\tif (UtilString.isValid(formTitle)) {\r\n\t\t\treturn (\r\n\t\t\t\tUtilString.replaceAccentSpacesOthers(TokenService.TOKEN_LABEL_FORM) +\r\n\t\t\t\tUtilString.replaceAccentSpacesOthers(formTitle).replace(/_/g, '-')\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn '';\r\n\t}\r\n\r\n\t/** It returns the unique verification code */\r\n\tgetUniqueVerificationCode(login: string, token: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.documentsRepository +\r\n\t\t\t\t'documento/consultarCodigoUnico/' +\r\n\t\t\t\tlogin +\r\n\t\t\t\t'/' +\r\n\t\t\t\ttoken,\r\n\t\t\t{ params: new HttpParams() }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It send the information to copy the Document viewer */\r\n\tcopyDocumentInformationViewer(\r\n\t\tlogin: string,\r\n\t\ttoken: string,\r\n\t\tuniqueCode: string,\r\n\t\tdocumentURL: string,\r\n\t\tdocumentName: string\r\n\t): Observable<any> {\r\n\t\tlet infoDocumento = {\r\n\t\t\tcodigoUnico: uniqueCode,\r\n\t\t\trutaDocumento: documentURL,\r\n\t\t\tdocumentName: documentName\r\n\t\t};\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.documentsRepository +\r\n\t\t\t\t'documento/adicionarDocumento/' +\r\n\t\t\t\tlogin +\r\n\t\t\t\t'/' +\r\n\t\t\t\ttoken,\r\n\t\t\tinfoDocumento,\r\n\t\t\tHEADER_JSON\r\n\t\t);\r\n\t}\r\n\r\n\tstatic getKeyBudget(): string {\r\n\t\treturn UtilString.replaceAccentSpacesOthers(TokenService.TOKEN_LABEL_BUDGET);\r\n\t}\r\n\r\n\tstatic getKeyDocument(): string {\r\n\t\treturn UtilString.replaceAccentSpacesOthers(TokenService.TOKEN_LABEL_DOCUMENTO);\r\n\t}\r\n\r\n\tstatic getKeyDocumentAnalysis(): string {\r\n\t\treturn UtilString.replaceAccentSpacesOthers(TokenService.TOKEN_DOCUMENTO_ANALYSIS_TYPE);\r\n\t}\r\n\r\n\tstatic getKeyTask(): string {\r\n\t\treturn UtilString.replaceAccentSpacesOthers(TokenService.TOKEN_LABEL_TASKL);\r\n\t}\r\n\r\n\tstatic getKeyStatic(): string {\r\n\t\treturn UtilString.replaceAccentSpacesOthers(TokenService.TOKEN_LABEL_STATIC);\r\n\t}\r\n\r\n\tstatic getKeyCalculated(token: Token): string {\r\n\t\treturn (\r\n\t\t\tUtilString.replaceAccentSpacesOthers(TokenService.TOKEN_LABEL_CALCULATED) +\r\n\t\t\t'_' +\r\n\t\t\tUtilString.replaceAccentSpacesOthers(token.name)\r\n\t\t);\r\n\t}\r\n\r\n\tstatic getKeySnapshot(token: Token): string {\r\n\t\treturn (\r\n\t\t\tUtilString.replaceAccentSpacesOthers(TokenService.TOKEN_LABEL_SNAPSHOT) +\r\n\t\t\t'_' +\r\n\t\t\tUtilString.replaceAccentSpacesOthers(token.name)\r\n\t\t);\r\n\t}\r\n\r\n\tstatic getKeyGuarantee(token: PliCnfGuaranteeToken): string {\r\n\t\treturn (\r\n\t\t\tUtilString.replaceAccentSpacesOthers(TokenService.TOKEN_LABEL_GUARANTEE) +\r\n\t\t\t'_' +\r\n\t\t\tUtilString.replaceAccentSpacesOthers(token.name)\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * Return a value that represent the type of label: 1=Form, 2=Budget, 3=Static, 4=Calculated\r\n\t * @param key Value to evalueate\r\n\t */\r\n\tstatic getKeyType(key: string): number {\r\n\t\tkey = key.replace('{', '').replace('}', '');\r\n\t\tkey = key.substring(1, key.indexOf('_'));\r\n\t\tif (key.startsWith(UtilString.replaceAccentSpacesOthers(TokenService.TOKEN_LABEL_FORM))) {\r\n\t\t\treturn 1;\r\n\t\t} else if (\r\n\t\t\tkey.startsWith(UtilString.replaceAccentSpacesOthers(TokenService.TOKEN_LABEL_BUDGET))\r\n\t\t) {\r\n\t\t\treturn 2;\r\n\t\t} else if (\r\n\t\t\tkey.startsWith(UtilString.replaceAccentSpacesOthers(TokenService.TOKEN_LABEL_STATIC))\r\n\t\t) {\r\n\t\t\treturn 3;\r\n\t\t} else if (\r\n\t\t\tkey.startsWith(\r\n\t\t\t\tUtilString.replaceAccentSpacesOthers(TokenService.TOKEN_LABEL_CALCULATED)\r\n\t\t\t)\r\n\t\t) {\r\n\t\t\treturn 4;\r\n\t\t} else if (\r\n\t\t\tkey.startsWith(UtilString.replaceAccentSpacesOthers(TokenService.TOKEN_LABEL_TASKL))\r\n\t\t) {\r\n\t\t\treturn 5;\r\n\t\t} else if (\r\n\t\t\tkey.startsWith(\r\n\t\t\t\tUtilString.replaceAccentSpacesOthers(TokenService.TOKEN_DOCUMENTO_ANALYSIS_TYPE)\r\n\t\t\t)\r\n\t\t) {\r\n\t\t\treturn 6;\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\r\n\t/**\r\n\t * Depends of the type of formFieldToken return de value of the valueData\r\n\t * @param formFieldToken\r\n\t * @param valueData\r\n\t */\r\n\tgetValueFromFormField(formFieldToken: any, valueData: any): any {\r\n\t\tif (typeof valueData == 'object') {\r\n\t\t\tif (formFieldToken.type) {\r\n\t\t\t\tif (formFieldToken.type == 'address') {\r\n\t\t\t\t\treturn valueData.formatted_address;\r\n\t\t\t\t}\r\n\t\t\t\tif (\r\n\t\t\t\t\tformFieldToken.type == 'select' &&\r\n\t\t\t\t\tvalueData.hasOwnProperty(formFieldToken.searchField)\r\n\t\t\t\t) {\r\n\t\t\t\t\tif (valueData.hasOwnProperty('original_name') !== '') {\r\n\t\t\t\t\t\treturn valueData.original_name;\r\n\t\t\t\t\t} else if (valueData.hasOwnProperty('nativeName') !== '') {\r\n\t\t\t\t\t\treturn valueData.nativeName;\r\n\t\t\t\t\t} else if (formFieldToken.searchField) {\r\n\t\t\t\t\t\treturn valueData[formFieldToken.searchField];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn valueData;\r\n\t}\r\n\tformatDate(value: Date, locale: string): string {\r\n\t\tconst date = new Date(value);\r\n\r\n\t\tconst months = {\r\n\t\t\tes: [\r\n\t\t\t\t'enero',\r\n\t\t\t\t'febrero',\r\n\t\t\t\t'marzo',\r\n\t\t\t\t'abril',\r\n\t\t\t\t'mayo',\r\n\t\t\t\t'junio',\r\n\t\t\t\t'julio',\r\n\t\t\t\t'agosto',\r\n\t\t\t\t'septiembre',\r\n\t\t\t\t'octubre',\r\n\t\t\t\t'noviembre',\r\n\t\t\t\t'diciembre'\r\n\t\t\t],\r\n\t\t\ten: [\r\n\t\t\t\t'January',\r\n\t\t\t\t'February',\r\n\t\t\t\t'March',\r\n\t\t\t\t'April',\r\n\t\t\t\t'May',\r\n\t\t\t\t'June',\r\n\t\t\t\t'July',\r\n\t\t\t\t'August',\r\n\t\t\t\t'September',\r\n\t\t\t\t'October',\r\n\t\t\t\t'November',\r\n\t\t\t\t'December'\r\n\t\t\t],\r\n\t\t\tfr: [\r\n\t\t\t\t'janvier',\r\n\t\t\t\t'février',\r\n\t\t\t\t'mars',\r\n\t\t\t\t'avril',\r\n\t\t\t\t'mai',\r\n\t\t\t\t'juin',\r\n\t\t\t\t'juillet',\r\n\t\t\t\t'août',\r\n\t\t\t\t'septembre',\r\n\t\t\t\t'octobre',\r\n\t\t\t\t'novembre',\r\n\t\t\t\t'décembre'\r\n\t\t\t],\r\n\t\t\tde: [\r\n\t\t\t\t'Januar',\r\n\t\t\t\t'Februar',\r\n\t\t\t\t'März',\r\n\t\t\t\t'April',\r\n\t\t\t\t'Mai',\r\n\t\t\t\t'Juni',\r\n\t\t\t\t'Juli',\r\n\t\t\t\t'August',\r\n\t\t\t\t'September',\r\n\t\t\t\t'Oktober',\r\n\t\t\t\t'November',\r\n\t\t\t\t'Dezember'\r\n\t\t\t],\r\n\t\t\tit: [\r\n\t\t\t\t'gennaio',\r\n\t\t\t\t'febbraio',\r\n\t\t\t\t'marzo',\r\n\t\t\t\t'aprile',\r\n\t\t\t\t'maggio',\r\n\t\t\t\t'giugno',\r\n\t\t\t\t'luglio',\r\n\t\t\t\t'agosto',\r\n\t\t\t\t'settembre',\r\n\t\t\t\t'ottobre',\r\n\t\t\t\t'novembre',\r\n\t\t\t\t'dicembre'\r\n\t\t\t]\r\n\t\t};\r\n\r\n\t\tconst localeMonths = months[locale];\r\n\r\n\t\tconst month = localeMonths[date.getMonth()];\r\n\t\tconst year = date.getFullYear();\r\n\r\n\t\treturn `${month} ${year}`;\r\n\t}\r\n\t/**\r\n\t * Try to find the token in the stringText and replace with dataValue. If detect format of number or date try to format the dataValue\r\n\t * @param stringText\r\n\t * @param token\r\n\t * @param dataValue\r\n\t */\r\n\treplaceToken(stringText: string, token: any, dataValue: any, locale?: string): string {\r\n\t\tlet valueReplace: string = null;\r\n\t\tif (token && token[0] == '#') {\r\n\t\t\tlet typeToken = token.substring(1, token.indexOf('('));\r\n\t\t\tif (typeToken == 'date') {\r\n\t\t\t\tlet dateFormat: string = token.substring(\r\n\t\t\t\t\ttoken.indexOf('}') + 1,\r\n\t\t\t\t\ttoken.indexOf(')')\r\n\t\t\t\t);\r\n\t\t\t\tdateFormat = dateFormat.trim().replace(/\\\"/g, '').replace(/\\'/g, '');\r\n\t\t\t\tlet dateValue = DateUtil.getDate(dataValue);\r\n\t\t\t\tif (locale != null && locale) {\r\n\t\t\t\t\tvalueReplace = this.formatDate(dateValue, locale);\r\n\t\t\t\t} else if (dateValue) {\r\n\t\t\t\t\tvalueReplace = DateUtil.getMoment(dateValue).format(dateFormat);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvalueReplace = '';\r\n\t\t\t\t}\r\n\t\t\t} else if (typeToken == 'number') {\r\n\t\t\t\tlet numberValue: number = Number(dataValue);\r\n\t\t\t\tif (numberValue != undefined && !isNaN(numberValue)) {\r\n\t\t\t\t\tlet numberFormat: string = token.substring(\r\n\t\t\t\t\t\ttoken.indexOf('}') + 1,\r\n\t\t\t\t\t\ttoken.indexOf(')')\r\n\t\t\t\t\t);\r\n\t\t\t\t\tnumberFormat = numberFormat.trim().replace(/\\\"/g, '').replace(/\\'/g, '');\r\n\t\t\t\t\tvalueReplace = this.currencyPipe.transform(\r\n\t\t\t\t\t\tnumberValue,\r\n\t\t\t\t\t\tthis.locale,\r\n\t\t\t\t\t\t'',\r\n\t\t\t\t\t\tnumberFormat\r\n\t\t\t\t\t);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.log(\r\n\t\t\t\t\t\t'El dato [' +\r\n\t\t\t\t\t\t\tdataValue +\r\n\t\t\t\t\t\t\t'] para el token [' +\r\n\t\t\t\t\t\t\ttoken +\r\n\t\t\t\t\t\t\t'] tipo númerico no es valido'\r\n\t\t\t\t\t);\r\n\t\t\t\t\tvalueReplace = '';\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tconsole.log('tipo de token indefinido. [typeToken[' + typeToken + ']]');\r\n\t\t\t}\r\n\t\t} else if (token && token[0] == '$') {\r\n\t\t\tif (\r\n\t\t\t\tdataValue !== null &&\r\n\t\t\t\tdataValue !== undefined &&\r\n\t\t\t\tdataValue.original_name !== undefined &&\r\n\t\t\t\tdataValue.original_name !== null\r\n\t\t\t) {\r\n\t\t\t\tvalueReplace = dataValue.original_name;\r\n\t\t\t} else {\r\n\t\t\t\tvalueReplace = dataValue;\r\n\t\t\t}\r\n\t\t\t// valueReplace = dataValue;\r\n\t\t} else {\r\n\t\t\tconsole.log('El token no es valido. [token[' + token + ']]');\r\n\t\t}\r\n\t\tif (stringText && valueReplace !== null) {\r\n\t\t\t// replace text in a more efficient way\r\n\t\t\tstringText = stringText.split(token).join(valueReplace);\r\n\t\t\t//stringText = stringText.replace(token, valueReplace);\r\n\t\t}\r\n\t\treturn stringText;\r\n\t}\r\n\r\n\tgetListTokensByStringSegmentation(stringText: string): any[] {\r\n\t\tconst arrayToken = stringText.match(/\\${([^}]+)\\}/g);\r\n\t\tconst arrayTokenFormattedDate = stringText.match(/\\#date[^)]+\\)/g);\r\n\t\tconst arrayTokenFormattedNumber = stringText.match(/\\#number[^)]+\\)/g);\r\n\t\tlet arrayTokenFormatted = [];\r\n\t\tif (\r\n\t\t\tarrayTokenFormattedDate &&\r\n\t\t\tarrayTokenFormattedDate.length > 0 &&\r\n\t\t\tarrayTokenFormattedNumber &&\r\n\t\t\tarrayTokenFormattedNumber.length > 0\r\n\t\t) {\r\n\t\t\tarrayTokenFormatted = arrayTokenFormattedDate.concat(arrayTokenFormattedNumber);\r\n\t\t} else if (arrayTokenFormattedDate && arrayTokenFormattedDate.length > 0) {\r\n\t\t\tarrayTokenFormatted = arrayTokenFormattedDate.slice();\r\n\t\t} else if (arrayTokenFormattedNumber && arrayTokenFormattedNumber.length > 0) {\r\n\t\t\tarrayTokenFormatted = arrayTokenFormattedNumber.slice();\r\n\t\t}\r\n\t\tconst result: any[] = [];\r\n\r\n\t\tif (arrayToken) {\r\n\t\t\tfor (const token of arrayToken) {\r\n\t\t\t\tconst infoToken = { key: token, value: token };\r\n\t\t\t\tif (arrayTokenFormatted) {\r\n\t\t\t\t\tfor (const tokenFormatted of arrayTokenFormatted) {\r\n\t\t\t\t\t\tconst index = tokenFormatted.indexOf(token);\r\n\t\t\t\t\t\tif (index >= 0) {\r\n\t\t\t\t\t\t\tinfoToken.value = tokenFormatted;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tresult.push(infoToken);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn result;\r\n\t}\r\n\r\n\tchangeIdPropertiesOfObject(normalizationColumns: any[], listData: any[]): any[] {\r\n\t\tconst newData = [];\r\n\t\tlistData.forEach((data) => {\r\n\t\t\tconst objData = {};\r\n\t\t\tObject.keys(data).forEach((property) => {\r\n\t\t\t\tif (data.hasOwnProperty(property)) {\r\n\t\t\t\t\tnormalizationColumns.forEach((column) => {\r\n\t\t\t\t\t\tif (column.idColumn.toString() === property) {\r\n\t\t\t\t\t\t\tobjData[column.key] = data[property];\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tif (objData) {\r\n\t\t\t\tnewData.push(objData);\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn newData;\r\n\t}\r\n\r\n\tgenerateHtmlByTokensAndData(html: string, listData: any[], listTokens: any[]): string[] {\r\n\t\tconst translatedCards: any[] = [];\r\n\t\tlistData.forEach((data) => {\r\n\t\t\tconst objToken = {};\r\n\t\t\tconst htmlTranslated = { html: html };\r\n\t\t\tObject.keys(data).forEach((property) => {\r\n\t\t\t\tlistTokens.forEach((token) => {\r\n\t\t\t\t\tif (property == token.key.replace('${', '').replace('}', '')) {\r\n\t\t\t\t\t\tobjToken[token.key] = data[property];\r\n\t\t\t\t\t\thtmlTranslated.html = htmlTranslated.html.replace(\r\n\t\t\t\t\t\t\ttoken.key,\r\n\t\t\t\t\t\t\tdata[property]\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t\ttranslatedCards.push(htmlTranslated);\r\n\t\t});\r\n\t\treturn translatedCards;\r\n\t}\r\n\r\n\tgetListTokensByString(stringText: string): any[] {\r\n\t\tvar arrayToken = stringText.match(/\\${([^}]+)\\}/g);\r\n\t\tvar arrayTokenFormattedDate = stringText.match(/\\#date[^)]+\\)/g);\r\n\t\tvar arrayTokenFormattedNumber = stringText.match(/\\#number[^)]+\\)/g);\r\n\t\tvar arrayTokenFormatted = [];\r\n\t\tif (\r\n\t\t\tarrayTokenFormattedDate &&\r\n\t\t\tarrayTokenFormattedDate.length > 0 &&\r\n\t\t\tarrayTokenFormattedNumber &&\r\n\t\t\tarrayTokenFormattedNumber.length > 0\r\n\t\t) {\r\n\t\t\tarrayTokenFormatted = arrayTokenFormattedDate.concat(arrayTokenFormattedNumber);\r\n\t\t} else if (arrayTokenFormattedDate && arrayTokenFormattedDate.length > 0) {\r\n\t\t\tarrayTokenFormatted = arrayTokenFormattedDate.slice();\r\n\t\t} else if (arrayTokenFormattedNumber && arrayTokenFormattedNumber.length > 0) {\r\n\t\t\tarrayTokenFormatted = arrayTokenFormattedNumber.slice();\r\n\t\t}\r\n\t\tvar result: any[] = [];\r\n\r\n\t\tif (arrayToken) {\r\n\t\t\tfor (const token of arrayToken) {\r\n\t\t\t\tlet keyType: number = TokenService.getKeyType(token);\r\n\t\t\t\tif (keyType === null) {\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t\tvar infoToken = { key: token, value: token };\r\n\t\t\t\tif (arrayTokenFormatted) {\r\n\t\t\t\t\tfor (const tokenFormatted of arrayTokenFormatted) {\r\n\t\t\t\t\t\tvar index = tokenFormatted.indexOf(token);\r\n\t\t\t\t\t\tif (index >= 0) {\r\n\t\t\t\t\t\t\tinfoToken.value = tokenFormatted;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tresult.push(infoToken);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn result;\r\n\r\n\t\t// let tokens: any[] = [];\r\n\t\t// let i = this.nextValidPositionTokens(stringText, 0);\r\n\t\t// let count = 0;\r\n\t\t// while (i >= 0 && count <= 10) {\r\n\t\t// let infoToken: {} = null;\r\n\t\t// let nextI: number = i;\r\n\t\t// let character = stringText.substring(i, (i + 1));\r\n\t\t// if (character == \"$\") {\r\n\t\t// let nextCharacter = stringText.substring((i + 1), (i + 2));\r\n\t\t// // The next character need to be a { sign\r\n\t\t// if (nextCharacter != \"{\") {\r\n\t\t// i = this.nextValidPositionTokens(stringText, nextI + 1);\r\n\t\t// continue;\r\n\t\t// }\r\n\t\t// let keyToken: string = stringText.substring(i, stringText.indexOf(\"}\", i) + 1);\r\n\t\t// // If the token have a valid key type\r\n\t\t// let keyType: number = TokenService.getKeyType(keyToken.replace(\"{\", \"\").replace(\"}\", \"\"));\r\n\t\t// if (keyType === null) {\r\n\t\t// i = this.nextValidPositionTokens(stringText, nextI + 1);\r\n\t\t// continue;\r\n\t\t// }\r\n\t\t// infoToken = {\r\n\t\t// key: keyToken,\r\n\t\t// value: keyToken\r\n\t\t// };\r\n\t\t// nextI = stringText.indexOf(\"}\", i);\r\n\t\t// } else {\r\n\t\t// let nextSign: number = stringText.indexOf(\"$\", i);\r\n\t\t// // We inly support #date($ and #number($ in this 2 scenarios the lenght can't be more than 10 characters\r\n\t\t// if (nextSign < 0 || (nextSign - i) > 10) {\r\n\t\t// i = this.nextValidPositionTokens(stringText, nextI + 1);\r\n\t\t// continue;\r\n\t\t// }\r\n\t\t// let keyToken: string = stringText.substring(stringText.indexOf(\"$\", i), stringText.indexOf(\"}\", i) + 1);\r\n\t\t// let valueToken: string = stringText.substring(i, stringText.indexOf(\")\", i) + 1);\r\n\t\t// infoToken = {\r\n\t\t// key: keyToken,\r\n\t\t// value: valueToken\r\n\t\t// };\r\n\t\t// nextI = stringText.indexOf(\")\", i);\r\n\t\t// }\r\n\t\t// tokens.push(infoToken);\r\n\t\t// i = this.nextValidPositionTokens(stringText, nextI);\r\n\t\t// count++;\r\n\t\t// }\r\n\t\t// return tokens;\r\n\t}\r\n\r\n\tnextValidPositionTokens(stringText: string, nextI: number): number {\r\n\t\tlet tokenDollarSign: number = stringText.indexOf('$', nextI);\r\n\t\tlet tokenNumSign: number = stringText.indexOf('#', nextI);\r\n\t\tlet i: number =\r\n\t\t\ttokenDollarSign < 0 && tokenNumSign >= 0\r\n\t\t\t\t? tokenNumSign\r\n\t\t\t\t: tokenNumSign < 0 && tokenDollarSign >= 0\r\n\t\t\t\t? tokenDollarSign\r\n\t\t\t\t: tokenDollarSign < tokenNumSign\r\n\t\t\t\t? tokenDollarSign\r\n\t\t\t\t: tokenNumSign;\r\n\t\treturn i;\r\n\t}\r\n\r\n\t/**\r\n\t * It reuses replaceTokensFromListObjectPublic but set all keys lobjecttokens as lowercase\r\n\t * @param tokenName\r\n\t * @param formula\r\n\t * @param lObjectTokens\r\n\t */\r\n\treplaceTokensFromListObjectPublic(\r\n\t\ttokenName: string,\r\n\t\tformula: string,\r\n\t\tlObjectTokens: any[]\r\n\t): string {\r\n\t\tlet lDataOrg: any[] = [];\r\n\t\tif (lObjectTokens) {\r\n\t\t\tfor (let dataForm in lObjectTokens) {\r\n\t\t\t\tlDataOrg[dataForm.toLowerCase()] = lObjectTokens[dataForm];\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn this.replaceTokensFromListObject(tokenName, formula, lDataOrg);\r\n\t}\r\n\t/**\r\n\t * @param tokenName token name\r\n\t * @param formula String with the formula to execute\r\n\t * @param lObjectTokens List of tokens with the values to replace\r\n\t */\r\n\treplaceTokensFromListObject(tokenName: string, formula: string, lObjectTokens: any): string {\r\n\t\tif (!formula || formula.length == 0) {\r\n\t\t\tthrow {\r\n\t\t\t\tmessage: 'La formula del token ' + tokenName + ' esta vacía',\r\n\t\t\t\ttitle: 'Alerta!',\r\n\t\t\t\terror:\r\n\t\t\t\t\t'La formula del token ' + tokenName + ' esta vacía. [formula[' + formula + ']]'\r\n\t\t\t};\r\n\t\t}\r\n\t\tlet replacedTokens: string = formula.toString();\r\n\t\tif (replacedTokens.startsWith('file://')) {\r\n\t\t\treturn replacedTokens;\r\n\t\t}\r\n\t\t// Find the tokens in the formula\r\n\t\tlet tokensArray: any[] = this.getListTokensByString(replacedTokens);\r\n\t\tif (tokensArray.length == 0) {\r\n\t\t\treturn replacedTokens;\r\n\t\t}\r\n\t\t// If there any token, try to replace\r\n\t\tfor (let i = 0; i < tokensArray.length; i++) {\r\n\t\t\tlet objectToken =\r\n\t\t\t\tlObjectTokens[tokensArray[i].key] !== undefined\r\n\t\t\t\t\t? lObjectTokens[tokensArray[i].key]\r\n\t\t\t\t\t: null;\r\n\t\t\tlet clearKey;\r\n\t\t\tif (objectToken == null) {\r\n\t\t\t\tclearKey = tokensArray[i].key.replace('${', '').replace('}', '').toLowerCase();\r\n\t\t\t\tobjectToken =\r\n\t\t\t\t\tlObjectTokens[clearKey] !== undefined ? lObjectTokens[clearKey] : null;\r\n\r\n\t\t\t\tif (objectToken == null) {\r\n\t\t\t\t\tclearKey = tokensArray[i].key\r\n\t\t\t\t\t\t.replace('{', '')\r\n\t\t\t\t\t\t.replace('}', '')\r\n\t\t\t\t\t\t.split('_')[1]\r\n\t\t\t\t\t\t.toLowerCase();\r\n\t\t\t\t\tobjectToken =\r\n\t\t\t\t\t\tlObjectTokens[clearKey] !== undefined ? lObjectTokens[clearKey] : null;\r\n\t\t\t\t\tif (objectToken === null || objectToken === undefined) {\r\n\t\t\t\t\t\tconst arrayKey = tokensArray[i].key\r\n\t\t\t\t\t\t\t.replace('{', '')\r\n\t\t\t\t\t\t\t.replace('}', '')\r\n\t\t\t\t\t\t\t.split('_')[1]\r\n\t\t\t\t\t\t\t.split('.');\r\n\t\t\t\t\t\tif (arrayKey.length > 0) {\r\n\t\t\t\t\t\t\tlet value = lObjectTokens;\r\n\t\t\t\t\t\t\tfor (let index = 0; index < arrayKey.length; index++) {\r\n\t\t\t\t\t\t\t\tlet element = arrayKey[index];\r\n\t\t\t\t\t\t\t\tif (index == 0) {\r\n\t\t\t\t\t\t\t\t\telement = element.toLowerCase();\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tvalue = value[element];\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tobjectToken = value;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (objectToken == null) {\r\n\t\t\t\t// If not find the token, by default put an empty string\r\n\t\t\t\t/*if (TokenService.excludedToken.indexOf(clearKey) === -1) {\r\n\t\t\t\t\tconsole.error(\r\n\t\t\t\t\t\t'El token ' + tokensArray[i].value + ' no fue encontrado.',\r\n\t\t\t\t\t\tlObjectTokens,\r\n\t\t\t\t\t\ttokensArray\r\n\t\t\t\t\t);\r\n\t\t\t\t}*/\r\n\t\t\t\tobjectToken = '';\r\n\t\t\t}\r\n\t\t\tif (objectToken != null) {\r\n\t\t\t\t// let value: any = Number(objectToken)\r\n\t\t\t\t// \t? objectToken\r\n\t\t\t\t// \t: Array.isArray(objectToken)\r\n\t\t\t\t// \t? JSON.stringify(objectToken)\r\n\t\t\t\t// \t: \"'\" + objectToken + \"'\";\r\n\t\t\t\tlet value: any;\r\n\t\t\t\tif(Number(objectToken)){\r\n\t\t\t\t\tvalue = Number(objectToken);\r\n\t\t\t\t}else if(Array.isArray(objectToken)){\r\n\t\t\t\t\tvalue = Array.isArray(objectToken);\r\n\t\t\t\t}else if(JSON.stringify(objectToken)){\r\n\t\t\t\t\tvalue = objectToken.original_name ? \"'\" + objectToken.original_name + \"'\" : JSON.stringify(objectToken);\r\n\t\t\t\t}else{\r\n\t\t\t\t\tvalue = \"'\" + objectToken + \"'\";\r\n\t\t\t\t}\r\n\t\t\t\treplacedTokens = this.replaceToken(replacedTokens, tokensArray[i].value, value);\r\n\t\t\t\t// } else {\r\n\t\t\t\t// console.error(lObjectTokens, tokensArray);\r\n\t\t\t\t// throw {\r\n\t\t\t\t// message: \"No se encontró valor para un token\",\r\n\t\t\t\t// title: \"Alerta!\",\r\n\t\t\t\t// error: \"El token \" + tokensArray[i].value + \" no fue encontrado.\"\r\n\t\t\t\t// };\r\n\t\t\t\t//\r\n\t\t\t\t// Si es la ultima iteracion y la formula tiene [ es porque tiene un array en el valor que resolvio el token\r\n\t\t\t\tif (i == tokensArray.length - 1 && replacedTokens.includes('[')) {\r\n\t\t\t\t\t// Se ponen todos los operandos como elementos en un array ['expresion a', '&&', 'Expresion B']\r\n\t\t\t\t\tlet formExpressions: string[] = replacedTokens.split(/ (\\|\\||&&) /);\r\n\t\t\t\t\tlet lAuxformExpression: string[] = [];\r\n\t\t\t\t\tformExpressions.forEach((expression: string) => {\r\n\t\t\t\t\t\tif (expression.charAt(0) == '[') {\r\n\t\t\t\t\t\t\tlet isTagFound: string = '';\r\n\t\t\t\t\t\t\tisTagFound = this.findTag(expression);\r\n\t\t\t\t\t\t\tlAuxformExpression.push(isTagFound);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tlAuxformExpression.push(expression);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\treplacedTokens = lAuxformExpression.join(' ');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn replacedTokens;\r\n\t}\r\n\r\n\t/**\r\n\t * MEtodo que teniendo una expresion de la forma ['tag1', 'tag2']==tag3\r\n\t * evalua si tag3 hace parte del array si tiene el operador ==.\r\n\t * Si tiene el operador != examina que tag3 no haga parte del array+\r\n\t *\r\n\t * @param expression Operando que evalua tag. Es de la forma ['tag1', 'tag2']==tag3\r\n\t * @returns Retorna 'true' o 'false' en string que despues sera pasado a un eval()\r\n\t * mas adelante en el flujo\r\n\t */\r\n\tfindTag(expression: string): string {\r\n\t\tlet regexOperator = new RegExp('(===|==|!==|!=)');\r\n\t\t// Retorna el operador\r\n\t\tlet operator: string[] = expression.match(regexOperator);\r\n\t\t// Si no encuentra un operador segun el patron retorna 'false'\r\n\t\t// para evitar resultados inesperados\r\n\t\tif (operator == null) {\r\n\t\t\tconsole.error('No se encontro un operador permitido para la expresion');\r\n\t\t\treturn 'false';\r\n\t\t}\r\n\t\t// Separa la sentencia por el operador\r\n\t\t// La primera parte es el valor por el cual se remplaza el token que es un array en string \"['a', 'b']\"\r\n\t\t// El segundo es el valor con el cual se va a comparar\r\n\t\tlet valueToken, valueToCompare;\r\n\t\t[valueToken, valueToCompare] = expression.split(operator[0]);\r\n\t\t// Se limpia el string correspondiente al array para que los elementos queden separados por \",\"\r\n\t\tvalueToken = valueToken.replace(/[^a-zA-Z0-9 ,]/g, '');\r\n\t\t// Si no hay tags asociados al registro se devuelve 'false'\r\n\t\tif (!valueToken) {\r\n\t\t\tconsole.error('No hay tags asociados a esta aplicación');\r\n\t\t\treturn 'false';\r\n\t\t}\r\n\t\t// Se limpia el string correspondiente al valor por comparar\r\n\t\tvalueToCompare = valueToCompare.replace(/[^a-zA-Z0-9 ]/g, '');\r\n\t\t// El string correspondiente al array pasa a ser tipo array\r\n\t\tvalueToken = valueToken.split(',');\r\n\r\n\t\t// Se trata de constatar si el valor a comparar se encuetra o no dentro\r\n\t\t// Si el operador que se encontro == returna true si lo encuentra\r\n\t\tlet isTagFound: boolean = true;\r\n\t\tswitch (operator[0]) {\r\n\t\t\tcase '==':\r\n\t\t\t\tisTagFound = valueToken.some((tag) => tag == valueToCompare);\r\n\t\t\t\tbreak;\r\n\t\t\tcase '===':\r\n\t\t\t\tisTagFound = valueToken.some((tag) => tag === valueToCompare);\r\n\t\t\t\tbreak;\r\n\t\t\tcase '!==':\r\n\t\t\t\tisTagFound = valueToken.some((tag) => tag !== valueToCompare);\r\n\t\t\t\tbreak;\r\n\t\t\tcase '!=':\r\n\t\t\t\tisTagFound = valueToken.some((tag) => tag != valueToCompare);\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\texpression = isTagFound ? 'true' : 'false';\r\n\t\treturn expression;\r\n\t}\r\n\r\n\t/**\r\n\t * Try to eval the formula depend of the type of fields.\r\n\t * @param lStaticToken\r\n\t * @param formulaName\r\n\t * @param formula\r\n\t */\r\n\tvalidateFormula(lStaticToken: any, formulaName: string, formula: string): boolean {\r\n\t\tlet evalFormula: boolean = false;\r\n\t\t// To validate the formula, first organize the info to key - value array\r\n\t\tlet objectTokens: any[] = [];\r\n\t\tfor (let panel of lStaticToken) {\r\n\t\t\tfor (let groupToken of panel.value) {\r\n\t\t\t\tfor (let staticToken of groupToken.value) {\r\n\t\t\t\t\tfor (let arrayTokenInfo of staticToken) {\r\n\t\t\t\t\t\tobjectTokens[arrayTokenInfo.key] = arrayTokenInfo.object\r\n\t\t\t\t\t\t\t? arrayTokenInfo.object.type == 'number'\r\n\t\t\t\t\t\t\t\t? '0'\r\n\t\t\t\t\t\t\t\t: ''\r\n\t\t\t\t\t\t\t: '';\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\ttry {\r\n\t\t\tformula = this.replaceTokensFromListObject(formulaName, formula, objectTokens);\r\n\t\t} catch (error) {\r\n\t\t\t//console.error(error);\r\n\t\t\tthrow error;\r\n\t\t}\r\n\t\tif (formula !== null) {\r\n\t\t\ttry {\r\n\t\t\t\tlet result = formula.startsWith('file://') ? formula : eval(formula);\r\n\t\t\t\tevalFormula = true;\r\n\t\t\t} catch (e) {\r\n\t\t\t\t//console.error(\"Error evaluating the formula\", e);\r\n\t\t\t\tthrow {\r\n\t\t\t\t\tmessage: 'La formula no fue posible evaluar',\r\n\t\t\t\t\ttitle: 'Alerta!',\r\n\t\t\t\t\terror: e\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn evalFormula;\r\n\t}\r\n\r\n\tgetConfigCloningTokenMap(oldPPP: number, newPPP: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'token/getConfigCloningTokenMap',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('oldPPP', oldPPP.toString())\r\n\t\t\t\t\t.set('newPPP', newPPP.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { map, catchError } from 'rxjs/operators';\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport { Subject, Observable } from 'rxjs';\r\n// import * as Rx from 'rxjs';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { AuthenticationService } from './authentication.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport {\r\n\tHEADER_JSON,\r\n\tPliCnfPresupuestoGlobal,\r\n\tPliCnfPresupuestoGlobalRubro,\r\n\tPliCnfPresupuestoAsistente,\r\n\tPliTipoPeriodo,\r\n\tPliTipoPresupuesto,\r\n\tPliTipoGeneracionPresupuesto,\r\n\tPliTipoCuentaDestino,\r\n\tAuthenticationUtil\r\n} from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class BudgetService {\r\n\t/** Notify when a global budget change */\r\n\tlGlobalBudgetChanged = new Subject<PliCnfPresupuestoGlobal[]>();\r\n\t/** List of global budget */\r\n\tprivate lGlobalBudget!: PliCnfPresupuestoGlobal[];\r\n\t/** Notify when a global budget by category change */\r\n\tlGlobalBudgetCategoryChanged = new Subject<PliCnfPresupuestoGlobalRubro[]>();\r\n\t/** List of global budget by category */\r\n\tprivate lGlobalBudgetCategory!: PliCnfPresupuestoGlobalRubro[];\r\n\t/** Notify when a global budget by category change */\r\n\tlGlobalBudgetWizardChanged = new Subject<PliCnfPresupuestoAsistente[]>();\r\n\t/** List of global budget by category */\r\n\tprivate lGlobalBudgetWizard!: PliCnfPresupuestoAsistente[];\r\n\r\n\tconstructor(\r\n\t\t@Inject('environment') private environment: any,\r\n\t\tprivate httpClient: HttpClient,\r\n\t\tprivate authService: AuthenticationService,\r\n\t\tprivate toastr: ToastrService\r\n\t) {}\r\n\r\n\t/** Returns a list of PliCnfPresupuestoGlobal */\r\n\tgetListPresupuestoGlobal(promCodigo: number) {\r\n\t\tthis.httpClient\r\n\t\t\t.get<PliCnfPresupuestoGlobal[]>(\r\n\t\t\t\tthis.environment.host.backend.plis + 'config/presupuesto/getAllPresupuestoGlobal',\r\n\t\t\t\t{\r\n\t\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t\t.set('promCodigo', promCodigo.toString())\r\n\t\t\t\t\t\t.set('cargarListas', 'false')\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t\t.pipe(\r\n\t\t\t\tmap((lGlobalBudget: PliCnfPresupuestoGlobal[]) => {\r\n\t\t\t\t\tif (lGlobalBudget && lGlobalBudget.length > 0) {\r\n\t\t\t\t\t\tfor (var key in lGlobalBudget) {\r\n\t\t\t\t\t\t\tlet globalBudget: PliCnfPresupuestoGlobal = Object.assign(\r\n\t\t\t\t\t\t\t\tnew PliCnfPresupuestoGlobal(),\r\n\t\t\t\t\t\t\t\tlGlobalBudget[key]\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tlGlobalBudget[key] = globalBudget.fieldsValidation();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.setListGlobalBudget(lGlobalBudget);\r\n\t\t\t\t}),\r\n\t\t\t\tcatchError((error) => {\r\n\t\t\t\t\tconsole.log('El sistema no responde', error);\r\n\t\t\t\t\tthrow this.toastr.error('El sistema no responde', 'Error!');\r\n\t\t\t\t})\r\n\t\t\t)\r\n\t\t\t.subscribe();\r\n\t}\r\n\r\n\t_getListPresupuestoGlobal(promCodigo: number) {\r\n\t\treturn this.httpClient.get<PliCnfPresupuestoGlobal[]>(\r\n\t\t\tthis.environment.host.backend.plis + 'config/presupuesto/getAllPresupuestoGlobal',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigo', promCodigo.toString())\r\n\t\t\t\t\t.set('cargarListas', 'false')\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves a pliCnfPresupuestoGlobal */\r\n\tsavePresupuestoGlobal(\r\n\t\tpliCnfPresupuestoGlobalBefore: PliCnfPresupuestoGlobal,\r\n\t\tpliCnfPresupuestoGlobal: PliCnfPresupuestoGlobal,\r\n\t\tpatCodigo: number\r\n\t): Observable<any> {\r\n\t\tlet object = {\r\n\t\t\tpliCnfPresupuestoGlobal: pliCnfPresupuestoGlobal,\r\n\t\t\tpliCnfPresupuestoGlobalBefore: pliCnfPresupuestoGlobalBefore,\r\n\t\t\tpliUsuario: AuthenticationUtil.getPliUsuario(),\r\n\t\t\tpatCodigo: patCodigo\r\n\t\t};\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.plis + 'config/presupuesto/save',\r\n\t\t\tobject,\r\n\t\t\tHEADER_JSON\r\n\t\t);\r\n\t}\r\n\r\n\tsetListGlobalBudget(lGlobalBudget: PliCnfPresupuestoGlobal[]) {\r\n\t\tthis.lGlobalBudget = lGlobalBudget;\r\n\t\tthis.lGlobalBudgetChanged.next(lGlobalBudget.slice());\r\n\t}\r\n\r\n\tgetListGlobalBudget(): PliCnfPresupuestoGlobal[] {\r\n\t\treturn this.lGlobalBudget.slice();\r\n\t}\r\n\r\n\tgetListTipoPeriodo(): Observable<any> {\r\n\t\treturn this.httpClient.get<PliTipoPeriodo[]>(\r\n\t\t\tthis.environment.host.backend.plis + 'config/presupuesto/getAllTipoPeriodo'\r\n\t\t);\r\n\t}\r\n\r\n\tgetListTipoPresupuesto(): Observable<any> {\r\n\t\treturn this.httpClient.get<PliTipoPresupuesto[]>(\r\n\t\t\tthis.environment.host.backend.plis + 'config/presupuesto/getAllTipoPresupuesto'\r\n\t\t);\r\n\t}\r\n\r\n\tgetAllTipoGeneracionPresupuesto(): Observable<any> {\r\n\t\treturn this.httpClient.get<PliTipoGeneracionPresupuesto[]>(\r\n\t\t\tthis.environment.host.backend.plis +\r\n\t\t\t\t'config/presupuesto/getAllTipoGeneracionPresupuesto'\r\n\t\t);\r\n\t}\r\n\r\n\tgetAllTipoCuentaDestino(): Observable<any> {\r\n\t\treturn this.httpClient.get<PliTipoCuentaDestino[]>(\r\n\t\t\tthis.environment.host.backend.plis + 'config/presupuesto/getAllTipoCuentaDestino'\r\n\t\t);\r\n\t}\r\n\r\n\t/** Returns a list of PliCnfPresupuestoGlobalRubro */\r\n\tgetListPresupuestoGlobalCategory(cpreCodigo: number) {\r\n\t\tthis.httpClient\r\n\t\t\t.get<PliCnfPresupuestoGlobalRubro[]>(\r\n\t\t\t\tthis.environment.host.backend.plis + 'config/presupuesto/getAllPresupuestoRubro',\r\n\t\t\t\t{ params: new HttpParams().set('cpreCodigo', cpreCodigo.toString()) }\r\n\t\t\t)\r\n\t\t\t.pipe(\r\n\t\t\t\tmap((lGlobalBudgetCategory: PliCnfPresupuestoGlobalRubro[]) => {\r\n\t\t\t\t\tif (lGlobalBudgetCategory && lGlobalBudgetCategory.length > 0) {\r\n\t\t\t\t\t\tfor (var key in lGlobalBudgetCategory) {\r\n\t\t\t\t\t\t\tlet globalBudgeCategory: PliCnfPresupuestoGlobalRubro = Object.assign(\r\n\t\t\t\t\t\t\t\tnew PliCnfPresupuestoGlobalRubro(),\r\n\t\t\t\t\t\t\t\tlGlobalBudgetCategory[key]\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tlGlobalBudgetCategory[key] = globalBudgeCategory.fieldsValidation();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.setListGlobalBudgetCategory(lGlobalBudgetCategory);\r\n\t\t\t\t\t\treturn lGlobalBudgetCategory;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treturn [];\r\n\t\t\t\t\t}\r\n\t\t\t\t}),\r\n\t\t\t\tcatchError((error) => {\r\n\t\t\t\t\tconsole.log('El sistema no responde', error);\r\n\t\t\t\t\tthrow this.toastr.error('El sistema no responde', 'Error!');\r\n\t\t\t\t})\r\n\t\t\t).subscribe();\r\n\t}\r\n\r\n\t/** It saves a globalBudgetCategory */\r\n\tsavePresupuestoGlobalCategory(\r\n\t\tglobalBudgetCategoryBefore: PliCnfPresupuestoGlobalRubro,\r\n\t\tglobalBudgetCategory: PliCnfPresupuestoGlobalRubro,\r\n\t\tpatCodigo: number\r\n\t): Observable<any> {\r\n\t\tlet object = {\r\n\t\t\tpliCnfPresupuestoGlobalRubro: globalBudgetCategory,\r\n\t\t\tpliCnfPresupuestoGlobalRubroBefore: globalBudgetCategoryBefore,\r\n\t\t\tpliUsuario: AuthenticationUtil.getPliUsuario(),\r\n\t\t\tpatCodigo: patCodigo\r\n\t\t};\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.plis + 'config/presupuesto/saveByRubro',\r\n\t\t\tobject,\r\n\t\t\tHEADER_JSON\r\n\t\t);\r\n\t}\r\n\r\n\t/** It delete the globalBudgetCategory */\r\n\tdeletePresupuestoGlobalCategory(\r\n\t\tglobalBudgetCategory: PliCnfPresupuestoGlobalRubro\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.plis + 'config/presupuesto/deleteByRubro',\r\n\t\t\tglobalBudgetCategory,\r\n\t\t\tHEADER_JSON\r\n\t\t);\r\n\t}\r\n\r\n\tsetListGlobalBudgetCategory(lGlobalBudgetCategory: PliCnfPresupuestoGlobalRubro[]) {\r\n\t\tthis.lGlobalBudgetCategory = lGlobalBudgetCategory;\r\n\t\tthis.lGlobalBudgetCategoryChanged.next(lGlobalBudgetCategory);\r\n\t}\r\n\r\n\tgetListGlobalBudgetCategory(): PliCnfPresupuestoGlobalRubro[] {\r\n\t\treturn this.lGlobalBudgetCategory;\r\n\t}\r\n\r\n\t/** Returns a list of PliCnfPresupuestoAsistente */\r\n\tgetListPresupuestoGlobalWizard(cpreCodigo: number) {\r\n\t\tthis.httpClient\r\n\t\t\t.get<PliCnfPresupuestoAsistente[]>(\r\n\t\t\t\tthis.environment.host.backend.plis +\r\n\t\t\t\t\t'config/presupuesto/getAllPresupuestoAsistente',\r\n\t\t\t\t{ params: new HttpParams().set('cpreCodigo', cpreCodigo.toString()) }\r\n\t\t\t)\r\n\t\t\t.pipe(\r\n\t\t\t\tmap((lGlobalBudgetWizard: PliCnfPresupuestoAsistente[]) => {\r\n\t\t\t\t\tif (lGlobalBudgetWizard && lGlobalBudgetWizard.length > 0) {\r\n\t\t\t\t\t\tfor (var key in lGlobalBudgetWizard) {\r\n\t\t\t\t\t\t\tlet globalBudgeWizard: PliCnfPresupuestoAsistente = Object.assign(\r\n\t\t\t\t\t\t\t\tnew PliCnfPresupuestoAsistente(),\r\n\t\t\t\t\t\t\t\tlGlobalBudgetWizard[key]\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tlGlobalBudgetWizard[key] = globalBudgeWizard.fieldsValidation();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.setListGlobalBudgetWizard(lGlobalBudgetWizard);\r\n\t\t\t\t\t\treturn lGlobalBudgetWizard;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treturn [];\r\n\t\t\t\t\t}\r\n\t\t\t\t}),\r\n\t\t\t\tcatchError((error) => {\r\n\t\t\t\t\tconsole.log('El sistema no responde', error);\r\n\t\t\t\t\tthrow this.toastr.error('El sistema no responde', 'Error!');\r\n\t\t\t\t})\r\n\t\t\t).subscribe();\r\n\t}\r\n\r\n\t/** Returns a list of PliCnfPresupuestoAsistente */\r\n\tgetAllPresupuestoAsistente(cpreCodigo: number) {\r\n\t\treturn this.httpClient.get<PliCnfPresupuestoAsistente[]>(\r\n\t\t\tthis.environment.host.backend.plis + 'config/presupuesto/getAllPresupuestoAsistente',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('cpreCodigo', cpreCodigo.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves a globalBudgetWizard */\r\n\tsavePresupuestoGlobalWizard(\r\n\t\tglobalBudgetWizardBefore: PliCnfPresupuestoAsistente,\r\n\t\tglobalBudgetWizard: PliCnfPresupuestoAsistente,\r\n\t\tpatCodigo: number\r\n\t): Observable<any> {\r\n\t\tlet object = {\r\n\t\t\tpliCnfPresupuestoAsistente: globalBudgetWizard,\r\n\t\t\tpliCnfPresupuestoAsistenteBefore: globalBudgetWizardBefore,\r\n\t\t\tpliUsuario: AuthenticationUtil.getPliUsuario(),\r\n\t\t\tpatCodigo: patCodigo\r\n\t\t};\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.plis + 'config/presupuesto/saveAsistenteByRubro',\r\n\t\t\tobject,\r\n\t\t\tHEADER_JSON\r\n\t\t);\r\n\t}\r\n\r\n\tsetListGlobalBudgetWizard(lGlobalBudgetWizard: PliCnfPresupuestoAsistente[]) {\r\n\t\tthis.lGlobalBudgetWizard = lGlobalBudgetWizard;\r\n\t\tthis.lGlobalBudgetWizardChanged.next(lGlobalBudgetWizard);\r\n\t}\r\n\r\n\tgetListGlobalBudgetWizard(): PliCnfPresupuestoAsistente[] {\r\n\t\treturn this.lGlobalBudgetWizard;\r\n\t}\r\n\r\n\t/**\r\n\t * Validate if the category of the budget wizard is used by any beneficiary (only PLIS)\r\n\t */\r\n\tgetBudgetWizardCategoryById(cpreasiCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get<PliCnfPresupuestoAsistente>(\r\n\t\t\tthis.environment.host.backend.plis + 'config/presupuesto/getPresupuestoAsistenteById',\r\n\t\t\t{ params: new HttpParams().set('cpreasiCodigo', cpreasiCodigo.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * Validate if the category of the budget wizard is used by any beneficiary (only PLIS)\r\n\t */\r\n\tisBudgetWizardUseCategory(cpreasiCodigo: number, rubCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get<Boolean>(\r\n\t\t\tthis.environment.host.backend.plis + 'config/presupuesto/validarUsoRubroEnPromocion',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('cpreasiCodigo', cpreasiCodigo.toString())\r\n\t\t\t\t\t.set('rubCodigo', rubCodigo.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tupdateAsistenteOrden(\r\n\t\tlPliCnfPresupuestoAsistente: PliCnfPresupuestoAsistente[]\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.plis + 'config/presupuesto/updateAsistenteOrden',\r\n\t\t\tlPliCnfPresupuestoAsistente,\r\n\t\t\tHEADER_JSON\r\n\t\t);\r\n\t}\r\n\t/**Returns PliCnfPresupuestoGlobalRubro */\r\n\t_getListPresupuestoGlobalCategory(cpreCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get<PliCnfPresupuestoGlobalRubro[]>(\r\n\t\t\tthis.environment.host.backend.plis + 'config/presupuesto/getAllPresupuestoRubro',\r\n\t\t\t{ params: new HttpParams().set('cpreCodigo', cpreCodigo.toString()) }\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { PliCnfCommittee, PliCnfSnapshotToken } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfSnapshotTokenServices {\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\tpublic getAllByPromCode(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}snapshot-token/getByPromCodigo?promCodigo=${promCodigo}`\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getAllType(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}snapshot-token/getAllType`\r\n\t\t);\r\n\t}\r\n\r\n\tpublic save(pliCnfSnapshotToken: PliCnfSnapshotToken): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'snapshot-token/save',\r\n\t\t\tpliCnfSnapshotToken\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getConfigCloningTokenSnapshotMap(oldPPP: number, newPPP: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'snapshot-token/getConfigCloningTokenSnapshotMap',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('oldPPP', oldPPP.toString())\r\n\t\t\t\t\t.set('newPPP', newPPP.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tpublic delete(id: number): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\t`${this.environment.host.backend.configuration}snapshot-token/delete?id=${id}`\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\r\nimport { AuthenticationService } from './authentication.service';\r\nimport { Observable } from 'rxjs';\r\nimport { ConfigurationDocument, JwtUtil, TipoDocumental, UtilString } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class ConfigurationDocumentService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\t/** */\r\n\tstatic STATIC_TOKEN_DOCUMENTARY_KEY_ESPACIO: string = 'espacio';\r\n\t/** */\r\n\tstatic STATIC_TOKEN_DOCUMENTARY_KEY_ESPACIO_1: string = 'espacio1';\r\n\t/** */\r\n\tstatic STATIC_TOKEN_DOCUMENTARY_KEY_ESPACIO_2: string = 'espacio2';\r\n\t/** */\r\n\tstatic STATIC_TOKEN_DOCUMENTARY_KEY_ESPACIO_3: string = 'espacio3';\r\n\t/** */\r\n\tstatic STATIC_TOKEN_DOCUMENTARY_KEY_ESPACIO_4: string = 'espacio4';\r\n\t/** */\r\n\tstatic STATIC_TOKEN_DOCUMENTARY_KEY_PROGRAMA_ORIGEN: string = 'PCBProgramaOrigen';\r\n\t/** */\r\n\tstatic STATIC_TOKEN_DOCUMENTARY_KEY_TIPO_DOCUMENTAL: string = 'tipoDocumental';\r\n\t/** */\r\n\tstatic STATIC_TOKEN_DOCUMENTARY_KEY_NOMBRES_APELLIDOS: string = 'nombresApellidos';\r\n\t/** */\r\n\tstatic STATIC_TOKEN_DOCUMENTARY_KEY_NUMERO_DOCUMENTO: string = 'numeroDocumento';\r\n\t/** */\r\n\tstatic STATIC_TOKEN_DOCUMENTARY_KEY_ANO_PROMOCION: string = 'anoPromocion';\r\n\t/** */\r\n\tstatic STATIC_TOKEN_DOCUMENTARY_KEY_PROMOCION: string = 'promocion';\r\n\t/** */\r\n\tstatic STATIC_TOKEN_DOCUMENTARY_KEY_PROGRAMA: string = 'programa';\r\n\t/** */\r\n\tstatic STATIC_TOKEN_DOCUMENTARY_KEY_PATROCINADOR: string = 'patrocinador';\r\n\t/** */\r\n\tstatic STATIC_TOKEN_DOCUMENTARY_KEY_FECHA_ACTUAL: string = 'fechaActual';\r\n\t/** */\r\n\tstatic STATIC_TOKEN_DOCUMENTARY_KEY_RUTA_DOCUMENTO: string = 'rutaDocumento';\r\n\t/** */\r\n\tstatic STATIC_TOKEN_DOCUMENTARY_KEY_CONSECUTIVO: string = 'consecutivo';\r\n\t/** */\r\n\tstatic STATIC_TOKEN_DOCUMENTARY_KEY_TIPO_ARCHIVO: string = 'tipoArchivo';\r\n\t/** */\r\n\tstatic STATIC_TOKEN_DOCUMENTARY_KEY_EMAIL: string = 'email';\r\n\r\n\t/** */\r\n\tstatic STATIC_TOKEN_DOCUMENTARY: any[] = [\r\n\t\t{\r\n\t\t\tkey: ConfigurationDocumentService.STATIC_TOKEN_DOCUMENTARY_KEY_TIPO_DOCUMENTAL,\r\n\t\t\tlabel: 'Tipo documental',\r\n\t\t\tknowSource: true\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: ConfigurationDocumentService.STATIC_TOKEN_DOCUMENTARY_KEY_NOMBRES_APELLIDOS,\r\n\t\t\tlabel: 'Nombres apellidos',\r\n\t\t\tknowSource: false\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: ConfigurationDocumentService.STATIC_TOKEN_DOCUMENTARY_KEY_NUMERO_DOCUMENTO,\r\n\t\t\tlabel: 'Número documento',\r\n\t\t\tknowSource: false\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: ConfigurationDocumentService.STATIC_TOKEN_DOCUMENTARY_KEY_ESPACIO,\r\n\t\t\tlabel: 'Espacio 1',\r\n\t\t\tknowSource: true\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: ConfigurationDocumentService.STATIC_TOKEN_DOCUMENTARY_KEY_ANO_PROMOCION,\r\n\t\t\tlabel: 'Año promoción',\r\n\t\t\tknowSource: true\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: ConfigurationDocumentService.STATIC_TOKEN_DOCUMENTARY_KEY_FECHA_ACTUAL,\r\n\t\t\tlabel: 'Fecha actual',\r\n\t\t\tknowSource: true\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: ConfigurationDocumentService.STATIC_TOKEN_DOCUMENTARY_KEY_RUTA_DOCUMENTO,\r\n\t\t\tlabel: 'Ruta documento',\r\n\t\t\tknowSource: true\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: ConfigurationDocumentService.STATIC_TOKEN_DOCUMENTARY_KEY_CONSECUTIVO,\r\n\t\t\tlabel: 'Consecutivo',\r\n\t\t\tknowSource: true\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: ConfigurationDocumentService.STATIC_TOKEN_DOCUMENTARY_KEY_TIPO_ARCHIVO,\r\n\t\t\tlabel: 'Tipo archivo',\r\n\t\t\tknowSource: true\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: ConfigurationDocumentService.STATIC_TOKEN_DOCUMENTARY_KEY_EMAIL,\r\n\t\t\tlabel: 'Email',\r\n\t\t\tknowSource: false\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: ConfigurationDocumentService.STATIC_TOKEN_DOCUMENTARY_KEY_PROGRAMA_ORIGEN,\r\n\t\t\tlabel: 'Programa origen PCB',\r\n\t\t\tknowSource: true\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: ConfigurationDocumentService.STATIC_TOKEN_DOCUMENTARY_KEY_PROGRAMA,\r\n\t\t\tlabel: 'Programa',\r\n\t\t\tknowSource: true\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: ConfigurationDocumentService.STATIC_TOKEN_DOCUMENTARY_KEY_PATROCINADOR,\r\n\t\t\tlabel: 'Patrocinador',\r\n\t\t\tknowSource: true\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: ConfigurationDocumentService.STATIC_TOKEN_DOCUMENTARY_KEY_PROMOCION,\r\n\t\t\tlabel: 'Promoción',\r\n\t\t\tknowSource: true\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: ConfigurationDocumentService.STATIC_TOKEN_DOCUMENTARY_KEY_ESPACIO_1,\r\n\t\t\tlabel: 'Espacio 2',\r\n\t\t\tknowSource: true\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: ConfigurationDocumentService.STATIC_TOKEN_DOCUMENTARY_KEY_ESPACIO_2,\r\n\t\t\tlabel: 'Espacio 3',\r\n\t\t\tknowSource: true\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: ConfigurationDocumentService.STATIC_TOKEN_DOCUMENTARY_KEY_ESPACIO_3,\r\n\t\t\tlabel: 'Espacio 4',\r\n\t\t\tknowSource: true\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: ConfigurationDocumentService.STATIC_TOKEN_DOCUMENTARY_KEY_ESPACIO_4,\r\n\t\t\tlabel: 'Espacio 5',\r\n\t\t\tknowSource: true\r\n\t\t}\r\n\t];\r\n\r\n\tstatic DOCUMENT_STORAGE = 'tokenDocuments';\r\n\r\n\tconstructor(\r\n\t\t@Inject('environment') private environment,\r\n\t\tprivate httpClient: HttpClient,\r\n\t\tprivate authService: AuthenticationService\r\n\t) {}\r\n\r\n\t/** It returns the list documents by promCodigo and tgdocCodigo */\r\n\tgeListByPromCodigoAndTgdocCodigo(promCodigo: number, tgdocCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'configuration-document/getByPromCodigoAndTgdocCodigo',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigo', promCodigo.toString())\r\n\t\t\t\t\t.set('tgdocCodigo', tgdocCodigo.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the list documents by prom codigo */\r\n\tgetListByPromCodigo(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'configuration-document/getByPromCodigo',\r\n\t\t\t{ params: new HttpParams().set('promCodigo', promCodigo.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the configuration document by id */\r\n\tgetById(id: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'configuration-document/getById',\r\n\t\t\t{ params: new HttpParams().set('id', id.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves a configuration-document */\r\n\tsave(configurationDocument: ConfigurationDocument): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'configuration-document/save',\r\n\t\t\tconfigurationDocument,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tgetConfigCloningConDocumentMap(oldPPP: number, newPPP: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'configuration-document/getConfigCloningConDocumentMap',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('oldPPP', oldPPP.toString())\r\n\t\t\t\t\t.set('newPPP', newPPP.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** It updates a configuration-document list */\r\n\tupdatePosition(lConfigurationDocument: ConfigurationDocument[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'configuration-document/updatePosition',\r\n\t\t\tlConfigurationDocument,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the list documents by tdl codigo */\r\n\tgetByTdlCodigo(tdlCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'configuration-document/getByTdlCodigo',\r\n\t\t\t{ params: new HttpParams().set('tdlCodigo', tdlCodigo.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the list documents by promCodigo and tdlCodigo */\r\n\tgetByPromCodigoAndTdlCodigo(promCodigo: number, tdlCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'configuration-document/getByPromCodigoAndTdlCodigo',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigo', promCodigo.toString())\r\n\t\t\t\t\t.set('tdlCodigo', tdlCodigo.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the list of tipo grupo documental */\r\n\tgetListTipoGrupoDocumental(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.plis + 'config/documento/getTipoGrupoDocumental'\r\n\t\t);\r\n\t}\r\n\r\n\tcreateDocumentName(\r\n\t\tdocumentaryType: TipoDocumental,\r\n\t\tidPerson: string,\r\n\t\tfileName: string\r\n\t): string {\r\n\t\tlet tdlNombreConc =\r\n\t\t\tdocumentaryType && documentaryType.tdlNombre\r\n\t\t\t\t? UtilString.replaceAccentSpacesOthers(documentaryType.tdlNombre)\r\n\t\t\t\t: null;\r\n\t\tlet idPersonaConc = idPerson ? UtilString.replaceAccentSpacesOthers(idPerson) : null;\r\n\t\tlet fileNameConc = fileName ? UtilString.replaceAccentSpacesOthers(fileName) : null;\r\n\t\tlet contcat = tdlNombreConc ? '_' + tdlNombreConc : '';\r\n\t\tcontcat += idPersonaConc ? '_' + idPersonaConc : '';\r\n\t\tcontcat += fileNameConc ? '_' + fileNameConc : '';\r\n\t\tcontcat = contcat.length > 0 ? contcat.substring(1) : '';\r\n\t\treturn contcat;\r\n\t}\r\n\r\n\t/** It returns the cnf document according to profile have been setting up */\r\n\tgetByPromCodigoAndProfile(promCodigo: number, patCodigo: number): Observable<any> {\r\n\t\tlet params = new HttpParams()\r\n\t\t\t.set('promCodigo', promCodigo.toString())\r\n\t\t\t.set('patCodigo', patCodigo.toString());\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'configuration-document/getByPromCodigoAndProfile',\r\n\t\t\t{ params: params }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the cnf document according to profile have been setting up */\r\n\tgetDocumentProfiles(configurationDocumentId: number): Observable<any> {\r\n\t\tconst params = new HttpParams().set(\r\n\t\t\t'configurationDocumentId',\r\n\t\t\tconfigurationDocumentId.toString()\r\n\t\t);\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'configuration-document/getDocumentProfiles',\r\n\t\t\t{ params }\r\n\t\t);\r\n\t}\r\n\r\n\tgetDocumentsEncrypted(patCodigo: string, promCodigo: string): Promise<any> {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tlet documentStorage = localStorage.getItem(\r\n\t\t\t\tConfigurationDocumentService.DOCUMENT_STORAGE\r\n\t\t\t);\r\n\t\t\tlet mapTmp;\r\n\t\t\tif (documentStorage) {\r\n\t\t\t\tmapTmp = JSON.parse(documentStorage);\r\n\t\t\t\tif (mapTmp[promCodigo]) {\r\n\t\t\t\t\tresolve(mapTmp[promCodigo]);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthis.getEncryptedByPromCodigoProfile(patCodigo, promCodigo).subscribe(\r\n\t\t\t\t(documentsByProfile) => {\r\n\t\t\t\t\tif (documentsByProfile) {\r\n\t\t\t\t\t\tlet decrypt = JwtUtil.parseJwt(documentsByProfile['encrypt']);\r\n\t\t\t\t\t\tif (decrypt && decrypt.documents) {\r\n\t\t\t\t\t\t\tif (mapTmp) mapTmp[promCodigo] = decrypt.documents;\r\n\t\t\t\t\t\t\telse mapTmp = {};\r\n\r\n\t\t\t\t\t\t\tlocalStorage.setItem(\r\n\t\t\t\t\t\t\t\tConfigurationDocumentService.DOCUMENT_STORAGE,\r\n\t\t\t\t\t\t\t\tJSON.stringify(mapTmp)\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tresolve(decrypt.documents);\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\treject('No se logro generar token de tareas por perfil');\r\n\t\t\t\t},\r\n\t\t\t\t(error) => {\r\n\t\t\t\t\treject(error);\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t});\r\n\t}\r\n\r\n\tpublic getEncryptedByPromCodigoProfile(patCodigo: string, promCodigo: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'configuration-document/getEncryptedByPromCodigoAndProfile',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('patCodigo', patCodigo).set('promCodigo', promCodigo)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tsaveProfiles(lProfileDocument: any[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'configuration-document/saveProfiles',\r\n\t\t\tlProfileDocument\r\n\t\t);\r\n\t}\r\n\r\n\tdeleteProfileByIdAndFormId(\r\n\t\tprofileId: number,\r\n\t\tconfigurationDocumentId: number\r\n\t): Observable<any> {\r\n\t\tconst params = new HttpParams()\r\n\t\t\t.set('configurationDocumentId', configurationDocumentId.toString())\r\n\t\t\t.set('profileId', profileId.toString());\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'configuration-document/deleteProfileByIdAndFormId',\r\n\t\t\t{ params }\r\n\t\t);\r\n\t}\r\n\r\n\tdeleteByListId(lProfileDocument: any[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'configuration-document/deleteByListId',\r\n\t\t\tlProfileDocument\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves a configuration-document */\r\n\tsaveAll(lConfigurationDocument: ConfigurationDocument[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'configuration-document/saveAll',\r\n\t\t\tlConfigurationDocument,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tgetByFormAssociationFormId(formId: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'configuration-document/getByFormAssociationFormId',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('formId', formId.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetByPromCodigoAndAutomaticValidation(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'configuration-document/getByPromCodigoAndAutomaticValidation',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('promCodigo', promCodigo.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { JwtUtil, PliCnfEvaluationTask, PliUser } from 'ng-pli-util';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfEvaluationTaskService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tstatic TASK_STORAGE = 'tokenTask';\r\n\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\tpublic getByPromCodigo(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfEvaluationTask/getByPromCodigo/${promCodigo}`\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getById(id: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfEvaluationTask/getById/${id}`\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getByPromCodeAndId(promCode: number, id: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfEvaluationTask/promCode/${promCode}/id/${id}`\r\n\t\t);\r\n\t}\r\n\r\n\tpublic save(pliCnfEvaluationTask: PliCnfEvaluationTask): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfEvaluationTask/save',\r\n\t\t\tpliCnfEvaluationTask\r\n\t\t);\r\n\t}\r\n\r\n\tpublic delete(id: number) {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfEvaluationTask/${id}`\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns a list of tasks according to list of prom codigo */\r\n\tpublic getByPromCodigoAndNoSegmentation(listPromCod: Array<number>): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfEvaluationTask/getByPromCodigoAndNoSegmentation',\r\n\t\t\t{ params: new HttpParams().set('listPromCodigo', listPromCod.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getByPromCodigoAndEvaluator(promCod: number, evaluator: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfEvaluationTask/getByPromCodigoAndEvaluator',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigo', promCod.toString())\r\n\t\t\t\t\t.set('evaluator', evaluator)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getByPromCodigoAndTypeAndVisible(promCodigo: number, type: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfEvaluationTask/getByPromCodigoAndTypeAndVisible',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigo', promCodigo.toString())\r\n\t\t\t\t\t.set('type', type.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/***\r\n\t * Unencript the information from local Storage\r\n\t * @author Jkatz\r\n\t */\r\n\tgetEncryptedTasks(username: string, patCodigo: string, promCodigo: string): Promise<any> {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tlet taskStorage = localStorage.getItem(PliCnfEvaluationTaskService.TASK_STORAGE);\r\n\t\t\tlet map;\r\n\t\t\tif (taskStorage) {\r\n\t\t\t\tmap = JSON.parse(taskStorage);\r\n\t\t\t\tif (map[promCodigo]) {\r\n\t\t\t\t\tresolve(map[promCodigo]);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tthis.getByProfile(username, patCodigo, promCodigo).subscribe(\r\n\t\t\t\t(taskByProfile) => {\r\n\t\t\t\t\tif (taskByProfile) {\r\n\t\t\t\t\t\tlet decrypt = JwtUtil.parseJwt(taskByProfile['encrypt']);\r\n\t\t\t\t\t\tif (decrypt && decrypt.tasks) {\r\n\t\t\t\t\t\t\tif (map) map[promCodigo] = decrypt.tasks;\r\n\t\t\t\t\t\t\telse map = {};\r\n\t\t\t\t\t\t\tlocalStorage.setItem(\r\n\t\t\t\t\t\t\t\tPliCnfEvaluationTaskService.TASK_STORAGE,\r\n\t\t\t\t\t\t\t\tJSON.stringify(map)\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tresolve(decrypt.tasks);\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\treject('No se logro generar token de tareas por perfil');\r\n\t\t\t\t},\r\n\t\t\t\t(error) => {\r\n\t\t\t\t\treject(error);\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * get task by profile encrypted\r\n\t * @param username\r\n\t * @param patCodigo\r\n\t */\r\n\tpublic getByProfile(username: string, patCodigo: string, promCodigo: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfEvaluationTask/getByUserProfiles',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('username', username)\r\n\t\t\t\t\t.set('patCodigo', patCodigo)\r\n\t\t\t\t\t.set('promCodigo', promCodigo)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** Saves a task array with its associated document and form records */\r\n\tsaveAll(pliCnfEvaluationTask: PliCnfEvaluationTask[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfEvaluationTask/saveAll',\r\n\t\t\tpliCnfEvaluationTask\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpHeaders, HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { PliCnfGuaranteeToken } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfGuaranteeTokenService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\tgetAllByPromCodigo(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfGuaranteeToken/getAllByPromCodigo',\r\n\t\t\t{ params: new HttpParams().set('promCodigo', promCodigo.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\tsave(token: PliCnfGuaranteeToken): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfGuaranteeToken/save',\r\n\t\t\ttoken\r\n\t\t);\r\n\t}\r\n\r\n\tgetConfigCloningGuaranteeTokenMap(oldPPP: number, newPPP: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfGuaranteeToken/getConfigCloningGuaranteeTokenMap',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('oldPPP', oldPPP.toString())\r\n\t\t\t\t\t.set('newPPP', newPPP.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tdelete(id: number): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfGuaranteeToken/delete',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('id', id.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject, Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n })\r\nexport class ConfigurationTokenSubjectService {\r\n\r\n private subjectConfigurationToken = new Subject<any[]>();\r\n\r\n constructor() { }\r\n\r\n getSubjectConfigurationTokens(): Observable<any[]> {\r\n return this.subjectConfigurationToken.asObservable();\r\n }\r\n\r\n setSubjectConfigurationTokens(tokens: any[]) {\r\n return this.subjectConfigurationToken.next(tokens);\r\n }\r\n \r\n}\r\n","import {ChangeDetectorRef, Component, Input, OnInit} from '@angular/core';\r\nimport {PliCnfSnapshotToken, PliCnfTSnapshotTokenType, UtilString} from \"ng-pli-util\";\r\nimport {CommonListsComponent} from \"../../common.lists.component\";\r\nimport {CommonService} from \"../../../services/common.service\";\r\nimport {TokenService} from \"../../../services/token.service\";\r\nimport {FormControl, FormGroup, Validators} from \"@angular/forms\";\r\nimport {ToastrService} from \"ngx-toastr\";\r\nimport {PliCnfSnapshotTokenServices} from \"../../../services/pli-cnf-snapshot-token.service\";\r\n\r\n@Component({\r\n selector: 'pli-snapshot-token',\r\n templateUrl: './snapshot-token.component.html'\r\n})\r\nexport class SnapshotTokenComponent extends CommonListsComponent implements OnInit {\r\n\r\n @Input() promCodigo: number;\r\n\r\n showModal: boolean;\r\n tokens: PliCnfSnapshotToken[];\r\n types: PliCnfTSnapshotTokenType[];\r\n tokenSelected: PliCnfSnapshotToken;\r\n frmToken: FormGroup;\r\n controlName: FormControl;\r\n controlFormula: FormControl;\r\n controlType: FormControl;\r\n\r\n constructor(protected cdRef: ChangeDetectorRef,\r\n protected commonService: CommonService,\r\n private toastrService: ToastrService,\r\n private tokenService: PliCnfSnapshotTokenServices) {\r\n super(commonService, cdRef);\r\n }\r\n\r\n /** Tet the label to calculated tokens */\r\n labelSnapshot(token: PliCnfSnapshotToken): string {\r\n return '${' + TokenService.getKeySnapshot(token) + '}';\r\n }\r\n\r\n async ngOnInit() {\r\n super.ngOnInit();\r\n this.getTokens();\r\n this.types = await this.tokenService.getAllType().toPromise();\r\n }\r\n\r\n initForm(tokenSelected: PliCnfSnapshotToken) {\r\n this.tokenSelected =\r\n tokenSelected == null\r\n ? new PliCnfSnapshotToken()\r\n : Object.assign(new PliCnfSnapshotToken(), JSON.parse(JSON.stringify(tokenSelected)));\r\n if (!this.tokenSelected.promCodigo) {\r\n this.tokenSelected.promCodigo = this.promCodigo;\r\n }\r\n\r\n this.controlName = new FormControl(this.tokenSelected.name, Validators.required);\r\n this.controlFormula = new FormControl(this.tokenSelected.formula, Validators.required);\r\n this.controlType = new FormControl(this.tokenSelected.type, Validators.required);\r\n\r\n this.frmToken = new FormGroup({\r\n controlName: this.controlName,\r\n controlFormula: this.controlFormula,\r\n controlType: this.controlType\r\n });\r\n\r\n this.showModal = true;\r\n }\r\n\r\n /** It deletes a sponsor */\r\n delete(token: PliCnfSnapshotToken) {\r\n if (confirm('¿Está seguro que desea eliminar el token ' + token.name + '?')) {\r\n this.tokenService.delete(token.id).subscribe(\r\n (result) => {\r\n this.toastrService.success('El token fué eliminada exitosamente');\r\n this.getTokens();\r\n },\r\n (error) => {\r\n this.toastrService.error('Error al intentar eliminar el token');\r\n }\r\n );\r\n }\r\n }\r\n\r\n getTokens() {\r\n this.tokenService.getAllByPromCode(this.promCodigo).subscribe(\r\n (lToken: PliCnfSnapshotToken[]) => {\r\n this.tokens = lToken;\r\n },\r\n (error) => {\r\n console.log('Error getTokenCalculated -getListByPromCodigo', error);\r\n this.toastrService.error('Error el formulario');\r\n }\r\n );\r\n }\r\n\r\n resolveKeyCalculatedToken() {\r\n return UtilString.replaceAccentSpacesOthers(this.tokenSelected.name);\r\n }\r\n\r\n onCloseModal() {\r\n this.showModal = false;\r\n }\r\n\r\n save() {\r\n if (this.isFormValid(this.frmToken) && this.isValid()) {\r\n this.tokenService.save(this.tokenSelected).subscribe((tokenSave: any) => {\r\n this.toastrService.success('Se ha guardado exitosamente ', 'Guardado exitoso!');\r\n this.tokenSelected = null;\r\n this.getTokens();\r\n this.onCloseModal();\r\n }, (error) => {\r\n console.error(error);\r\n this.toastrService.error('Error al intentar guardar el token', 'Error!');\r\n }\r\n );\r\n }\r\n }\r\n\r\n isValid() {\r\n const token = this.tokens.find(token =>\r\n UtilString.replaceAccentSpacesOthers(token.name) ===\r\n UtilString.replaceAccentSpacesOthers(this.tokenSelected.name) &&\r\n (!this.tokenSelected.id || this.tokenSelected.id !== token.id));\r\n if(token) {\r\n this.toastrService.error(\r\n 'El token ' + token.name + ' ya existe',\r\n 'Alerta!'\r\n );\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\r\n","<h4 class=\"no-margin-top\">\r\n Tokens Snapshot\r\n</h4>\r\n<p-table [value]=\"tokens\" [responsive]=\"true\">\r\n <ng-template pTemplate=\"header\">\r\n <tr class=\"text-align-center\">\r\n <th class=\"text-align-center\" width=\"40%\">Nombre</th>\r\n <th class=\"text-align-center\">Formula</th>\r\n <th class=\"text-align-center\">Tipo</th>\r\n <th class=\"text-align-center\">Creado</th>\r\n <th class=\"text-align-center\">Modificado</th>\r\n <th class=\"text-align-center\">Acciones</th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-token>\r\n <tr>\r\n <td>\r\n <button\r\n type=\"button\"\r\n (click)=\"copyMessage(labelSnapshot(token))\"\r\n style=\"margin-right: 8px;\"\r\n title=\"{{ labelSnapshot(token) }}\"\r\n >\r\n <span class=\"fa fa-clipboard\"></span>\r\n </button>\r\n {{ token.name }}\r\n </td>\r\n <td class=\"cut-line\">{{ token.formula }}</td>\r\n <td class=\"cut-line\">{{ token.type.name }}</td>\r\n <td>{{ token.createdAt | date: 'dd MMM yyyy' | lowercase }}</td>\r\n <td>{{ token.modifiedAt | date: 'dd MMM yyyy' | lowercase }}</td>\r\n <td>\r\n <div class=\"btn-group\" role=\"group\">\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-default\"\r\n (click)=\"initForm(token)\"\r\n pliAuthorityDirective\r\n [externalAllowed]=\"false\"\r\n >\r\n Editar\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-default dropdown-toggle\"\r\n data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\"\r\n aria-expanded=\"false\"\r\n >\r\n <span class=\"caret\"></span>\r\n </button>\r\n <ul class=\"dropdown-menu\">\r\n <li>\r\n <a\r\n href=\"Javascript:;\"\r\n (click)=\"delete(token)\"\r\n pliAuthorityDirective\r\n [authorities]=\"[p('ROLE_TOKENS_ELIMINAR')]\"\r\n [externalAllowed]=\"false\"\r\n >Eliminar</a\r\n >\r\n </li>\r\n </ul>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n</p-table>\r\n<div class=\"text-align-right\" style=\"padding: .75rem 1.25rem;\">\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-primary\"\r\n (click)=\"initForm(null)\"\r\n >\r\n Agregar nuevo\r\n </button>\r\n</div>\r\n\r\n<p-dialog\r\n header=\"Snapshot Token\"\r\n [(visible)]=\"showModal\"\r\n [modal]=\"true\"\r\n (onHide)=\"onCloseModal()\"\r\n [contentStyle]=\"{\r\n\t\twidth: '400px',\r\n\t\t'overflow-y': 'auto',\r\n\t\t'min-height': '500px',\r\n\t\t'max-height': '500px',\r\n\t\t'text-align': 'left'\r\n\t}\"\r\n height=\"500px\"\r\n width=\"400px\"\r\n dismissableMask=\"true\"\r\n>\r\n <form [formGroup]=\"frmToken\" (ngSubmit)=\"save()\" *ngIf=\"tokenSelected\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <div class=\"row\">\r\n <div class=\"col-sm-12 col-md-12\">\r\n <div class=\"form-group required\">\r\n <label for=\"name\" class=\"form-control-label\">Nombre</label>\r\n <input\r\n type=\"input\"\r\n class=\"form-control\"\r\n name=\"name\"\r\n id=\"name\"\r\n placeholder=\"Nombre\"\r\n formControlName=\"controlName\"\r\n [(ngModel)]=\"tokenSelected.name\"/>\r\n <div class=\"form-control-error\">\r\n <small *ngIf=\"hasError(controlName, 'required')\">Nombre es requerido</small>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-12 col-md-12\">\r\n <div class=\"form-group required\">\r\n <label for=\"type\" class=\"form-control-label\">Tipo</label>\r\n <select\r\n name=\"type\"\r\n id=\"type\"\r\n class=\"form-control\"\r\n formControlName=\"controlType\"\r\n [(ngModel)]=\"tokenSelected.type.id\">\r\n <option value=\"\">-- Seleccione opción</option>\r\n <option *ngFor=\"let type of types\" [value]=\"type.id\">{{ type.name }}</option>\r\n </select>\r\n <div class=\"form-control-error\">\r\n <small *ngIf=\"hasError(controlType, 'required')\">Tipo de token requerido</small>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-12 col-md-12\">\r\n <div class=\"form-group required\">\r\n <label class=\"form-control-label\">Llave:</label> \r\n <span style=\"font-weight: bold;\"> {{resolveKeyCalculatedToken()}}</span>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-12 col-md-12\">\r\n <div class=\"form-group required\">\r\n <label for=\"formula\" class=\"form-control-label\"\r\n >Formula</label\r\n >\r\n <textarea\r\n cols=\"150\"\r\n rows=\"4\"\r\n class=\"form-control\"\r\n name=\"formula\"\r\n id=\"formula\"\r\n formControlName=\"controlFormula\"\r\n [(ngModel)]=\"tokenSelected.formula\"\r\n ></textarea>\r\n <div class=\"form-control-error\">\r\n <small *ngIf=\"hasError(controlFormula, 'required')\"\r\n >Fórmula es requerida</small\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-footer text-align-right\">\r\n <button type=\"button\" (click)=\"onCloseModal()\" class=\"btn btn-link\">\r\n Cancelar\r\n </button>\r\n <button\r\n type=\"submit\"\r\n class=\"btn btn-success\"\r\n >\r\n Guardar\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n</p-dialog>\r\n\r\n\r\n","import { ChangeDetectorRef, Component, Input, OnInit } from '@angular/core';\r\nimport { CommonListsComponent } from '../../common.lists.component';\r\nimport { CommonService } from '../../../services/common.service';\r\nimport { TokenService } from '../../../services/token.service';\r\nimport { PliCnfGuaranteeToken, UtilString } from 'ng-pli-util';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { PliCnfGuaranteeTokenService } from '../../../services/pli-cnf-guarantee-token.service';\r\n\r\n@Component({\r\n\tselector: 'pli-guarantee-token',\r\n\ttemplateUrl: './guarantee-token.component.html'\r\n})\r\nexport class GuaranteeTokenComponent extends CommonListsComponent implements OnInit {\r\n\t@Input() promCodigo: number;\r\n\r\n\tlGuaranteeTokens: PliCnfGuaranteeToken[] = [];\r\n\ttokenSelected: PliCnfGuaranteeToken;\r\n\tfrmToken: FormGroup;\r\n\tcontrolName: FormControl;\r\n\tcontrolFormula: FormControl;\r\n\r\n\tshowModal: boolean;\r\n\r\n\tconstructor(\r\n\t\tprotected cdRef: ChangeDetectorRef,\r\n\t\tprotected commonService: CommonService,\r\n\t\tprivate toastrService: ToastrService,\r\n\t\tprivate pliCnfGuaranteeTokenService: PliCnfGuaranteeTokenService\r\n\t) {\r\n\t\tsuper(commonService, cdRef);\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tsuper.ngOnInit();\r\n\t\tthis.getTokenGuarantee();\r\n\t}\r\n\r\n\t/* The label to guarantee tokens */\r\n\tlabelGuarantee(token: PliCnfGuaranteeToken): string {\r\n\t\treturn '${' + TokenService.getKeyGuarantee(token) + '}';\r\n\t}\r\n\r\n\tgetTokenGuarantee() {\r\n\t\tthis.pliCnfGuaranteeTokenService.getAllByPromCodigo(this.promCodigo).subscribe(\r\n\t\t\t(result: PliCnfGuaranteeToken[]) => {\r\n\t\t\t\tthis.lGuaranteeTokens = result;\r\n\t\t\t},\r\n\t\t\t(error) => {\r\n\t\t\t\tthis.toastrService.error('Error al obtener los token de garantias', 'Error');\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tinitForm(tokenSelected: PliCnfGuaranteeToken) {\r\n\t\tthis.tokenSelected =\r\n\t\t\ttokenSelected == null\r\n\t\t\t\t? new PliCnfGuaranteeToken()\r\n\t\t\t\t: Object.assign(\r\n\t\t\t\t\t\tnew PliCnfGuaranteeToken(),\r\n\t\t\t\t\t\tJSON.parse(JSON.stringify(tokenSelected))\r\n\t\t\t\t );\r\n\t\tif (!this.tokenSelected.promCodigo) {\r\n\t\t\tthis.tokenSelected.promCodigo = this.promCodigo;\r\n\t\t}\r\n\r\n\t\tthis.controlName = new FormControl(this.tokenSelected.name, Validators.required);\r\n\t\tthis.controlFormula = new FormControl(this.tokenSelected.formula, Validators.required);\r\n\r\n\t\tthis.frmToken = new FormGroup({\r\n\t\t\tcontrolName: this.controlName,\r\n\t\t\tcontrolFormula: this.controlFormula\r\n\t\t});\r\n\r\n\t\tthis.showModal = true;\r\n\t}\r\n\r\n\tsave() {\r\n\t\tif (this.isFormValid(this.frmToken) && this.isValid()) {\r\n\t\t\tthis.pliCnfGuaranteeTokenService.save(this.tokenSelected).subscribe(\r\n\t\t\t\t(result) => {\r\n\t\t\t\t\tthis.getTokenGuarantee();\r\n\t\t\t\t\tthis.onCloseModal();\r\n\t\t\t\t\tthis.toastrService.success('Se ha guardado exitosamente ', 'Guardado exitoso!');\r\n\t\t\t\t\tthis.tokenSelected = null;\r\n\t\t\t\t},\r\n\t\t\t\t(error) => {\r\n\t\t\t\t\tthis.toastrService.error('Error al intentar guardar el token', 'Error');\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\tisValid() {\r\n\t\tconst token = this.lGuaranteeTokens.find(\r\n\t\t\t(token) =>\r\n\t\t\t\tUtilString.replaceAccentSpacesOthers(token.name) ===\r\n\t\t\t\t\tUtilString.replaceAccentSpacesOthers(this.tokenSelected.name) &&\r\n\t\t\t\t(!this.tokenSelected.id || this.tokenSelected.id !== token.id)\r\n\t\t);\r\n\t\tif (token) {\r\n\t\t\tthis.toastrService.error('El token ' + token.name + ' ya existe', 'Alerta!');\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn true;\r\n\t}\r\n\r\n\tonCloseModal() {\r\n\t\tthis.showModal = false;\r\n\t}\r\n\r\n\tdelete(token: PliCnfGuaranteeToken) {\r\n\t\tif (confirm('¿Está seguro que desea eliminar el token ' + token.name + '?')) {\r\n\t\t\tthis.pliCnfGuaranteeTokenService.delete(token.id).subscribe(\r\n\t\t\t\t(result) => {\r\n\t\t\t\t\tthis.getTokenGuarantee();\r\n\t\t\t\t\tthis.toastrService.success('El token fué eliminada exitosamente', 'Exito!');\r\n\t\t\t\t},\r\n\t\t\t\t(error) => {\r\n\t\t\t\t\tthis.toastrService.error('Error al intentar eliminar el token', 'Error');\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\tresolveKeyCalculatedToken() {\r\n\t\treturn UtilString.replaceAccentSpacesOthers(this.tokenSelected.name);\r\n\t}\r\n}\r\n","<h4 class=\"no-margin-top\">\r\n\tTokens Garantias\r\n</h4>\r\n<p-table [value]=\"lGuaranteeTokens\" [responsive]=\"true\">\r\n\t<ng-template pTemplate=\"header\">\r\n\t\t<tr class=\"text-align-center\">\r\n\t\t\t<th class=\"text-align-center\" width=\"40%\">Nombre</th>\r\n\t\t\t<th class=\"text-align-center\">Formula</th>\r\n\t\t\t<th class=\"text-align-center\">Creado</th>\r\n\t\t\t<th class=\"text-align-center\">Modificado</th>\r\n\t\t\t<th class=\"text-align-center\">Acciones</th>\r\n\t\t</tr>\r\n\t</ng-template>\r\n\t<ng-template pTemplate=\"body\" let-token>\r\n\t\t<tr>\r\n\t\t\t<td>\r\n\t\t\t\t<button\r\n\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t(click)=\"copyMessage(labelGuarantee(token))\"\r\n\t\t\t\t\tstyle=\"margin-right: 8px;\"\r\n\t\t\t\t\ttitle=\"{{ labelGuarantee(token) }}\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<span class=\"fa fa-clipboard\"></span>\r\n\t\t\t\t</button>\r\n\t\t\t\t{{ token.name }}\r\n\t\t\t</td>\r\n\t\t\t<td class=\"cut-line\">{{ token.formula }}</td>\r\n\t\t\t<td>{{ token.createdAt | date: 'dd MMM yyyy' | lowercase }}</td>\r\n\t\t\t<td>{{ token.modifiedAt | date: 'dd MMM yyyy' | lowercase }}</td>\r\n\t\t\t<td>\r\n\t\t\t\t<div class=\"btn-group\" role=\"group\">\r\n\t\t\t\t\t<button\r\n\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\tclass=\"btn btn-default\"\r\n\t\t\t\t\t\t(click)=\"initForm(token)\"\r\n\t\t\t\t\t\tpliAuthorityDirective\r\n\t\t\t\t\t\t[externalAllowed]=\"false\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\tEditar\r\n\t\t\t\t\t</button>\r\n\t\t\t\t\t<button\r\n\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\tclass=\"btn btn-default dropdown-toggle\"\r\n\t\t\t\t\t\tdata-toggle=\"dropdown\"\r\n\t\t\t\t\t\taria-haspopup=\"true\"\r\n\t\t\t\t\t\taria-expanded=\"false\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<span class=\"caret\"></span>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t\t<ul class=\"dropdown-menu\">\r\n\t\t\t\t\t\t<li>\r\n\t\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\t\thref=\"Javascript:;\"\r\n\t\t\t\t\t\t\t\t(click)=\"delete(token)\"\r\n\t\t\t\t\t\t\t\tpliAuthorityDirective\r\n\t\t\t\t\t\t\t\t[authorities]=\"[p('ROLE_TOKENS_ELIMINAR')]\"\r\n\t\t\t\t\t\t\t\t[externalAllowed]=\"false\"\r\n\t\t\t\t\t\t\t\t>Eliminar</a\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t</li>\r\n\t\t\t\t\t</ul>\r\n\t\t\t\t</div>\r\n\t\t\t</td>\r\n\t\t</tr>\r\n\t</ng-template>\r\n</p-table>\r\n<div class=\"text-align-right\" style=\"padding: 0.75rem 1.25rem;\">\r\n\t<button type=\"button\" class=\"btn btn-primary\" (click)=\"initForm(null)\">\r\n\t\tAgregar nuevo\r\n\t</button>\r\n</div>\r\n<p-dialog\r\n\theader=\"Token Garantias\"\r\n\t[(visible)]=\"showModal\"\r\n\t[modal]=\"true\"\r\n\t(onHide)=\"onCloseModal()\"\r\n\t[contentStyle]=\"{\r\n\t\twidth: '400px',\r\n\t\t'overflow-y': 'auto',\r\n\t\t'min-height': '500px',\r\n\t\t'max-height': '500px',\r\n\t\t'text-align': 'left'\r\n\t}\"\r\n\theight=\"500px\"\r\n\twidth=\"500px\"\r\n\tdismissableMask=\"true\"\r\n>\r\n\t<form [formGroup]=\"frmToken\" (ngSubmit)=\"save()\" *ngIf=\"tokenSelected\">\r\n\t\t<div class=\"row\">\r\n\t\t\t<div class=\"col-sm-12 col-md-12 col-lg-12\">\r\n\t\t\t\t<div class=\"form-group required\">\r\n\t\t\t\t\t<label for=\"name\" class=\"form-control-label\">Nombre</label>\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\ttype=\"input\"\r\n\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\tname=\"name\"\r\n\t\t\t\t\t\tid=\"name\"\r\n\t\t\t\t\t\tplaceholder=\"Nombre\"\r\n\t\t\t\t\t\tformControlName=\"controlName\"\r\n\t\t\t\t\t\t[(ngModel)]=\"tokenSelected.name\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<div class=\"form-control-error\">\r\n\t\t\t\t\t\t<small *ngIf=\"hasError(controlName, 'required')\"\r\n\t\t\t\t\t\t\t>El nombre es requerido</small\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label class=\"form-control-label\">Llave: </label>\r\n\t\t\t\t\t<p style=\"font-weight: bold; margin-bottom: 25px;\">\r\n\t\t\t\t\t\t{{ resolveKeyCalculatedToken() }}\r\n\t\t\t\t\t</p>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"form-group required\">\r\n\t\t\t\t\t<label for=\"formula\" class=\"form-control-label\">Formula</label>\r\n\t\t\t\t\t<textarea\r\n\t\t\t\t\t\trows=\"3\"\r\n\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\tname=\"formula\"\r\n\t\t\t\t\t\tid=\"formula\"\r\n\t\t\t\t\t\tformControlName=\"controlFormula\"\r\n\t\t\t\t\t\t[(ngModel)]=\"tokenSelected.formula\"\r\n\t\t\t\t\t></textarea>\r\n\t\t\t\t\t<div class=\"form-control-error\">\r\n\t\t\t\t\t\t<small *ngIf=\"hasError(controlFormula, 'required')\"\r\n\t\t\t\t\t\t\t>La fórmula es requerida</small\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div class=\"card-footer text-align-right\">\r\n\t\t\t\t\t<button type=\"button\" (click)=\"onCloseModal()\" class=\"btn btn-link\">\r\n\t\t\t\t\t\tCancelar\r\n\t\t\t\t\t</button>\r\n\t\t\t\t\t<button type=\"submit\" class=\"btn btn-success\">\r\n\t\t\t\t\t\tGuardar\r\n\t\t\t\t\t</button>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</form>\r\n</p-dialog>\r\n","import { PliCnfEvaluationTaskService } from './../../services/pli-cnf-evaluation-task.service';\r\nimport {\r\n\tComponent,\r\n\tOnInit,\r\n\tInput,\r\n\tLOCALE_ID,\r\n\tInject,\r\n\tChangeDetectorRef,\r\n\tOutput,\r\n\tEventEmitter\r\n} from '@angular/core';\r\nimport { CommonListsComponent } from '../common.lists.component';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport {\r\n\tToken,\r\n\tPliCnfPresupuestoGlobal,\r\n\tUtilString,\r\n\tETipoPresupuesto,\r\n\tPliCnfSnapshotToken,\r\n\tConfigurationDocument,\r\n\tPliCnfEvaluationTask,\r\n\tPliCnfGuaranteeToken\r\n} from 'ng-pli-util';\r\nimport { CurrencyPipe } from '@angular/common';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { CommonService } from '../../services/common.service';\r\nimport { PppService } from '../../services/ppp.service';\r\nimport { Router } from '@angular/router';\r\nimport { BudgetService } from '../../services/budget.service';\r\nimport { TokenService } from '../../services/token.service';\r\nimport { PliCnfSnapshotTokenServices } from '../../services/pli-cnf-snapshot-token.service';\r\nimport { ConfigurationDocumentService } from '../../services/configuration-document.service';\r\nimport { PliCnfGuaranteeTokenService } from '../../services/pli-cnf-guarantee-token.service';\r\nimport { ConfigurationTokenSubjectService } from './configuration-token-subject.service';\r\n\r\n@Component({\r\n\tselector: 'pli-configuration-token',\r\n\ttemplateUrl: './configuration-token.component.html',\r\n\tstyleUrls: ['./configuration-token.component.css']\r\n})\r\nexport class ConfigurationTokenComponent extends CommonListsComponent implements OnInit {\r\n\t/** it contains the prom codigo */\r\n\t@Input() promCodigo: number;\r\n\t/** It contains if visible frm tokens */\r\n\t@Input() showFrm: boolean = false;\r\n\t/** It contains if visible frm tokens */\r\n\t@Input() showFrmMultiple: boolean = false;\r\n\t/** It contains if visible static tokens */\r\n\t@Input() showStatic: boolean = false;\r\n\t/** It contains if visible budget tokens */\r\n\t@Input() showBudget: boolean = false;\r\n\t/** It contains if visible calculated tokens */\r\n\t@Input() showCalculated: boolean = false;\r\n\t/** It contains if visible calculated form */\r\n\t@Input() showCalculatedForm: boolean = false;\r\n\t/** It contains if visible calculated tokens */\r\n\t@Input() showSnapshot: boolean = false;\r\n\t/** It contains if visible calculated form */\r\n\t@Input() showSnapshotForm: boolean = false;\r\n\t/** It contains if visible budget tokens */\r\n\t@Input() showDocument: boolean = true;\r\n\t/** It contains if visible budget tokens */\r\n\t@Input() showTask: boolean = true;\r\n\t/* It contains if visible guarantee tokens*/\r\n\t@Input() showGuatantee: boolean = false;\r\n\t/* It contains if visible guarantee-form tokens*/\r\n\t@Input() showDocumentAutoAnalysis: boolean = false;\r\n\t/* It contains if visible guarantee-form tokens*/\r\n\t@Input() showGuatanteeForm: boolean = false;\r\n\t/** It returns the list token */\r\n\t@Output() onStaticToken = new EventEmitter<any>();\r\n\t/** it contains the pat codigo */\r\n\tpatCodigo: number;\r\n\t/** it contains the snapShot tokens */\r\n\tsnapShotTokens: PliCnfSnapshotToken[];\r\n\t/*It contains the guarantee token */\r\n\tlGuaranteeTokens: PliCnfGuaranteeToken[] = [];\r\n\r\n\t@Input() showAsTitle: boolean = false;\r\n\r\n\t/** Valida si finalizo */\r\n\tready: boolean = false;\r\n\t/** List of tokens static and dynamic form */\r\n\tlStaticToken: any = [];\r\n\t/** List of calculated tokens */\r\n\tlCalculatedToken: any = [];\r\n\t/** It contains the form group of Token */\r\n\tfrmToken: FormGroup;\r\n\tcontrolName: FormControl;\r\n\tcontrolFormula: FormControl;\r\n\r\n\t/** Object Token new or selected to edit */\r\n\ttokenSelected: Token;\r\n\t/** */\r\n\tcallBudgetService: boolean = false;\r\n\t/** */\r\n\tprivate currencyPipe: CurrencyPipe;\r\n\t@Inject(LOCALE_ID) public locale: string;\r\n\treadyAccordeon: boolean = false;\r\n\tconstructor(\r\n\t\tprivate toastrService: ToastrService,\r\n\t\tprotected cdRef: ChangeDetectorRef,\r\n\t\tprotected commonService: CommonService,\r\n\t\tprivate pppService: PppService,\r\n\t\tprivate router: Router,\r\n\t\tprivate budgetService: BudgetService,\r\n\t\tprivate tokenService: TokenService,\r\n\t\tprivate snapshotTokenService: PliCnfSnapshotTokenServices,\r\n\t\tprivate configurationDocumentService: ConfigurationDocumentService,\r\n\t\tprivate pliCnfTaskService: PliCnfEvaluationTaskService,\r\n\t\tprivate pliCnfGuaranteeTokenService: PliCnfGuaranteeTokenService,\r\n\t\tprivate configurationTokenSubjectService: ConfigurationTokenSubjectService\r\n\t) {\r\n\t\tsuper(commonService, cdRef);\r\n\t\tthis.currencyPipe = new CurrencyPipe(this.locale);\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tsuper.ngOnInit();\r\n\t\tthis.ready = false;\r\n\t\tthis.getTokenSnapshot();\r\n\t\tthis.getTokenGuarantee();\r\n\t\tif (\r\n\t\t\tthis.showFrm ||\r\n\t\t\tthis.showFrmMultiple ||\r\n\t\t\tthis.showStatic ||\r\n\t\t\tthis.showBudget ||\r\n\t\t\tthis.showCalculated\r\n\t\t)\r\n\t\t\tthis.initListTokens();\r\n\t}\r\n\r\n\t/**\r\n\t * Get the info of tokens from dynamic form, static tokens and calculated.\r\n\t */\r\n\tinitListTokens() {\r\n\t\tif (!this.promCodigo) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.patCodigo = this.pppService.getPatCodigoByPromCodigo(this.promCodigo);\r\n\t\tthis.lStaticToken = [];\r\n\t\tthis.lCalculatedToken = [];\r\n\t\tthis.initListTokenForm();\r\n\t}\r\n\r\n\tinitListTokenForm() {\r\n\t\tthis.tokenService.getFormFieldsByPromCode(this.promCodigo).then(\r\n\t\t\t(lStaticToken: any[]) => {\r\n\t\t\t\tif (lStaticToken) {\r\n\t\t\t\t\tfor (let staticToken of lStaticToken) {\r\n\t\t\t\t\t\tstaticToken.tokenType = TokenService.TOKEN_LABEL_FORM;\r\n\t\t\t\t\t\tlet staticTokenValue = [];\r\n\t\t\t\t\t\tfor (let formField of staticToken.value) {\r\n\t\t\t\t\t\t\tstaticTokenValue.push(formField);\r\n\t\t\t\t\t\t\t// Validation to add the country token País\r\n\t\t\t\t\t\t\t//\"http://servicioslocales.colfuturo.org:32151/data/getUniversitiesByName\"\r\n\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\tformField.type &&\r\n\t\t\t\t\t\t\t\tformField.type === 'select' &&\r\n\t\t\t\t\t\t\t\tformField.data &&\r\n\t\t\t\t\t\t\t\tformField.data.url &&\r\n\t\t\t\t\t\t\t\tformField.data.url.indexOf('getUniversitiesByName') >= 0\r\n\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\tstaticTokenValue.push({\r\n\t\t\t\t\t\t\t\t\ttype: 'select-attribute',\r\n\t\t\t\t\t\t\t\t\tlabel: 'País',\r\n\t\t\t\t\t\t\t\t\tkey: formField.key + '_level1'\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tstaticToken.value = staticTokenValue;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tArray.prototype.push.apply(this.lStaticToken, lStaticToken);\r\n\t\t\t\t}\r\n\t\t\t\tthis.initListTokenDocuments();\r\n\t\t\t\t//this.initListTokenPresupuesto();\r\n\t\t\t\t// this.initListTokenTasks();\r\n\t\t\t},\r\n\t\t\t(error) => {\r\n\t\t\t\tconsole.log('Error initListTokenForm-getFormFieldsByPromCode', error);\r\n\t\t\t\tthis.toastrService.error('Error consultando tokens de formulario');\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tinitListTokenDocuments() {\r\n\t\tthis.configurationDocumentService.getListByPromCodigo(this.promCodigo).subscribe(\r\n\t\t\t(lConfigurationDocument: ConfigurationDocument[]) => {\r\n\t\t\t\tif (lConfigurationDocument) {\r\n\t\t\t\t\tthis.lStaticToken[this.lStaticToken.length] = {\r\n\t\t\t\t\t\ttitle: {\r\n\t\t\t\t\t\t\tkey: TokenService.getKeyDocument(),\r\n\t\t\t\t\t\t\tvalue: TokenService.TOKEN_LABEL_DOCUMENTO\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\ttokenType: TokenService.TOKEN_LABEL_DOCUMENTO,\r\n\t\t\t\t\t\tvalue: []\r\n\t\t\t\t\t};\r\n\t\t\t\t\tlConfigurationDocument.forEach((cDocument) => {\r\n\t\t\t\t\t\tthis.lStaticToken[this.lStaticToken.length - 1].value.push({\r\n\t\t\t\t\t\t\tkey: cDocument.id + '_info',\r\n\t\t\t\t\t\t\tlabel: cDocument.name\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\tthis.initListDocumentAnalysis();\r\n\t\t\t},\r\n\t\t\t(error) => this.toastrService.error('Error consultando la información de documentos')\r\n\t\t);\r\n\t}\r\n\r\n\tinitListDocumentAnalysis() {\r\n\t\tthis.configurationDocumentService\r\n\t\t\t.getByPromCodigoAndAutomaticValidation(this.promCodigo)\r\n\t\t\t.subscribe({\r\n\t\t\t\tnext: (lConfigurationDocument: ConfigurationDocument[]) => {\r\n\t\t\t\t\tif (lConfigurationDocument) {\r\n\t\t\t\t\t\tthis.lStaticToken[this.lStaticToken.length] = {\r\n\t\t\t\t\t\t\ttitle: {\r\n\t\t\t\t\t\t\t\tkey: TokenService.getKeyDocumentAnalysis(),\r\n\t\t\t\t\t\t\t\tvalue: TokenService.TOKEN_LABEL_DOCUMENTO_ANALISIS_AUTOMATICO\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\ttokenType: TokenService.TOKEN_DOCUMENTO_ANALYSIS_TYPE,\r\n\t\t\t\t\t\t\tvalue: []\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\tlConfigurationDocument.forEach((cDocument) => {\r\n\t\t\t\t\t\t\tthis.lStaticToken[this.lStaticToken.length - 1].value.push({\r\n\t\t\t\t\t\t\t\tkey: cDocument.id + '_partial',\r\n\t\t\t\t\t\t\t\tlabel: cDocument.name + ' - Análisis parcial'\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tthis.lStaticToken[this.lStaticToken.length - 1].value.push({\r\n\t\t\t\t\t\t\t\tkey: cDocument.id + '_total',\r\n\t\t\t\t\t\t\t\tlabel: cDocument.name + ' - Análisis total'\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.initListTokenPresupuesto();\r\n\t\t\t\t},\r\n\t\t\t\terror: (err) => {\r\n\t\t\t\t\tthis.toastrService.error(\r\n\t\t\t\t\t\t'Error consultando la información de análisis automático de documentos'\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n\r\n\tinitListTokenPresupuesto() {\r\n\t\tthis.budgetService.lGlobalBudgetChanged.subscribe({\r\n\t\t\tnext: (lGlobalBudget: PliCnfPresupuestoGlobal[]) => {\r\n\t\t\t\tif (!this.callBudgetService) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tthis.callBudgetService = false;\r\n\t\t\t\tif (lGlobalBudget) {\r\n\t\t\t\t\tlet budgetType: PliCnfPresupuestoGlobal[] = [];\r\n\t\t\t\t\tfor (let globalBudget of lGlobalBudget) {\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\tglobalBudget.pliTipoPresupuesto.tpresCodigo === ETipoPresupuesto.PRIMARY\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tbudgetType.push(globalBudget);\r\n\t\t\t\t\t\t} else if (\r\n\t\t\t\t\t\t\tglobalBudget.pliTipoPresupuesto.tpresCodigo ===\r\n\t\t\t\t\t\t\tETipoPresupuesto.SECONDARY\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tbudgetType.push(globalBudget);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (budgetType && Object.keys(budgetType).length > 0) {\r\n\t\t\t\t\t\tthis.lStaticToken[this.lStaticToken.length] = {\r\n\t\t\t\t\t\t\ttitle: {\r\n\t\t\t\t\t\t\t\tkey: TokenService.getKeyBudget(),\r\n\t\t\t\t\t\t\t\tvalue: TokenService.TOKEN_LABEL_BUDGET\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\ttokenType: TokenService.TOKEN_LABEL_BUDGET,\r\n\t\t\t\t\t\t\tvalue: []\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\tfor (let budget of budgetType) {\r\n\t\t\t\t\t\t\tconst tpresCodigo = budget.pliTipoPresupuesto.tpresCodigo;\r\n\t\t\t\t\t\t\t// Add date of financing\r\n\t\t\t\t\t\t\tthis.lStaticToken[this.lStaticToken.length - 1].value.push({\r\n\t\t\t\t\t\t\t\tkey:\r\n\t\t\t\t\t\t\t\t\ttpresCodigo +\r\n\t\t\t\t\t\t\t\t\t'_' +\r\n\t\t\t\t\t\t\t\t\tTokenService.BUDGET_TOKENS_KEY_FECHA_FINANCING_START,\r\n\t\t\t\t\t\t\t\tlabel: budget.cpreNombre + ' fecha inicio financiación'\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tthis.lStaticToken[this.lStaticToken.length - 1].value.push({\r\n\t\t\t\t\t\t\t\tkey:\r\n\t\t\t\t\t\t\t\t\ttpresCodigo +\r\n\t\t\t\t\t\t\t\t\t'_' +\r\n\t\t\t\t\t\t\t\t\tTokenService.BUDGET_TOKENS_KEY_FECHA_FINANCING_END,\r\n\t\t\t\t\t\t\t\tlabel: budget.cpreNombre + ' fecha fin financiación'\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t// Add the total amount\r\n\t\t\t\t\t\t\t// this.lStaticToken[this.lStaticToken.length - 1].value.push({\r\n\t\t\t\t\t\t\t// \tkey:\r\n\t\t\t\t\t\t\t// \t\ttpresCodigo + '_' + TokenService.BUDGET_TOKENS_KEY_TOTAL_AMOUNT,\r\n\t\t\t\t\t\t\t// \tlabel: budget.cpreNombre + ' total'\r\n\t\t\t\t\t\t\t// });\r\n\t\t\t\t\t\t\t// Add the Convocatoria process total amount\r\n\t\t\t\t\t\t\tthis.lStaticToken[this.lStaticToken.length - 1].value.push({\r\n\t\t\t\t\t\t\t\tkey:\r\n\t\t\t\t\t\t\t\t\ttpresCodigo +\r\n\t\t\t\t\t\t\t\t\t'_' +\r\n\t\t\t\t\t\t\t\t\tTokenService.BUDGET_TOKENS_KEY_APPLICATION_PROCESS_TOTAL_AMOUNT,\r\n\t\t\t\t\t\t\t\tlabel: 'Convocatoria- ' + budget.cpreNombre + ' total'\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t// Add the Convocatoria process own founds\r\n\t\t\t\t\t\t\tthis.lStaticToken[this.lStaticToken.length - 1].value.push({\r\n\t\t\t\t\t\t\t\tkey:\r\n\t\t\t\t\t\t\t\t\ttpresCodigo +\r\n\t\t\t\t\t\t\t\t\t'_' +\r\n\t\t\t\t\t\t\t\t\tTokenService.BUDGET_TOKENS_KEY_APPLICATION_PROCESS_TOTAL_OWN_FOUNDS,\r\n\t\t\t\t\t\t\t\tlabel: 'Convocatoria- ' + budget.cpreNombre + ' fondos propios'\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t// Add the Convocatoria process financing\r\n\t\t\t\t\t\t\tthis.lStaticToken[this.lStaticToken.length - 1].value.push({\r\n\t\t\t\t\t\t\t\tkey:\r\n\t\t\t\t\t\t\t\t\ttpresCodigo +\r\n\t\t\t\t\t\t\t\t\t'_' +\r\n\t\t\t\t\t\t\t\t\tTokenService.BUDGET_TOKENS_KEY_APPLICATION_PROCESS_TOTAL_FINANCING,\r\n\t\t\t\t\t\t\t\tlabel: 'Convocatoria- ' + budget.cpreNombre + ' financiación'\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t// Add the Convocatoria process total amount\r\n\t\t\t\t\t\t\tthis.lStaticToken[this.lStaticToken.length - 1].value.push({\r\n\t\t\t\t\t\t\t\tkey:\r\n\t\t\t\t\t\t\t\t\ttpresCodigo +\r\n\t\t\t\t\t\t\t\t\t'_' +\r\n\t\t\t\t\t\t\t\t\tTokenService.BUDGET_TOKENS_KEY_LEGALIZATION_PROCESS_TOTAL_AMOUNT,\r\n\t\t\t\t\t\t\t\tlabel: 'Legalización- ' + budget.cpreNombre + ' total'\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t// Add the Convocatoria process own founds\r\n\t\t\t\t\t\t\tthis.lStaticToken[this.lStaticToken.length - 1].value.push({\r\n\t\t\t\t\t\t\t\tkey:\r\n\t\t\t\t\t\t\t\t\ttpresCodigo +\r\n\t\t\t\t\t\t\t\t\t'_' +\r\n\t\t\t\t\t\t\t\t\tTokenService.BUDGET_TOKENS_KEY_LEGALIZATION_PROCESS_TOTAL_OWN_FOUNDS,\r\n\t\t\t\t\t\t\t\tlabel: 'Legalización- ' + budget.cpreNombre + ' fondos propios'\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t// Add the Convocatoria process financing\r\n\t\t\t\t\t\t\tthis.lStaticToken[this.lStaticToken.length - 1].value.push({\r\n\t\t\t\t\t\t\t\tkey:\r\n\t\t\t\t\t\t\t\t\ttpresCodigo +\r\n\t\t\t\t\t\t\t\t\t'_' +\r\n\t\t\t\t\t\t\t\t\tTokenService.BUDGET_TOKENS_KEY_LEGALIZATION_PROCESS_TOTAL_FINANCING,\r\n\t\t\t\t\t\t\t\tlabel: 'Legalización- ' + budget.cpreNombre + ' financiación'\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t// Add the Convocatoria process financing\r\n\t\t\t\t\t\t\tthis.lStaticToken[this.lStaticToken.length - 1].value.push({\r\n\t\t\t\t\t\t\t\tkey:\r\n\t\t\t\t\t\t\t\t\ttpresCodigo +\r\n\t\t\t\t\t\t\t\t\t'_' +\r\n\t\t\t\t\t\t\t\t\tTokenService.BUDGET_TOKENS_KEY_INSURANCE_AMOUNT,\r\n\t\t\t\t\t\t\t\tlabel:\r\n\t\t\t\t\t\t\t\t\t'Legalización- ' + budget.cpreNombre + ' financiación + seguro'\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t// JMP - Mantis 6674 - add token legalization or application total financing\r\n\t\t\t\t\t\t\tthis.lStaticToken[this.lStaticToken.length - 1].value.push({\r\n\t\t\t\t\t\t\t\tkey:\r\n\t\t\t\t\t\t\t\t\ttpresCodigo +\r\n\t\t\t\t\t\t\t\t\t'_' +\r\n\t\t\t\t\t\t\t\t\tTokenService.LEGALIZATION_OR_APPLICATION_TOTAL_FINANCING,\r\n\t\t\t\t\t\t\t\tlabel:\r\n\t\t\t\t\t\t\t\t\t'Financiación - ' +\r\n\t\t\t\t\t\t\t\t\tbudget.cpreNombre +\r\n\t\t\t\t\t\t\t\t\t' legalización (+ seguro) o Convocatoria '\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tthis.lStaticToken[this.lStaticToken.length - 1].value.push({\r\n\t\t\t\t\t\t\t\tkey:\r\n\t\t\t\t\t\t\t\t\ttpresCodigo +\r\n\t\t\t\t\t\t\t\t\t'_' +\r\n\t\t\t\t\t\t\t\t\tTokenService.BUDGET_TOKENS_KEY_RESUME_CATEGORY_YEAR,\r\n\t\t\t\t\t\t\t\tlabel: budget.cpreNombre + ' resumen rubro y año'\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tthis.lStaticToken[this.lStaticToken.length - 1].value.push({\r\n\t\t\t\t\t\t\t\tkey:\r\n\t\t\t\t\t\t\t\t\ttpresCodigo + '_' + TokenService.BUDGET_TOKENS_DURATION_STUDIES,\r\n\t\t\t\t\t\t\t\tlabel: budget.cpreNombre + ' duración de estudios en meses'\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tthis.lStaticToken[this.lStaticToken.length - 1].value.push({\r\n\t\t\t\t\t\t\t\tkey:\r\n\t\t\t\t\t\t\t\t\ttpresCodigo +\r\n\t\t\t\t\t\t\t\t\t'_' +\r\n\t\t\t\t\t\t\t\t\tTokenService.BUDGET_TOKENS_FINANCING_DURATION,\r\n\t\t\t\t\t\t\t\tlabel: budget.cpreNombre + ' duración de financiación en meses'\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.initListTokenTasks();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\terror: (error) => {\r\n\t\t\t\tconsole.error('ERROR del servicio: ', error);\r\n\t\t\t}\r\n\t\t});\r\n\t\tthis.budgetService.getListPresupuestoGlobal(this.promCodigo);\r\n\t\tthis.callBudgetService = true;\r\n\t}\r\n\r\n\tinitListTokenTasks() {\r\n\t\tthis.pliCnfTaskService\r\n\t\t\t.getByPromCodigo(this.promCodigo)\r\n\t\t\t.subscribe((listTask: PliCnfEvaluationTask[]) => {\r\n\t\t\t\tif (listTask) {\r\n\t\t\t\t\tlet tokenTaskArr = [];\r\n\t\t\t\t\tfor (let i = 0; i < listTask.length; i++) {\r\n\t\t\t\t\t\ttokenTaskArr.push(listTask[i]);\r\n\t\t\t\t\t\ttokenTaskArr[i]['formulaToken'] =\r\n\t\t\t\t\t\t\tthis.camelize(this.eliminarDiacriticos(listTask[i].name)) +\r\n\t\t\t\t\t\t\t'_' +\r\n\t\t\t\t\t\t\tlistTask[i].id;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.lStaticToken[this.lStaticToken.length] = {\r\n\t\t\t\t\t\ttitle: {\r\n\t\t\t\t\t\t\tkey: TokenService.TOKEN_LABEL_TASKL,\r\n\t\t\t\t\t\t\tvalue: TokenService.TOKEN_LABEL_TASK\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\ttokenType: TokenService.TOKEN_LABEL_TASK,\r\n\t\t\t\t\t\tvalue: []\r\n\t\t\t\t\t};\r\n\t\t\t\t\ttokenTaskArr.forEach((cTask) => {\r\n\t\t\t\t\t\tthis.lStaticToken[this.lStaticToken.length - 1].value.push({\r\n\t\t\t\t\t\t\tkey: cTask.formulaToken,\r\n\t\t\t\t\t\t\tlabel: cTask.name\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.adjustStaticTokensInfo();\r\n\t\t\t\t\tthis.getTokenCalculated();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n\r\n\tadjustStaticTokensInfo() {\r\n\t\t// Add the static tokens\r\n\t\tthis.lStaticToken[this.lStaticToken.length] = {\r\n\t\t\ttitle: {\r\n\t\t\t\tkey: TokenService.getKeyStatic(),\r\n\t\t\t\tvalue: TokenService.TOKEN_LABEL_STATIC\r\n\t\t\t},\r\n\t\t\ttokenType: TokenService.TOKEN_LABEL_STATIC,\r\n\t\t\tvalue: TokenService.STATIC_TOKENS\r\n\t\t};\r\n\t\tthis.readyAccordeon = true;\r\n\t\tlet colMax = 4;\r\n\t\t//Organize depends of the panels\r\n\t\tfor (let groupToken of this.lStaticToken) {\r\n\t\t\tlet panel: any = [];\r\n\t\t\tif (groupToken.tokenType == TokenService.TOKEN_LABEL_FORM) {\r\n\t\t\t\tlet panelName: string = null;\r\n\t\t\t\tlet lastPanelName: string = null;\r\n\t\t\t\tfor (let staticToken of groupToken.value) {\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\t!this.showFrmMultiple &&\r\n\t\t\t\t\t\tstaticToken.editgrid &&\r\n\t\t\t\t\t\tstaticToken.editgrid === true\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (staticToken.panelName) {\r\n\t\t\t\t\t\tpanelName = staticToken.panelName;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (panelName !== null && panelName != lastPanelName) {\r\n\t\t\t\t\t\tpanel.push({\r\n\t\t\t\t\t\t\ttitle: {\r\n\t\t\t\t\t\t\t\tvalue: panelName\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tvalue: []\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t} else if (panelName === null && panel.length === 0) {\r\n\t\t\t\t\t\tpanel.push({\r\n\t\t\t\t\t\t\ttitle: {\r\n\t\t\t\t\t\t\t\tvalue: groupToken.title.value\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tvalue: []\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\tpanel[panel.length - 1].value.push(staticToken);\r\n\t\t\t\t\tlastPanelName = panelName;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tpanel.push({\r\n\t\t\t\t\ttitle: {\r\n\t\t\t\t\t\tvalue: groupToken.title.value\r\n\t\t\t\t\t},\r\n\t\t\t\t\tvalue: []\r\n\t\t\t\t});\r\n\t\t\t\tfor (let staticToken of groupToken.value) {\r\n\t\t\t\t\tpanel[panel.length - 1].value.push(staticToken);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tgroupToken.value = panel;\r\n\t\t}\r\n\t\tfor (let panel of this.lStaticToken) {\r\n\t\t\tfor (let groupToken of panel.value) {\r\n\t\t\t\tlet iCol = 0;\r\n\t\t\t\tlet iRow = 0;\r\n\t\t\t\tlet lStaticTokenTmp = [];\r\n\t\t\t\tlStaticTokenTmp[iRow] = [];\r\n\t\t\t\tfor (let staticToken of groupToken.value) {\r\n\t\t\t\t\tif (staticToken.type && staticToken.type === 'button') {\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!lStaticTokenTmp[iRow]) {\r\n\t\t\t\t\t\tlStaticTokenTmp[iRow] = [];\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (panel.tokenType === TokenService.TOKEN_LABEL_TASK) {\r\n\t\t\t\t\t\tlStaticTokenTmp[iRow].push({\r\n\t\t\t\t\t\t\tkey: '${' + panel.title.key + '_' + staticToken.key + '}',\r\n\t\t\t\t\t\t\tvalue: staticToken.label,\r\n\t\t\t\t\t\t\tobject: staticToken\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tlStaticTokenTmp[iRow].push({\r\n\t\t\t\t\t\t\tkey: '${' + panel.title.key + '_' + staticToken.key + '}',\r\n\t\t\t\t\t\t\tvalue: staticToken.label,\r\n\t\t\t\t\t\t\tobject: staticToken\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tiCol++;\r\n\t\t\t\t\tif (iCol == colMax) {\r\n\t\t\t\t\t\tiRow++;\r\n\t\t\t\t\t\tiCol = 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (iCol > 0) {\r\n\t\t\t\t\tfor (let i = iCol; i < colMax; i++) {\r\n\t\t\t\t\t\tlStaticTokenTmp[iRow].push({\r\n\t\t\t\t\t\t\tkey: null,\r\n\t\t\t\t\t\t\tvalue: null\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tgroupToken.value = lStaticTokenTmp;\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.onStaticToken.emit(this.lStaticToken);\r\n\t\tthis.configurationTokenSubjectService.setSubjectConfigurationTokens(this.lStaticToken);\r\n\t}\r\n\r\n\tgetTokenCalculated() {\r\n\t\tthis.tokenService.getListByPromCodigo(this.promCodigo).subscribe(\r\n\t\t\t(lToken: Token[]) => {\r\n\t\t\t\tthis.lCalculatedToken = lToken;\r\n\t\t\t\tthis.ready = true;\r\n\t\t\t},\r\n\t\t\t(error) => {\r\n\t\t\t\tconsole.log('Error getTokenCalculated -getListByPromCodigo', error);\r\n\t\t\t\tthis.toastrService.error('Error el formulario');\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetTokenSnapshot() {\r\n\t\tif (this.showSnapshot) {\r\n\t\t\tthis.snapshotTokenService.getAllByPromCode(this.promCodigo).subscribe((tokens) => {\r\n\t\t\t\tthis.snapShotTokens = tokens;\r\n\t\t\t\tthis.ready = true;\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tgetTokenGuarantee() {\r\n\t\tif (this.showGuatantee) {\r\n\t\t\tthis.pliCnfGuaranteeTokenService.getAllByPromCodigo(this.promCodigo).subscribe({\r\n\t\t\t\tnext: (result: PliCnfGuaranteeToken[]) => {\r\n\t\t\t\t\tthis.lGuaranteeTokens = result;\r\n\t\t\t\t\tthis.ready = true;\r\n\t\t\t\t},\r\n\t\t\t\terror: (error) => {\r\n\t\t\t\t\tthis.toastrService.error('Error al obtener los token de garantias', 'Error');\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\teliminarDiacriticos(texto) {\r\n\t\treturn texto.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '');\r\n\t}\r\n\r\n\tcamelize(str) {\r\n\t\treturn str\r\n\t\t\t.trim()\r\n\t\t\t.split(/\\s+/)\r\n\t\t\t.map((a) => a.trim())\r\n\t\t\t.filter((a) => a.length > 0)\r\n\t\t\t.map((a) => a[0].toUpperCase() + a.substring(1))\r\n\t\t\t.join('');\r\n\t}\r\n\r\n\t/** It deletes a sponsor */\r\n\tdelete(token: Token) {\r\n\t\tif (confirm('¿Está seguro que desea eliminar el token ' + token.name + '?')) {\r\n\t\t\tthis.tokenService.delete(token.id).subscribe(\r\n\t\t\t\t(result) => {\r\n\t\t\t\t\tthis.toastrService.success('El token fué eliminada exitosamente');\r\n\t\t\t\t\tthis.getTokenCalculated();\r\n\t\t\t\t},\r\n\t\t\t\t(error) => {\r\n\t\t\t\t\tthis.toastrService.error('Error al intentar eliminar el token');\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\t/** Tet the label to calculated tokens */\r\n\tlabelCalculated(token: Token): string {\r\n\t\treturn '${' + TokenService.getKeyCalculated(token) + '}';\r\n\t}\r\n\r\n\t/** Tet the label to calculated tokens */\r\n\tlabelSnapshot(token: PliCnfSnapshotToken): string {\r\n\t\treturn '${' + TokenService.getKeySnapshot(token) + '}';\r\n\t}\r\n\r\n\t/* The label to guarantee tokens */\r\n\tlabelGuarantee(token: PliCnfGuaranteeToken): string {\r\n\t\treturn '${' + TokenService.getKeyGuarantee(token) + '}';\r\n\t}\r\n\r\n\tinitForm(tokenSelected: Token) {\r\n\t\tthis.tokenSelected =\r\n\t\t\ttokenSelected == null\r\n\t\t\t\t? new Token()\r\n\t\t\t\t: Object.assign(new Token(), JSON.parse(JSON.stringify(tokenSelected)));\r\n\t\tif (!this.tokenSelected.promCodigo) {\r\n\t\t\tthis.tokenSelected.promCodigo = this.promCodigo;\r\n\t\t}\r\n\r\n\t\tthis.controlName = new FormControl(this.tokenSelected.name, Validators.required);\r\n\t\tthis.controlFormula = new FormControl(this.tokenSelected.formula, Validators.required);\r\n\r\n\t\tthis.frmToken = new FormGroup({\r\n\t\t\tcontrolName: this.controlName,\r\n\t\t\tcontrolFormula: this.controlFormula\r\n\t\t});\r\n\t}\r\n\r\n\tresolveKeyCalculatedToken() {\r\n\t\treturn UtilString.replaceAccentSpacesOthers(this.tokenSelected.name);\r\n\t}\r\n\r\n\tsave() {\r\n\t\tif (this.isFormValid(this.frmToken)) {\r\n\t\t\t// Validate if the name is unique\r\n\t\t\tif (this.lCalculatedToken && this.lCalculatedToken.length > 0) {\r\n\t\t\t\tfor (let calToken of this.lCalculatedToken) {\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tUtilString.replaceAccentSpacesOthers(calToken.name) ===\r\n\t\t\t\t\t\t\tUtilString.replaceAccentSpacesOthers(this.tokenSelected.name) &&\r\n\t\t\t\t\t\t(!this.tokenSelected.id || this.tokenSelected.id !== calToken.id)\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tthis.toastrService.warning(\r\n\t\t\t\t\t\t\t'El token ' + calToken.name + ' tiene la misma llave',\r\n\t\t\t\t\t\t\t'Alerta!'\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tlet evalFormula: boolean = false;\r\n\t\t\ttry {\r\n\t\t\t\tevalFormula = this.tokenService.validateFormula(\r\n\t\t\t\t\tthis.lStaticToken,\r\n\t\t\t\t\tthis.tokenSelected.name,\r\n\t\t\t\t\tthis.tokenSelected.formula\r\n\t\t\t\t);\r\n\t\t\t} catch (error) {\r\n\t\t\t\tconsole.error(error.error);\r\n\t\t\t\tthis.toastrService.error(error.message, error.title);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (!evalFormula) {\r\n\t\t\t\tthis.toastrService.error('No se logro evaluar la formular', 'Error!');\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\t// Save the tokenSelected\r\n\t\t\tthis.tokenService.save(this.tokenSelected).subscribe(\r\n\t\t\t\t(tokenSave: any) => {\r\n\t\t\t\t\tthis.toastrService.success('Se ha guardado exitosamente ', 'Guardado exitoso!');\r\n\t\t\t\t\tthis.tokenSelected = null;\r\n\t\t\t\t\tthis.getTokenCalculated();\r\n\t\t\t\t},\r\n\t\t\t\t(error) => {\r\n\t\t\t\t\tconsole.error(error);\r\n\t\t\t\t\tthis.toastrService.error('Error al intentar guardar el token', 'Error!');\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\tcancel() {\r\n\t\tthis.tokenSelected = null;\r\n\t}\r\n\r\n\t/** It validates if type is frm */\r\n\tisGroupFrm(type: string): boolean {\r\n\t\treturn type === TokenService.TOKEN_LABEL_FORM;\r\n\t}\r\n\r\n\t/** It validates if type is static */\r\n\tisGroupStatic(type: string): boolean {\r\n\t\treturn type === TokenService.TOKEN_LABEL_STATIC;\r\n\t}\r\n\r\n\t/** It validates if type is budget */\r\n\tisGroupBudget(type: string): boolean {\r\n\t\treturn type === TokenService.TOKEN_LABEL_BUDGET;\r\n\t}\r\n\r\n\t/** It validates if type is document */\r\n\tisGroupDocument(type: string): boolean {\r\n\t\treturn type === TokenService.TOKEN_LABEL_DOCUMENTO;\r\n\t}\r\n\r\n\tisGroupDocumentAnalysis(type: string): boolean {\r\n\t\treturn type === TokenService.TOKEN_DOCUMENTO_ANALYSIS_TYPE;\r\n\t}\r\n\r\n\t/** It validates if type is task */\r\n\tisGroupTask(type: string): boolean {\r\n\t\treturn type === TokenService.TOKEN_LABEL_TASK;\r\n\t}\r\n\r\n\t/** It validates visibility to all tokens mixed */\r\n\tvalidateVisibility(type: string): boolean {\r\n\t\treturn (\r\n\t\t\t(this.isGroupFrm(type) && this.showFrm) ||\r\n\t\t\t(this.isGroupStatic(type) && this.showStatic) ||\r\n\t\t\t(this.isGroupBudget(type) && this.showBudget) ||\r\n\t\t\t(this.isGroupDocument(type) && this.showDocument) ||\r\n\t\t\t(this.isGroupTask(type) && this.showTask) ||\r\n\t\t\t(this.isGroupDocumentAnalysis(type) && this.showDocumentAutoAnalysis)\r\n\t\t);\r\n\t}\r\n}\r\n","<div\r\n\t*ngIf=\"readyAccordeon && ready\"\r\n\tpliAuthorityDirective\r\n\t[authorities]=\"[p('ROLE_TOKENS_CONSULTAR')]\"\r\n\t[patCodigo]=\"patCodigo\"\r\n\t[externalAllowed]=\"false\"\r\n>\r\n\t<div class=\"row\">\r\n\t\t<div class=\"col-md-12\">\r\n\t\t\t<h4 class=\"no-margin-top\" *ngIf=\"!showAsTitle\">\r\n\t\t\t\tTokens formulario, documentos, presupuesto, tareas y estáticos\r\n\t\t\t</h4>\r\n\t\t\t<label class=\"no-margin-top form-control-label\" *ngIf=\"showAsTitle\">\r\n\t\t\t\tTokens formulario, documentos, presupuesto, tareas y estáticos\r\n\t\t\t</label>\r\n\t\t\t<p-accordion [multiple]=\"true\">\r\n\t\t\t\t<ng-container *ngFor=\"let groupToken of lStaticToken\">\r\n\t\t\t\t\t<p-accordionTab\r\n\t\t\t\t\t\t*ngIf=\"validateVisibility(groupToken.tokenType)\"\r\n\t\t\t\t\t\theader=\"{{ groupToken.title.value }}\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<div *ngFor=\"let panel of groupToken.value\">\r\n\t\t\t\t\t\t\t<h4 *ngIf=\"groupToken.value && groupToken.value.length > 1\">\r\n\t\t\t\t\t\t\t\t{{ panel.title.value }}\r\n\t\t\t\t\t\t\t</h4>\r\n\t\t\t\t\t\t\t<hr\r\n\t\t\t\t\t\t\t\t*ngIf=\"groupToken.value && groupToken.value.length > 1\"\r\n\t\t\t\t\t\t\t\tstyle=\"margin: 5px 0\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t<div *ngFor=\"let staticToken of panel.value\" class=\"ui-g\">\r\n\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t*ngIf=\"staticToken[0] && staticToken[0].key\"\r\n\t\t\t\t\t\t\t\t\tclass=\"ui-g-12 ui-md-6 ui-lg-3 cut-line\"\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\t\t\t\t\t(click)=\"copyMessage(staticToken[0].key)\"\r\n\t\t\t\t\t\t\t\t\t\ttitle=\"{{ staticToken[0].key }}\"\r\n\t\t\t\t\t\t\t\t\t\tstyle=\"margin-right: 8px\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t<span class=\"fa fa-clipboard\"></span>\r\n\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t\t<span title=\"{{ staticToken[0].value }}\">{{\r\n\t\t\t\t\t\t\t\t\t\tstaticToken[0].value\r\n\t\t\t\t\t\t\t\t\t}}</span>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t*ngIf=\"staticToken[1] && staticToken[1].key\"\r\n\t\t\t\t\t\t\t\t\tclass=\"ui-g-12 ui-md-6 ui-lg-3 cut-line\"\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\t\t\t\t\t(click)=\"copyMessage(staticToken[1].key)\"\r\n\t\t\t\t\t\t\t\t\t\ttitle=\"{{ staticToken[1].key }}\"\r\n\t\t\t\t\t\t\t\t\t\tstyle=\"margin-right: 8px\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t<span class=\"fa fa-clipboard\"></span>\r\n\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t\t<span title=\"{{ staticToken[1].value }}\">{{\r\n\t\t\t\t\t\t\t\t\t\tstaticToken[1].value\r\n\t\t\t\t\t\t\t\t\t}}</span>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t*ngIf=\"staticToken[2] && staticToken[2].key\"\r\n\t\t\t\t\t\t\t\t\tclass=\"ui-g-12 ui-md-6 ui-lg-3 cut-line\"\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\t\t\t\t\t(click)=\"copyMessage(staticToken[2].key)\"\r\n\t\t\t\t\t\t\t\t\t\ttitle=\"{{ staticToken[2].key }}\"\r\n\t\t\t\t\t\t\t\t\t\tstyle=\"margin-right: 8px\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t<span class=\"fa fa-clipboard\"></span>\r\n\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t\t<span title=\"{{ staticToken[2].value }}\">{{\r\n\t\t\t\t\t\t\t\t\t\tstaticToken[2].value\r\n\t\t\t\t\t\t\t\t\t}}</span>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t*ngIf=\"staticToken[3] && staticToken[3].key\"\r\n\t\t\t\t\t\t\t\t\tclass=\"ui-g-12 ui-md-6 ui-lg-3 cut-line\"\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\t\t\t\t\t(click)=\"copyMessage(staticToken[3].key)\"\r\n\t\t\t\t\t\t\t\t\t\ttitle=\"{{ staticToken[3].key }}\"\r\n\t\t\t\t\t\t\t\t\t\tstyle=\"margin-right: 8px\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t<span class=\"fa fa-clipboard\"></span>\r\n\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t\t<span title=\"{{ staticToken[3].value }}\">{{\r\n\t\t\t\t\t\t\t\t\t\tstaticToken[3].value\r\n\t\t\t\t\t\t\t\t\t}}</span>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</p-accordionTab>\r\n\t\t\t\t</ng-container>\r\n\t\t\t\t<p-accordionTab\r\n\t\t\t\t\t*ngIf=\"\r\n\t\t\t\t\t\tlCalculatedToken && showCalculatedForm === false && showCalculated === true\r\n\t\t\t\t\t\"\r\n\t\t\t\t\theader=\"Tokens calculados\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<div *ngFor=\"let token of lCalculatedToken\" class=\"ui-g\">\r\n\t\t\t\t\t\t<div class=\"ui-g-12 ui-md-6 ui-lg-3 cut-line\">\r\n\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\t\t\t(click)=\"copyMessage(labelCalculated(token))\"\r\n\t\t\t\t\t\t\t\ttitle=\"{{ labelCalculated(token) }}\"\r\n\t\t\t\t\t\t\t\tstyle=\"margin-right: 8px\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<span class=\"fa fa-clipboard\"></span>\r\n\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t<span title=\"{{ token.name }}\">{{ token.name }}</span>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</p-accordionTab>\r\n\t\t\t\t<p-accordionTab *ngIf=\"snapShotTokens && showSnapshot\" header=\"Tokens snapshot\">\r\n\t\t\t\t\t<div *ngFor=\"let token of snapShotTokens\" class=\"ui-g\">\r\n\t\t\t\t\t\t<div class=\"ui-g-12 ui-md-6 ui-lg-3 cut-line\">\r\n\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\t\t\t(click)=\"copyMessage(labelSnapshot(token))\"\r\n\t\t\t\t\t\t\t\ttitle=\"{{ labelSnapshot(token) }}\"\r\n\t\t\t\t\t\t\t\tstyle=\"margin-right: 8px\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<span class=\"fa fa-clipboard\"></span>\r\n\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t<span title=\"{{ token.name }}\">{{ token.name }}</span>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</p-accordionTab>\r\n\t\t\t\t<p-accordionTab *ngIf=\"lGuaranteeTokens && showGuatantee\" header=\"Tokens Garantias\">\r\n\t\t\t\t\t<div *ngFor=\"let token of lGuaranteeTokens\" class=\"ui-g\">\r\n\t\t\t\t\t\t<div class=\"ui-g-12 ui-md-6 ui-lg-3 cut-line\">\r\n\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\t\t\t(click)=\"copyMessage(labelGuarantee(token))\"\r\n\t\t\t\t\t\t\t\ttitle=\"{{ labelGuarantee(token) }}\"\r\n\t\t\t\t\t\t\t\tstyle=\"margin-right: 8px\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<span class=\"fa fa-clipboard\"></span>\r\n\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t<span title=\"{{ token.name }}\">{{ token.name }}</span>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</p-accordionTab>\r\n\t\t\t</p-accordion>\r\n\t\t</div>\r\n\t\t<div\r\n\t\t\tclass=\"col-md-12\"\r\n\t\t\t*ngIf=\"lCalculatedToken && showCalculatedForm === true && showCalculated === true\"\r\n\t\t>\r\n\t\t\t<span style=\"width: 1px; height: 10px\"> </span>\r\n\t\t\t<h4 class=\"no-margin-top\">Tokens calculados</h4>\r\n\t\t\t<p-table [value]=\"lCalculatedToken\" [responsive]=\"true\">\r\n\t\t\t\t<ng-template pTemplate=\"header\">\r\n\t\t\t\t\t<tr class=\"text-align-center\">\r\n\t\t\t\t\t\t<th class=\"text-align-center\" width=\"40%\">Nombre</th>\r\n\t\t\t\t\t\t<th class=\"text-align-center\">Formula</th>\r\n\t\t\t\t\t\t<th class=\"text-align-center\">Creado</th>\r\n\t\t\t\t\t\t<th class=\"text-align-center\">Modificado</th>\r\n\t\t\t\t\t\t<th class=\"text-align-center\">Acciones</th>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t</ng-template>\r\n\t\t\t\t<ng-template pTemplate=\"body\" let-token>\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\t\t\t(click)=\"copyMessage(labelCalculated(token))\"\r\n\t\t\t\t\t\t\t\tstyle=\"margin-right: 8px\"\r\n\t\t\t\t\t\t\t\ttitle=\"{{ labelCalculated(token) }}\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<span class=\"fa fa-clipboard\"></span>\r\n\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t{{ token.name }}\r\n\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t<td class=\"cut-line\">{{ token.formula }}</td>\r\n\t\t\t\t\t\t<td>{{ token.createdAt | date: 'dd MMM yyyy' | lowercase }}</td>\r\n\t\t\t\t\t\t<td>{{ token.modifiedAt | date: 'dd MMM yyyy' | lowercase }}</td>\r\n\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t<div class=\"btn-group\" role=\"group\">\r\n\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\t\t\t\tclass=\"btn btn-default\"\r\n\t\t\t\t\t\t\t\t\t(click)=\"initForm(token)\"\r\n\t\t\t\t\t\t\t\t\tpliAuthorityDirective\r\n\t\t\t\t\t\t\t\t\t[authorities]=\"[p('ROLE_TOKENS_CREAR_EDITAR')]\"\r\n\t\t\t\t\t\t\t\t\t[patCodigo]=\"patCodigo\"\r\n\t\t\t\t\t\t\t\t\t[externalAllowed]=\"false\"\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\tEditar\r\n\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\t\t\t\tclass=\"btn btn-default dropdown-toggle\"\r\n\t\t\t\t\t\t\t\t\tdata-toggle=\"dropdown\"\r\n\t\t\t\t\t\t\t\t\taria-haspopup=\"true\"\r\n\t\t\t\t\t\t\t\t\taria-expanded=\"false\"\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<span class=\"caret\"></span>\r\n\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t<ul class=\"dropdown-menu\">\r\n\t\t\t\t\t\t\t\t\t<li>\r\n\t\t\t\t\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\t\t\t\t\thref=\"Javascript:;\"\r\n\t\t\t\t\t\t\t\t\t\t\t(click)=\"delete(token)\"\r\n\t\t\t\t\t\t\t\t\t\t\tpliAuthorityDirective\r\n\t\t\t\t\t\t\t\t\t\t\t[authorities]=\"[p('ROLE_TOKENS_ELIMINAR')]\"\r\n\t\t\t\t\t\t\t\t\t\t\t[patCodigo]=\"patCodigo\"\r\n\t\t\t\t\t\t\t\t\t\t\t[externalAllowed]=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t\t>Eliminar</a\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t</li>\r\n\t\t\t\t\t\t\t\t</ul>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t</ng-template>\r\n\t\t\t</p-table>\r\n\t\t\t<div class=\"text-align-right\" style=\"padding: 0.75rem 1.25rem\">\r\n\t\t\t\t<button\r\n\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\tclass=\"btn btn-primary\"\r\n\t\t\t\t\t(click)=\"initForm(null)\"\r\n\t\t\t\t\tpliAuthorityDirective\r\n\t\t\t\t\t[authorities]=\"[p('ROLE_TOKENS_CREAR_EDITAR')]\"\r\n\t\t\t\t\t[patCodigo]=\"patCodigo\"\r\n\t\t\t\t\t[externalAllowed]=\"false\"\r\n\t\t\t\t>\r\n\t\t\t\t\tAgregar nuevo\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div>\r\n\t\t\t\t<form [formGroup]=\"frmToken\" (ngSubmit)=\"save()\" *ngIf=\"tokenSelected\">\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-md-12\">\r\n\t\t\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t\t\t<div class=\"col-sm-6 col-md-6\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"form-group required\">\r\n\t\t\t\t\t\t\t\t\t\t<label for=\"name\" class=\"form-control-label\">Nombre</label>\r\n\r\n\t\t\t\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\t\t\t\ttype=\"input\"\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t\t\t\t\t\tname=\"name\"\r\n\t\t\t\t\t\t\t\t\t\t\tid=\"name\"\r\n\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"Nombre\"\r\n\t\t\t\t\t\t\t\t\t\t\tformControlName=\"controlName\"\r\n\t\t\t\t\t\t\t\t\t\t\t[(ngModel)]=\"tokenSelected.name\"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t<br /><br />\r\n\t\t\t\t\t\t\t\t\t\t<label class=\"form-control-label\">Llave:</label\r\n\t\t\t\t\t\t\t\t\t\t> <span style=\"font-weight: bold\">{{\r\n\t\t\t\t\t\t\t\t\t\t\tresolveKeyCalculatedToken()\r\n\t\t\t\t\t\t\t\t\t\t}}</span>\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"form-control-error\">\r\n\t\t\t\t\t\t\t\t\t\t\t<small *ngIf=\"hasError(controlName, 'required')\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t>Nombre es requerido</small\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t\t\t<div class=\"col-sm-6 col-md-6\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"form-group required\">\r\n\t\t\t\t\t\t\t\t\t\t<label for=\"formula\" class=\"form-control-label\"\r\n\t\t\t\t\t\t\t\t\t\t\t>Formula</label\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\r\n\t\t\t\t\t\t\t\t\t\t<!-- <input type=\"input\" class=\"form-control\" name=\"formula\" id=\"formula\" placeholder=\"Fórmula\"\r\n formControlName=\"formula\" [(ngModel)]=\"tokenSelected.formula\" /> -->\r\n\t\t\t\t\t\t\t\t\t\t<textarea\r\n\t\t\t\t\t\t\t\t\t\t\tcols=\"50\"\r\n\t\t\t\t\t\t\t\t\t\t\trows=\"4\"\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t\t\t\t\t\tname=\"formula\"\r\n\t\t\t\t\t\t\t\t\t\t\tid=\"formula\"\r\n\t\t\t\t\t\t\t\t\t\t\tformControlName=\"controlFormula\"\r\n\t\t\t\t\t\t\t\t\t\t\t[(ngModel)]=\"tokenSelected.formula\"\r\n\t\t\t\t\t\t\t\t\t\t></textarea>\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"form-control-error\">\r\n\t\t\t\t\t\t\t\t\t\t\t<small *ngIf=\"hasError(controlFormula, 'required')\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t>Fórmula es requerida</small\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"card-footer text-align-right\">\r\n\t\t\t\t\t\t\t\t<button type=\"button\" (click)=\"cancel()\" class=\"btn btn-link\">\r\n\t\t\t\t\t\t\t\t\tCancelar\r\n\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\ttype=\"submit\"\r\n\t\t\t\t\t\t\t\t\tclass=\"btn btn-success\"\r\n\t\t\t\t\t\t\t\t\tpliAuthorityDirective\r\n\t\t\t\t\t\t\t\t\t[authorities]=\"[p('ROLE_TOKENS_CREAR_EDITAR')]\"\r\n\t\t\t\t\t\t\t\t\t[patCodigo]=\"patCodigo\"\r\n\t\t\t\t\t\t\t\t\t[externalAllowed]=\"false\"\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\tGuardar\r\n\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</form>\r\n\t\t\t</div>\r\n\t\t\t<pli-snapshot-token\r\n\t\t\t\t[promCodigo]=\"promCodigo\"\r\n\t\t\t\t*ngIf=\"showSnapshotForm\"\r\n\t\t\t></pli-snapshot-token>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"row\">\r\n\t\t<div class=\"col-sm-12 col-md-12 col-lg-12\">\r\n\t\t\t<pli-guarantee-token [promCodigo]=\"promCodigo\" *ngIf=\"showGuatanteeForm\">\r\n\t\t\t</pli-guarantee-token>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n","import {\r\n\tComponent,\r\n\tOnInit,\r\n\tChangeDetectorRef,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOutput,\r\n\tOnChanges,\r\n\tSimpleChanges,\r\n\tSimpleChange\r\n} from '@angular/core';\r\nimport { ETypeColumn, SegFilter, SegColumn } from 'ng-pli-util';\r\nimport { CommonService } from '../../services/common.service';\r\n\r\ndeclare var $: any;\r\n@Component({\r\n\tselector: 'app-dynamic-filter',\r\n\ttemplateUrl: './dynamic-filter.component.html',\r\n\tstyleUrls: ['./dynamic-filter.component.css']\r\n})\r\nexport class DynamicFilterComponent implements OnInit, OnChanges {\r\n\t/** */\r\n\tactive: boolean;\r\n\t/** List of filter */\r\n\t@Input() lSegFilter: SegFilter[];\r\n\t/** List of columns */\r\n\t@Input() lSegColumn: SegColumn[];\r\n\t/** List of columns */\r\n\t@Input() comboColumnWork: any[];\r\n\r\n\tdisplayDialog: boolean;\r\n\r\n\tmapSegColumnById: Map<string, SegColumn>;\r\n\r\n\t@Output() searchFilter: EventEmitter<SegFilter[]> = new EventEmitter();\r\n\r\n\tconstructor(protected cdRef: ChangeDetectorRef, protected commonService: CommonService) {}\r\n\r\n\tngOnInit() {}\r\n\r\n\t/** It manages the change of the every @Input */\r\n\tngOnChanges(changes: SimpleChanges): void {\r\n\t\tconst comboColumnWork: SimpleChange = changes.comboColumnWork;\r\n\t\tif (comboColumnWork && comboColumnWork.currentValue) {\r\n\t\t\tthis.comboColumnWork = comboColumnWork.currentValue;\r\n\t\t\tthis.active = true;\r\n\t\t\tif (!this.lSegFilter || this.lSegFilter.length == 0) {\r\n\t\t\t\tthis.addFilter();\r\n\t\t\t}\r\n\t\t}\r\n\t\tconst lSegColumn: SimpleChange = changes.lSegColumn;\r\n\t\tif (lSegColumn && lSegColumn.currentValue) {\r\n\t\t\tthis.lSegColumn = lSegColumn.currentValue;\r\n\t\t\tthis.loadMapColumn();\r\n\t\t}\r\n\t\t// console.log(this.comboColumnWork);\r\n\t}\r\n\r\n\tloadMapColumn() {\r\n\t\tthis.mapSegColumnById = new Map<string, SegColumn>();\r\n\t\tfor (const segColumn of this.lSegColumn) {\r\n\t\t\tthis.mapSegColumnById.set(segColumn.idColumn.toString(), segColumn);\r\n\t\t}\r\n\t}\r\n\r\n\t/** it fires when select column */\r\n\tonSelectColumn(filter: SegFilter) {\r\n\t\tif (filter.idColumn) {\r\n\t\t\tlet column = this.getColumnById(filter.idColumn.toString());\r\n\t\t\tif (column) {\r\n\t\t\t\tfilter.idColumn = column.idColumn;\r\n\t\t\t\tfilter.type = column.type;\r\n\t\t\t\tfilter.label = column.label;\r\n\t\t\t\tfilter.key = column.key;\r\n\t\t\t}\r\n\r\n\t\t\tif (\r\n\t\t\t\tNumber(filter.type) == this.getTypeNumber() ||\r\n\t\t\t\tNumber(filter.type) == this.getTypeDate()\r\n\t\t\t)\r\n\t\t\t\tfilter.operator = '1';\r\n\t\t\telse filter.operator = '3';\r\n\t\t\tconsole.log('filter', filter);\r\n\t\t}\r\n\t}\r\n\r\n\t/** It returns the type text */\r\n\tgetTypeText() {\r\n\t\treturn ETypeColumn.TEXTO;\r\n\t}\r\n\t/** It returns the type number */\r\n\tgetTypeNumber() {\r\n\t\treturn ETypeColumn.NUMERICO;\r\n\t}\r\n\t/** It returns the type date */\r\n\tgetTypeDate() {\r\n\t\treturn ETypeColumn.FECHA;\r\n\t}\r\n\r\n\t/** it deletes filter */\r\n\tdeleteFilter(i) {\r\n\t\tconsole.log('Eliminar ', i);\r\n\t\tif (this.lSegFilter) this.lSegFilter.splice(i, 1);\r\n\t\tif (!this.lSegFilter || !this.lSegFilter.length) this.addFilter();\r\n\t}\r\n\t/** it defines the conjunction */\r\n\tsetConjunction(filter: SegFilter, conjunction) {\r\n\t\tfilter.conjunction = conjunction;\r\n\t}\r\n\r\n\t/** it adds new filter */\r\n\taddFilter() {\r\n\t\tif (!this.lSegFilter) {\r\n\t\t\tthis.lSegFilter = [];\r\n\t\t}\r\n\t\tlet filter = new SegFilter();\r\n\t\tfilter.conjunction = 'Y';\r\n\t\tthis.lSegFilter.push(filter);\r\n\t}\r\n\r\n\t/** clean all filters */\r\n\tclean() {\r\n\t\tthis.lSegFilter = [];\r\n\t\tthis.addFilter();\r\n\t}\r\n\r\n\t/** clean all filters */\r\n\tdeleteAll() {\r\n\t\tif (this.lSegFilter) for (const filter of this.lSegFilter) filter.value = undefined;\r\n\t}\r\n\r\n\t/** it searches */\r\n\tsearch() {\r\n\t\tthis.searchFilter.emit(this.lSegFilter);\r\n\t}\r\n\r\n\t/** return type input */\r\n\tgetTypeInput(type) {\r\n\t\tif (type == this.getTypeDate()) return 'date';\r\n\t\tif (type == this.getTypeNumber()) return 'text';\r\n\t\treturn 'text';\r\n\t}\r\n\r\n\t/** it returns the column by id */\r\n\tgetColumnById(id: string): SegColumn {\r\n\t\treturn this.mapSegColumnById.get(id);\r\n\t}\r\n}\r\n","<div class=\"flex flow-row-wrap\" style=\"margin:10px 0 0;justify-content: normal\" *ngIf=\"active\">\r\n\t<div class=\"segmentation-filter\" *ngFor=\"let filter of lSegFilter; let i = index\">\r\n\t\t<div *ngIf=\"filter.idColumn == undefined\">\r\n\t\t\t<div class=\"ml-sm\">\r\n\t\t\t\t<p-dropdown\r\n\t\t\t\t\t[autoWidth]=\"false\"\r\n\t\t\t\t\t[style]=\"{ width: '100%' }\"\r\n\t\t\t\t\tplaceholder=\"-- Seleccione opción\"\r\n\t\t\t\t\t[options]=\"comboColumnWork\"\r\n\t\t\t\t\t[group]=\"true\"\r\n\t\t\t\t\t[(ngModel)]=\"filter.idColumn\"\r\n\t\t\t\t\t(onChange)=\"onSelectColumn(filter)\"\r\n\t\t\t\t\t[filter]=\"true\"\r\n\t\t\t\t>\r\n\t\t\t\t</p-dropdown>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"flex align-items-center\" *ngIf=\"filter.idColumn != undefined\">\r\n\t\t\t<div class=\"ml-sm mr-sm\">\r\n\t\t\t\t<span class=\"input-group-btn conector\" *ngIf=\"i != 0\">\r\n\t\t\t\t\t<button\r\n\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\tclass=\"btn btn-info btn-sm br-5\"\r\n\t\t\t\t\t\t*ngIf=\"filter.conjunction == 'Y'\"\r\n\t\t\t\t\t\t(click)=\"setConjunction(filter, 'O')\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\tY\r\n\t\t\t\t\t</button>\r\n\t\t\t\t\t<button\r\n\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\tclass=\"btn btn-warning btn-sm br-5\"\r\n\t\t\t\t\t\t*ngIf=\"filter.conjunction == 'O'\"\r\n\t\t\t\t\t\t(click)=\"setConjunction(filter, 'Y')\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\tO\r\n\t\t\t\t\t</button>\r\n\t\t\t\t</span>\r\n\t\t\t\t<span class=\"ml-sm\" *ngIf=\"i == 0\">\r\n\t\t\t\t\t<span class=\"btn btn-sm br-5\" style=\"cursor:auto;\"> </span>\r\n\t\t\t\t</span>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"mr-sm\">\r\n\t\t\t\t<select\r\n\t\t\t\t\tclass=\"form-control input-sm select-operation\"\r\n\t\t\t\t\tstyle=\"width: 125px;\"\r\n\t\t\t\t\t[(ngModel)]=\"filter.operator\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<option value=\"1\">Igual a</option>\r\n\t\t\t\t\t<option value=\"2\">Diferente a</option>\r\n\t\t\t\t\t<option value=\"3\" *ngIf=\"filter.type == getTypeText()\">Contiene</option>\r\n\t\t\t\t\t<option value=\"4\" *ngIf=\"filter.type == getTypeText()\">No contiene</option>\r\n\t\t\t\t\t<option\r\n\t\t\t\t\t\tvalue=\"5\"\r\n\t\t\t\t\t\t*ngIf=\"filter.type == getTypeNumber() || filter.type == getTypeDate()\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\tMayor a</option\r\n\t\t\t\t\t>\r\n\t\t\t\t\t<option\r\n\t\t\t\t\t\tvalue=\"6\"\r\n\t\t\t\t\t\t*ngIf=\"filter.type == getTypeNumber() || filter.type == getTypeDate()\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\tMayor o igual a</option\r\n\t\t\t\t\t>\r\n\t\t\t\t\t<option\r\n\t\t\t\t\t\tvalue=\"7\"\r\n\t\t\t\t\t\t*ngIf=\"filter.type == getTypeNumber() || filter.type == getTypeDate()\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\tMenor a</option\r\n\t\t\t\t\t>\r\n\t\t\t\t\t<option\r\n\t\t\t\t\t\tvalue=\"8\"\r\n\t\t\t\t\t\t*ngIf=\"filter.type == getTypeNumber() || filter.type == getTypeDate()\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\tMenor o igual a</option\r\n\t\t\t\t\t>\r\n\t\t\t\t\t<option value=\"9\">Es vacío</option>\r\n\t\t\t\t</select>\r\n\t\t\t</div>\r\n\t\t\t<div>\r\n\t\t\t\t<input\r\n\t\t\t\t\t[type]=\"getTypeInput(filter.type)\"\r\n\t\t\t\t\t[disabled]=\"filter.operator == 9\"\r\n\t\t\t\t\tclass=\"form-control input-value input-sm\"\r\n\t\t\t\t\t[(ngModel)]=\"filter.value\"\r\n\t\t\t\t\t[placeholder]=\"filter.label\"\r\n\t\t\t\t\tstyle=\"width: 165px;\"\r\n\t\t\t\t\t(keyup.enter)=\"search()\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"flex ml-sm button_filter\">\r\n\t\t\t\t<button\r\n\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\tclass=\"btn btn-danger btn-sm btn-rounded\"\r\n\t\t\t\t\t(click)=\"deleteFilter(i)\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<span class=\"fa fa-minus\"></span>\r\n\t\t\t\t</button>\r\n\t\t\t\t<button\r\n\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\tclass=\"btn btn-success btn-sm btn-rounded ml-sm\"\r\n\t\t\t\t\t(click)=\"addFilter()\"\r\n\t\t\t\t\t*ngIf=\"i + 1 == lSegFilter.length\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<span class=\"fa fa-plus\"></span>\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n<div class=\"row\" style=\"margin:0 0 10px\" *ngIf=\"active\">\r\n\t<div class=\"col-sm-12 panel-button\">\r\n\t\t<div class=\"btn-toolbar\">\r\n\t\t\t<div class=\"btn-group\">\r\n\t\t\t\t<button type=\"button\" class=\"btn btn-primary btn-sm btn-consult\" (click)=\"search()\">\r\n\t\t\t\t\tConsultar\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"btn-group\">\r\n\t\t\t\t<button type=\"button\" class=\"btn btn-danger btn-sm btn-delete\" (click)=\"clean()\">\r\n\t\t\t\t\tBorrar filtros\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"btn-group\">\r\n\t\t\t\t<button\r\n\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\tclass=\"btn btn-warning btn-sm btn-clear\"\r\n\t\t\t\t\t(click)=\"deleteAll()\"\r\n\t\t\t\t>\r\n\t\t\t\t\tlimpiar datos\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport * as XLSX from 'xlsx';\r\n\r\n@Component({\r\n\tselector: 'pli-excel-to-json',\r\n\ttemplateUrl: './excel-to-json.component.html',\r\n\tstyleUrls: ['./excel-to-json.component.css']\r\n})\r\nexport class ExcelToJsonComponent implements OnInit {\r\n\texcelWorkbook: Array<any>;\r\n\tdisableButton = false;\r\n\r\n\t@Output() onLoadFile: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n\tconstructor() {}\r\n\r\n\tngOnInit() {}\r\n\r\n\tonFileChange(event: any) {\r\n\t\tthis.excelWorkbook = [];\r\n\r\n\t\t/* wire up file reader */\r\n\t\tconst target: DataTransfer = <DataTransfer>event.target;\r\n\r\n\t\tif (target.files.length !== 1) {\r\n\t\t\tthrow new Error('Cannot use multiple files');\r\n\t\t}\r\n\r\n\t\tthis.disableButton = true;\r\n\t\tconst reader: FileReader = new FileReader();\r\n\r\n\t\treader.onload = (e: any) => {\r\n\t\t\t/* read workbook */\r\n\t\t\tconst bstr: string = e.target.result;\r\n\t\t\tconst wb: XLSX.WorkBook = XLSX.read(bstr, { type: 'binary', cellDates: true });\r\n\r\n\t\t\t/* read sheets */\r\n\t\t\tfor (let i = 0; i < wb.SheetNames.length; i++) {\r\n\t\t\t\t/* grab sheet */\r\n\t\t\t\tconst wsname: string = wb.SheetNames[i];\r\n\t\t\t\tconst ws: XLSX.WorkSheet = wb.Sheets[wsname];\r\n\r\n\t\t\t\t/* save data */\r\n\t\t\t\tconst sheet = {\r\n\t\t\t\t\tsheet: {\r\n\t\t\t\t\t\tlabel: wsname,\r\n\t\t\t\t\t\tcontent: <any>(\r\n\t\t\t\t\t\t\tXLSX.utils.sheet_to_json(ws, { raw: true, defval: '', header: 1 })\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\r\n\t\t\t\tthis.excelWorkbook.push(sheet);\r\n\t\t\t}\r\n\r\n\t\t\t/* emit data to suscribers*/\r\n\t\t\tthis.onLoadFile.emit({\r\n\t\t\t\tdata: this.excelWorkbook\r\n\t\t\t});\r\n\r\n\t\t\tthis.disableButton = false;\r\n\t\t};\r\n\r\n\t\treader.readAsBinaryString(target.files[0]);\r\n\t}\r\n}\r\n","<input type=\"file\" [disabled]=\"disableButton\" (change)=\"onFileChange($event)\" multiple=\"false\" />\r\n","import { OnInit, ChangeDetectorRef, OnDestroy, Component } from '@angular/core';\r\nimport { CommonService } from '../services/common.service';\r\nimport { CommonListsComponent } from './common.lists.component';\r\n\r\n@Component({\r\n selector: 'app-configuration-commons',\r\n template: ''\r\n})\r\nexport abstract class ConfigurationCommonsComponent\r\n\textends CommonListsComponent\r\n\timplements OnInit, OnDestroy {\r\n\t/** */\r\n\tfullWidth: boolean = false;\r\n\r\n\tconstructor(protected commonService: CommonService, protected cdRef: ChangeDetectorRef) {\r\n\t\tsuper(commonService, cdRef);\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tsuper.ngOnInit();\r\n\t\tif (this.fullWidth) {\r\n\t\t\tconst element = document.getElementById('mainContainer');\r\n\t\t\tif (element) {\r\n\t\t\t\telement.classList.remove('container');\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tif (this.fullWidth) {\r\n\t\t\tconst element = document.getElementById('mainContainer');\r\n\t\t\tif (element) {\r\n\t\t\t\telement.classList.add('container');\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n","import { Component, OnInit, Input, ChangeDetectorRef, EventEmitter, Output } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { ConfigurationCommonsComponent } from '../configuration.commons.component';\r\nimport { CommonService } from '../../services/common.service';\r\nimport { ConfigurationDocumentService } from '../../services/configuration-document.service';\r\nimport { Idioma, PdfConfig, EPdfOrientation, EPdfSize } from 'ng-pli-util';\r\n@Component({\r\n\tselector: 'pli-pdf-config',\r\n\ttemplateUrl: './pdf-config.component.html',\r\n\tstyleUrls: ['./pdf-config.component.css']\r\n})\r\nexport class PdfConfigComponent extends ConfigurationCommonsComponent implements OnInit {\r\n\t/** it contains the prom codigo */\r\n\t@Input() promCodigo: number;\r\n\t/** Inputs to show the fields */\r\n\r\n\t@Input() showFormula: boolean = true;\r\n\t@Input() showSnapshot: boolean = false;\r\n\t@Input() showSnapshotForm: boolean = false;\r\n\t@Input() showName: boolean = false;\r\n\t@Input() showIdiCodigo: boolean = false;\r\n\t@Input() showCdocCodigo: boolean = false;\r\n\t@Input() showTemplate: boolean = false;\r\n\t@Input() showVisibles: boolean = false;\r\n\t@Input() showVisiblesDirectTo: boolean = false;\r\n\t@Input() showMargins: boolean = false;\r\n\t@Input() showHeader: boolean = false;\r\n\t@Input() showFooter: boolean = false;\r\n\t@Input() showFont: boolean = false;\r\n\t@Input() showTokens: boolean = false;\r\n\t/** It contains if visible frm tokens */\r\n\t@Input() showFrm: boolean = true;\r\n\t/** It contains if visible static tokens */\r\n\t@Input() showStatic: boolean = true;\r\n\t/** It contains if visible budget tokens */\r\n\t@Input() showBudget: boolean = true;\r\n\t/** It contains if visible calculated tokens */\r\n\t@Input() showCalculated: boolean = true;\r\n\t/** It contains if visible calculated form */\r\n\t@Input() showCalculatedForm: boolean = false;\r\n\t@Input() showSize: boolean = false;\r\n\t@Input() showOrientation: boolean = false;\r\n\t@Input() showRepeatHeader: boolean = false;\r\n\t@Input() showRepeatFooter: boolean = false;\r\n\t@Input() showPager: boolean = false;\r\n\t@Input() showHeaderFooterHeight: boolean = false;\r\n\t/** it contains the gropup document */\r\n\t@Input() tgdocCodigo: number = 10;\r\n\t/** it contains the pdf config */\r\n\t@Input() pdfConfig: PdfConfig;\r\n\t@Output() pdfConfigChange: EventEmitter<PdfConfig> = new EventEmitter<PdfConfig>();\r\n\r\n\t/** it contains the list language */\r\n\tlistLanguage: Idioma[];\r\n\t/** it contains the list documents */\r\n\tlistDocument: Array<any>;\r\n\t/** it contains the list fonts */\r\n\tlistFont: Array<any>;\r\n\t/** it contains the orientations list */\r\n\tlistOrientation: Array<EPdfOrientation>;\r\n\t/** it contains the sizes list */\r\n\tlistSizes: Array<EPdfSize>;\r\n\t/** it handles the space between margins and checks */\r\n\tshowBr: boolean;\r\n\t/** */\r\n\tconfigurationPdf: PdfConfig;\r\n\t/** It contians the list of token */\r\n\tlistStaticToken: any;\r\n\r\n\t/** Optional input for rich text toolbar */\r\n\t@Input()\r\n\ttoolbar: string;\r\n\r\n\t/** It contains the custom options for rich text*/\r\n\toptions: any;\r\n\r\n\tconstructor(\r\n\t\tprotected cdRef: ChangeDetectorRef,\r\n\t\tprotected commonService: CommonService,\r\n\t\tprotected configurationDocumentService: ConfigurationDocumentService\r\n\t) {\r\n\t\tsuper(commonService, cdRef);\r\n\t\tthis.options = { branding: false };\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.handleOptions();\r\n\t\tthis.initLists();\r\n\t}\r\n\r\n\thandleOptions() {\r\n\t\tif (this.toolbar) {\r\n\t\t\tthis.options.toolbar = this.toolbar;\r\n\t\t}\r\n\t}\r\n\r\n\t/** it initialiazes the lists */\r\n\tprivate initLists() {\r\n\t\t// list of font\r\n\t\tthis.listFont = [\r\n\t\t\t{ value: 'Arial', label: 'Arial' },\r\n\t\t\t{ value: 'Calibri', label: 'Calibri' },\r\n\t\t\t{ value: 'Georgia', label: 'Georgia' },\r\n\t\t\t{ value: 'Times', label: 'Times New Roman' },\r\n\t\t\t{ value: 'Verdana', label: 'Verdana' }\r\n\t\t];\r\n\r\n\t\t// It initializes orientation and size lists and value\r\n\t\tthis.listSizes = [EPdfSize.LETTER, EPdfSize.LEGAL];\r\n\t\tthis.listOrientation = [EPdfOrientation.PORTRAIT, EPdfOrientation.LANDSCAPE];\r\n\r\n\t\t// Default values\r\n\t\tthis.pdfConfig.size = this.pdfConfig.size || EPdfSize.LETTER.id;\r\n\t\tthis.pdfConfig.orientation = this.pdfConfig.orientation || EPdfOrientation.PORTRAIT.id;\r\n\t\tthis.pdfConfig.showPager =\r\n\t\t\ttypeof this.pdfConfig.showPager === 'undefined' ? true : this.pdfConfig.showPager;\r\n\t\tthis.pdfConfig.repeatHeader =\r\n\t\t\ttypeof this.pdfConfig.repeatHeader === 'undefined' ? true : this.pdfConfig.repeatHeader;\r\n\t\tthis.pdfConfig.repeatFooter =\r\n\t\t\ttypeof this.pdfConfig.repeatFooter === 'undefined' ? true : this.pdfConfig.repeatFooter;\r\n\r\n\t\t// it initializes languagelist\r\n\t\tif (this.showIdiCodigo)\r\n\t\t\tthis.commonService.onLanguageChanged().subscribe((result) => {\r\n\t\t\t\tif (result) this.listLanguage = result;\r\n\t\t\t});\r\n\r\n\t\t// it inializes the document\r\n\t\tif (this.showCdocCodigo)\r\n\t\t\tthis.configurationDocumentService\r\n\t\t\t\t.geListByPromCodigoAndTgdocCodigo(this.promCodigo, this.tgdocCodigo)\r\n\t\t\t\t.subscribe((result) => {\r\n\t\t\t\t\tthis.listDocument = result;\r\n\t\t\t\t});\r\n\t\tthis.showBr = this.showRepeatHeader || this.showRepeatFooter || this.showPager;\r\n\t}\r\n\t/** It sets the list of token */\r\n\tsetListToken(listToken: any) {\r\n\t\tthis.listStaticToken = listToken;\r\n\t}\r\n}\r\n","<div class=\"row\">\r\n\t<div class=\"col-md-3\">\r\n\t\t<div class=\"row\">\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showName\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"name\" class=\"form-control-label\">Nombre *</label>\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\tname=\"name\"\r\n\t\t\t\t\t\tid=\"name\"\r\n\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.name\"\r\n\t\t\t\t\t\tplaceholder=\"Nombre\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showFormula\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"formula\" class=\"form-control-label\"\r\n\t\t\t\t\t\t>Fórmula de la visibilidad del documento</label\r\n\t\t\t\t\t>\r\n\t\t\t\t\t<textarea\r\n\t\t\t\t\t\tstyle=\"resize: vertical\"\r\n\t\t\t\t\t\trows=\"2\"\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\tname=\"formula\"\r\n\t\t\t\t\t\tid=\"formula\"\r\n\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.formula\"\r\n\t\t\t\t\t\tplaceholder=\"Formula de la visibilidad del documento\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t</textarea>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showIdiCodigo\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"idiCodigo\" class=\"form-control-label\">Idioma *</label>\r\n\t\t\t\t\t<select\r\n\t\t\t\t\t\tname=\"idiCodigo\"\r\n\t\t\t\t\t\tid=\"idiCodigo\"\r\n\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.idiCodigo\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<option value=\"\">-- Seleccione opción</option>\r\n\t\t\t\t\t\t<option *ngFor=\"let language of listLanguage\" [value]=\"language.idiCodigo\">\r\n\t\t\t\t\t\t\t{{ language.idiIdioma }}\r\n\t\t\t\t\t\t</option>\r\n\t\t\t\t\t</select>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showCdocCodigo\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"cdocCodigo\" class=\"form-control-label\">Tipo documento *</label>\r\n\t\t\t\t\t<select\r\n\t\t\t\t\t\tname=\"cdocCodigo\"\r\n\t\t\t\t\t\tid=\"cdocCodigo\"\r\n\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.cdocCodigo\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<option value=\"\">-- Seleccione opción</option>\r\n\t\t\t\t\t\t<option *ngFor=\"let document of listDocument\" [value]=\"document.id\">\r\n\t\t\t\t\t\t\t{{ document.name }}\r\n\t\t\t\t\t\t</option>\r\n\t\t\t\t\t</select>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showVisibles\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"name\" class=\"form-control-label\">Visibilidad usuario</label>\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-xs-12\">\r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"checkbox\"\r\n\t\t\t\t\t\t\t\tid=\"visibleInternal\"\r\n\t\t\t\t\t\t\t\tname=\"visibleInternal\"\r\n\t\t\t\t\t\t\t\tvalue=\"1\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.visibleInternal\"\r\n\t\t\t\t\t\t\t/> <label for=\"visibleInternal\">Interno</label> \r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"checkbox\"\r\n\t\t\t\t\t\t\t\tid=\"visibleExternal\"\r\n\t\t\t\t\t\t\t\tname=\"visibleExternal\"\r\n\t\t\t\t\t\t\t\tvalue=\"1\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.visibleExternal\"\r\n\t\t\t\t\t\t\t/> \r\n\t\t\t\t\t\t\t<label for=\"visibleExternal\">Externo</label>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showVisiblesDirectTo\" >\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"name\" class=\"form-control-label\">Visibilidad de Dirigido a</label>\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-xs-12\">\r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\ttype=\"checkbox\"\r\n\t\t\t\t\t\t\tid=\"notVisibleDirectTo\"\r\n\t\t\t\t\t\t\tname=\"notVisibleDirectTo\"\r\n\t\t\t\t\t\t\tvalue=\"1\"\r\n\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.notVisibleDirectTo\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showFont\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"font\" class=\"form-control-label\">Tipo de letra</label>\r\n\t\t\t\t\t<select name=\"font\" id=\"font\" class=\"form-control\" [(ngModel)]=\"pdfConfig.font\">\r\n\t\t\t\t\t\t<option *ngFor=\"let font of listFont\" [value]=\"font.value\">\r\n\t\t\t\t\t\t\t{{ font.label }}\r\n\t\t\t\t\t\t</option>\r\n\t\t\t\t\t</select>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showSize\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"size\" class=\"form-control-label\">Tamaño de hoja</label>\r\n\t\t\t\t\t<select name=\"size\" id=\"size\" class=\"form-control\" [(ngModel)]=\"pdfConfig.size\">\r\n\t\t\t\t\t\t<option *ngFor=\"let size of listSizes\" [value]=\"size.id\">\r\n\t\t\t\t\t\t\t{{ size.name }}\r\n\t\t\t\t\t\t</option>\r\n\t\t\t\t\t</select>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showOrientation\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"orientation\" class=\"form-control-label\">Orientación</label>\r\n\t\t\t\t\t<select\r\n\t\t\t\t\t\tname=\"orientation\"\r\n\t\t\t\t\t\tid=\"orientation\"\r\n\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.orientation\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<option\r\n\t\t\t\t\t\t\t*ngFor=\"let orientation of listOrientation\"\r\n\t\t\t\t\t\t\t[value]=\"orientation.id\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{{ orientation.name }}\r\n\t\t\t\t\t\t</option>\r\n\t\t\t\t\t</select>\r\n\t\t\t\t\t<div class=\"form-control-error\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showPager\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\ttype=\"checkbox\"\r\n\t\t\t\t\t\tclass=\"check-space\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.showPager\"\r\n\t\t\t\t\t\tid=\"showPager\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<label for=\"showPager\" class=\"form-control-label\"> Ver paginador</label>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showRepeatHeader\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\ttype=\"checkbox\"\r\n\t\t\t\t\t\tclass=\"check-space\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.repeatHeader\"\r\n\t\t\t\t\t\tid=\"repeatHeader\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<label for=\"repeatHeader\" class=\"form-control-label\"> Repetir encabezado</label>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12\" *ngIf=\"showRepeatFooter\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\ttype=\"checkbox\"\r\n\t\t\t\t\t\tclass=\"check-space\"\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.repeatFooter\"\r\n\t\t\t\t\t\tid=\"repeatFooter\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<label for=\"repeatFooter\" class=\"form-control-label\">\r\n\t\t\t\t\t\tRepetir pie de página</label\r\n\t\t\t\t\t>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-md-12\" *ngIf=\"showMargins\" [ngClass]=\"{ 'top-space': showBr }\">\r\n\t\t\t\tMárgenes (cm)\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-6\" *ngIf=\"showMargins\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-xs-12\">\r\n\t\t\t\t\t\t\t<label for=\"pdfConfig.marginTop\" class=\"form-control-label\"\r\n\t\t\t\t\t\t\t\t>Arriba</label\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"number\"\r\n\t\t\t\t\t\t\t\tname=\"pdfConfig.marginTop\"\r\n\t\t\t\t\t\t\t\tid=\"pdfConfig.marginTop\"\r\n\t\t\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Arriba\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.marginTop\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-6\" *ngIf=\"showMargins\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-xs-12\">\r\n\t\t\t\t\t\t\t<label for=\"pdfConfig.marginRight\" class=\"form-control-label\"\r\n\t\t\t\t\t\t\t\t>Derecha</label\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"number\"\r\n\t\t\t\t\t\t\t\tname=\"pdfConfig.marginRight\"\r\n\t\t\t\t\t\t\t\tid=\"pdfConfig.marginRight\"\r\n\t\t\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Derecha\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.marginRight\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-6\" *ngIf=\"showMargins\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-xs-12\">\r\n\t\t\t\t\t\t\t<label for=\"pdfConfig.marginBottom\" class=\"form-control-label\"\r\n\t\t\t\t\t\t\t\t>Abajo</label\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"number\"\r\n\t\t\t\t\t\t\t\tname=\"pdfConfig.marginBottom\"\r\n\t\t\t\t\t\t\t\tid=\"pdfConfig.marginBottom\"\r\n\t\t\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Abajo\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.marginBottom\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-6\" *ngIf=\"showMargins\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-xs-12\">\r\n\t\t\t\t\t\t\t<label for=\"pdfConfig.marginLeft\" class=\"form-control-label\"\r\n\t\t\t\t\t\t\t\t>Izquierda</label\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"number\"\r\n\t\t\t\t\t\t\t\tname=\"pdfConfig.marginLeft\"\r\n\t\t\t\t\t\t\t\tid=\"pdfConfig.marginLeft\"\r\n\t\t\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Izquierda\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.marginLeft\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div\r\n\t\t\t\tclass=\"col-md-12\"\r\n\t\t\t\t*ngIf=\"showHeaderFooterHeight\"\r\n\t\t\t\t[ngClass]=\"{ 'top-space': showBr }\"\r\n\t\t\t>\r\n\t\t\t\tAlturas (cm)\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-6\" *ngIf=\"showHeaderFooterHeight\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-xs-12\">\r\n\t\t\t\t\t\t\t<label for=\"pdfConfig.marginTop\" class=\"form-control-label\"\r\n\t\t\t\t\t\t\t\t>Cabecera</label\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"number\"\r\n\t\t\t\t\t\t\t\tname=\"pdfConfig.headerHeight\"\r\n\t\t\t\t\t\t\t\tid=\"pdfConfig.headerHeight\"\r\n\t\t\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Cabecera\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.headerHeight\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"col-sm-6\" *ngIf=\"showHeaderFooterHeight\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<div class=\"col-xs-12\">\r\n\t\t\t\t\t\t\t<label for=\"pdfConfig.marginTop\" class=\"form-control-label\"\r\n\t\t\t\t\t\t\t\t>Pie de página</label\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\ttype=\"number\"\r\n\t\t\t\t\t\t\t\tname=\"pdfConfig.footerHeight\"\r\n\t\t\t\t\t\t\t\tid=\"pdfConfig.footerHeight\"\r\n\t\t\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Pie de pág\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.footerHeight\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-sm-12 margin-top\" *ngIf=\"showTokens\">\r\n\t\t\t\t<pli-configuration-token\r\n\t\t\t\t\t[promCodigo]=\"promCodigo\"\r\n\t\t\t\t\t[showFrm]=\"showFrm\"\r\n\t\t\t\t\t[showStatic]=\"showStatic\"\r\n\t\t\t\t\t[showBudget]=\"showBudget\"\r\n\t\t\t\t\t[showCalculated]=\"showCalculated\"\r\n\t\t\t\t\t[showCalculatedForm]=\"showCalculatedForm\"\r\n\t\t\t\t\t[showSnapshotForm]=\"showSnapshotForm\"\r\n\t\t\t\t\t[showSnapshot]=\"showSnapshot\"\r\n\t\t\t\t></pli-configuration-token>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"col-md-9\">\r\n\t\t<div class=\"row\">\r\n\t\t\t<div class=\"col-md-12\" *ngIf=\"showHeader\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"header\" class=\"form-control-label\">Encabezado</label>\r\n\t\t\t\t\t<editor\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.header\"\r\n\t\t\t\t\t\t[init]=\"{\r\n\t\t\t\t\t\t\tbranding: false,\r\n\t\t\t\t\t\t\tbase_url: '/tinymce',\r\n\t\t\t\t\t\t\tsuffix: '.min',\r\n\t\t\t\t\t\t\tplugins: [\r\n\t\t\t\t\t\t\t\t'code preview autoresize paste colorpicker textcolor link table lists advlist image'\r\n\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\ttoolbar:\r\n\t\t\t\t\t\t\t\t'undo redo | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | forecolor backcolor fontsizeselect | code preview image link'\r\n\t\t\t\t\t\t}\"\r\n\t\t\t\t\t></editor>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"row margin-top\" *ngIf=\"showTemplate\">\r\n\t\t\t<div class=\"col-md-12\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"template\" class=\"form-control-label\">Cuerpo</label>\r\n\t\t\t\t\t<editor\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.template\"\r\n\t\t\t\t\t\t[init]=\"{\r\n\t\t\t\t\t\t\tbranding: false,\r\n\t\t\t\t\t\t\tbase_url: '/tinymce',\r\n\t\t\t\t\t\t\tsuffix: '.min',\r\n\t\t\t\t\t\t\tplugins: [\r\n\t\t\t\t\t\t\t\t'code preview autoresize paste colorpicker textcolor link table lists advlist image'\r\n\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\ttoolbar:\r\n\t\t\t\t\t\t\t\t'undo redo | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | forecolor backcolor fontsizeselect | code preview image link'\r\n\t\t\t\t\t\t}\"\r\n\t\t\t\t\t></editor>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"row margin-top\" *ngIf=\"showFooter\">\r\n\t\t\t<div class=\"col-md-12\">\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label for=\"footer\" class=\"form-control-label\">Pie de página</label>\r\n\t\t\t\t\t<editor\r\n\t\t\t\t\t\t[(ngModel)]=\"pdfConfig.footer\"\r\n\t\t\t\t\t\t[init]=\"{\r\n\t\t\t\t\t\t\tbranding: false,\r\n\t\t\t\t\t\t\tbase_url: '/tinymce',\r\n\t\t\t\t\t\t\tsuffix: '.min',\r\n\t\t\t\t\t\t\tplugins: [\r\n\t\t\t\t\t\t\t\t'code preview autoresize paste colorpicker textcolor link table lists advlist image'\r\n\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\ttoolbar:\r\n\t\t\t\t\t\t\t\t'undo redo | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | forecolor backcolor fontsizeselect | code preview image link'\r\n\t\t\t\t\t\t}\"\r\n\t\t\t\t\t></editor>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpParams, HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { DataTableParameters } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class DataFormService {\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\t/** It returns the list of data form by prom codigo */\r\n\tgetByPromCodigo(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'data/getByPromCodigo',\r\n\t\t\t{ params: new HttpParams().set('promCodigo', promCodigo.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the list of data form by application id */\r\n\tgetByApplicationId(applicationId: string): Observable<any> {\r\n\t\t//\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'data/getByApplicationId',\r\n\t\t\t{ params: new HttpParams().set('applicationId', applicationId) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns a data form by applciationId and FormId */\r\n\tgetByApplicationIdAndFormId(applicationId: string, formId: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'data/getByApplicationIdAndFormId',\r\n\t\t\t{ params: new HttpParams().set('applicationId', applicationId).set('formId', formId) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns if there is any field unique that is repeated */\r\n\tuniqueFieldsByFormId(data: any, formId: string, dataId: string): Observable<any> {\r\n\t\tlet url =\r\n\t\t\tthis.environment.host.backend.frontoffice +\r\n\t\t\t'data/uniqueFieldsByFormId?formId=' +\r\n\t\t\tformId;\r\n\t\tif (dataId) url += '&dataId=' + dataId;\r\n\t\treturn this.httpClient.post(url, data, this.headerJson);\r\n\t}\r\n\r\n\t/** it validates the document leaders and members */\r\n\tvalidateNumberDocumentLeadersAndMembers(applicationId: string, formId: string, data: any) {\r\n\t\tlet url =\r\n\t\t\tthis.environment.host.backend.frontoffice +\r\n\t\t\t'data/validateNumberDocumentLeadersAndMembers?formId=' +\r\n\t\t\tformId +\r\n\t\t\t'&applicationId=' +\r\n\t\t\tapplicationId;\r\n\t\treturn this.httpClient.post(url, data, this.headerJson);\r\n\t}\r\n\r\n\t/**\r\n\t * It returns an object with the fields that are required and dont have value\r\n\t * @param applicationId\r\n\t * @param formId\r\n\t */\r\n\trequiredFieldsByAppIdAndFormId(applicationId: string, formId: string) {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'data/getRequiredFields',\r\n\t\t\t{ params: new HttpParams().set('applicationId', applicationId).set('formId', formId) }\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * It saves a data-form\r\n\t * @param formId\r\n\t * @param data\r\n\t * @param applicationId\r\n\t * @param promCodigo\r\n\t * @param id\r\n\t */\r\n\tsave(formId: string, data: any, applicationId: string, promCodigo: number) {\r\n\t\tlet src =\r\n\t\t\t'data/getForm/submission?formId=' +\r\n\t\t\tformId +\r\n\t\t\t'&promCodigo=' +\r\n\t\t\tpromCodigo +\r\n\t\t\t'&applicationId=' +\r\n\t\t\tapplicationId;\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + src,\r\n\t\t\tdata,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tsaveMultiaplicacion(data: any) {\r\n\t\treturn this.httpClient.post(this.environment.host.backend.frontoffice + 'data/save', data);\r\n\t}\r\n\r\n\tgetDataForm(formId: string, applicationId: string, promCodigo: number) {\r\n\t\tconst src = this.getDataFormUrl(formId, applicationId, promCodigo);\r\n\t\treturn this.httpClient.get(src, this.headerJson);\r\n\t}\r\n\r\n\tgetDataFormUrl(formId: string, applicationId: string, promCodigo: number): string {\r\n\t\t// tslint:disable-next-line:max-line-length\r\n\t\treturn `${this.environment.host.backend.frontoffice}data/getForm?formId=${formId}&promCodigo=${promCodigo}&applicationId=${applicationId}`;\r\n\t}\r\n\r\n\t/**\r\n\t * Updates a data-form\r\n\t *\r\n\t * @param dataForm\r\n\t */\r\n\tupdate(dataForm: any) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'data/save',\r\n\t\t\tdataForm,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * Updates a data-form\r\n\t *\r\n\t * @param dataForm\r\n\t */\r\n\tupdateCell(applicationId: string, formId: string, cellName: string, cellValue: any) {\r\n\t\tlet options = new HttpParams()\r\n\t\t\t.set('applicationId', applicationId)\r\n\t\t\t.set('formId', formId)\r\n\t\t\t.set('cellName', cellName)\r\n\t\t\t.set('cellValue', cellValue);\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice +\r\n\t\t\t\t'data/update_cell?formId=' +\r\n\t\t\t\tformId +\r\n\t\t\t\t'&applicationId=' +\r\n\t\t\t\tapplicationId +\r\n\t\t\t\t'&cellName=' +\r\n\t\t\t\tcellName +\r\n\t\t\t\t'&cellValue=' +\r\n\t\t\t\tcellValue,\r\n\t\t\t{\r\n\t\t\t\tparams: options\r\n\t\t\t},\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * Updates a data-form\r\n\t *\r\n\t * @param dataForm\r\n\t */\r\n\tupdateFields(applicationId: string, forms: any, keysByForm: any, fields: any) {\r\n\t\tlet body = {\r\n\t\t\tforms: forms,\r\n\t\t\tkeysByForm: keysByForm,\r\n\t\t\tfields: fields\r\n\t\t};\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice +\r\n\t\t\t\t'data/update_fields?applicationId=' +\r\n\t\t\t\tapplicationId,\r\n\t\t\tbody,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tsaveDataHistory(applicationId: string, formId: string) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice +\r\n\t\t\t\t'data/saveDataHistory?applicationId=' +\r\n\t\t\t\tapplicationId +\r\n\t\t\t\t'&formId=' +\r\n\t\t\t\tformId,\r\n\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * Updates a data-form\r\n\t *\r\n\t * @param dataForm\r\n\t */\r\n\tupdateKeyValByAppIdAndFormId(data) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'data/updateColumn',\r\n\t\t\tdata,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * save multiple records\r\n\t * @param listData +\r\n\t */\r\n\tsaveMultiple(listData: any[]) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'data/saveMultiple',\r\n\t\t\tlistData,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * save multiple records for multi-application\r\n\t * @param listData +\r\n\t */\r\n\tsaveMultiSubmission(listData: any[]) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'data/save-multiSubmission',\r\n\t\t\tlistData,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * save multiple records\r\n\t * @param listData +\r\n\t */\r\n\tgetByDataTablesParameters(dataTableParameters: DataTableParameters) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'data/getByDataTablesParameters',\r\n\t\t\tdataTableParameters,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the list of application with the dataform */\r\n\tgetByApplicationIdList(lApplicationId: string[]): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'data/getByApplicationIdList',\r\n\t\t\t{ params: new HttpParams().set('lApplicationId', lApplicationId.toString()) }\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport {\r\n\tApplication,\r\n\tApplicationDataFormRequest,\r\n\tApplicationFormTO,\r\n\tApplicationValueRequestTO,\r\n\tChangeStatusByCategoryDto,\r\n\tChangeStatusDocumenValidationRequest,\r\n\tDataTableParameters,\r\n\tInitialRecord,\r\n\tSendDocAnalysisAutoDto\r\n} from 'ng-pli-util';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class ApplicationService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\t/** It returns an application by id */\r\n\tgetById(id: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice + 'application/getById',\r\n\t\t\t{ params: new HttpParams().set('id', id) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns an application by id with basic properties */\r\n\tgetByIdLight(id: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'application/getByIdLight',\r\n\t\t\t{ params: new HttpParams().set('id', id) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns an application by id with the Budget Simulation */\r\n\tgetBudgetSimulationById(id: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'application/getBudgetSimulationById',\r\n\t\t\t{ params: new HttpParams().set('id', id) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns an application by id with basic properties */\r\n\tgetByIdLightIn(idList: string[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'application/getByIdLightIn',\r\n\t\t\tidList\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the list of application by dataTableParameters */\r\n\tgetApplicationsByDataTableParameters(\r\n\t\tdataTableParameters: DataTableParameters\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice +\r\n\t\t\t\t'application/getApplicationsByDataTableParameters',\r\n\t\t\tdataTableParameters\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the list of application by prom codigo */\r\n\tgetByPromCodigo(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice + 'application/getByPromCodigo',\r\n\t\t\t{ params: new HttpParams().set('promCodigo', promCodigo.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the list of application by username */\r\n\tgetByUsername(username: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'application/getByUsername',\r\n\t\t\t{ params: new HttpParams().set('username', username) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves an application */\r\n\tsave(application: Application): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'application/save',\r\n\t\t\tapplication,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** it returns the last number */\r\n\tgetLastNumber(promCodigo: number) {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'application/getLastNumber',\r\n\t\t\t{ params: new HttpParams().set('promCodigo', promCodigo.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** it changes the status */\r\n\tchangeStatusByCategory(\r\n\t\tlChangeStatusByCategoryDto: ChangeStatusByCategoryDto[]\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'application/changeStatusByCategory',\r\n\t\t\tlChangeStatusByCategoryDto,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** it changes the status */\r\n\tchangeMassiveStatus(lApplication: Application[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'application/changeMassiveStatus',\r\n\t\t\tlApplication,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tpublic changeColor(applicationList: string[], color: number): Observable<any> {\r\n\t\tconst params = { applicationId: applicationList, color: color };\r\n\t\treturn this.httpClient.put(\r\n\t\t\t`${this.environment.host.backend.backoffice}application/changeColor`,\r\n\t\t\tparams\r\n\t\t);\r\n\t}\r\n\r\n\t/** it gets the history state */\r\n\tgetHistoryState(applicationId: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice + 'application/getHistoryState',\r\n\t\t\t{ params: new HttpParams().set('applicationId', applicationId.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** it saves massively */\r\n\tsaveMassive(\r\n\t\tlistApplicationDataFormRequest: ApplicationDataFormRequest[],\r\n\t\tapplicationsToVerifyDocument: String[],\r\n\t\tpromCodigo: number,\r\n\t\tstatusRadicado: boolean\r\n\t) {\r\n\t\tlet listDataApplication = {\r\n\t\t\tlistApplicationDataFormRequest: listApplicationDataFormRequest,\r\n\t\t\tapplicationsToVerifyDocument: applicationsToVerifyDocument,\r\n\t\t\tpromCodigo: promCodigo,\r\n\t\t\tstatusRadicado: statusRadicado\r\n\t\t};\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'application-dataform/saveMultiple',\r\n\t\t\tlistDataApplication,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * save multiple records\r\n\t * @param listData +\r\n\t */\r\n\tgetByDataTablesParameters(dataTableParameters: DataTableParameters) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'application/getByDataTablesParameters',\r\n\t\t\tdataTableParameters,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * It gets the basic information of the application to show in assign task\r\n\t * @param taskId\r\n\t * @param promCodigo\r\n\t * @param reviewer\r\n\t */\r\n\tgetByTaskIdPromCodigoAndReviewer(dataTableParameters: DataTableParameters): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'application/getByTaskPromCodigoAndReviewer',\r\n\t\t\tdataTableParameters,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * It gets applications by datatable parameters from backoffice\r\n\t * @param dataTableParameters\r\n\t */\r\n\tgetBackAppByDataTablesParameters(dataTableParameters: DataTableParameters) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'application/getByDataTablesParameters',\r\n\t\t\tdataTableParameters,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * save multiple records\r\n\t * @param listData +\r\n\t */\r\n\tgetByDataTablesParametersApp(dataTableParameters: DataTableParameters) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'application/getByDataTablesParametersApp',\r\n\t\t\tdataTableParameters,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the list of application by prom codigo */\r\n\tgetByNumberAndPromCodigo(promCodigo: number, number: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice + 'application/getByNumberAndPromCodigo',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigo', promCodigo.toString())\r\n\t\t\t\t\t.set('number', number.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tacceptCredit(application: Application): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'application/acceptCredit',\r\n\t\t\tapplication,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tconfirmBudgetAppointment(application: Application): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'application/confirmBudgetAppointment',\r\n\t\t\tapplication,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tinitGuaranteeProcess(application: Application): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'application/initGuaranteeProcess',\r\n\t\t\tapplication,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tgetLegalizationAndEnsuranceByApplicationId(applicationId: String[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice +\r\n\t\t\t\t'application/getLegalizationAndEnsuranceByApplicationId',\r\n\t\t\tapplicationId,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tgenerateBankVisionFiles(applicationId: String[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'application/generateBankVisionFiles',\r\n\t\t\tapplicationId,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tsaveAcceptDataProcessing(application: Application): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'application/saveAcceptDataProcessing',\r\n\t\t\tapplication,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * Save total budget amounts, the creditAccepted could be null, the service search this.\r\n\t * @param applicationBudgetTotalAmount An json object with: applicationBudgetTotal, applicationId:string, creditAccepted:boolean\r\n\t */\r\n\tsaveBudgetTotalAmount(applicationBudgetTotalAmount: any): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'application/saveBudgetTotalAmount',\r\n\t\t\tapplicationBudgetTotalAmount,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * Save financing observation in budget application.\r\n\t * @param ApplicationBudgetObservation An json object with: observation:string, applicationId:string\r\n\t */\r\n\tsaveObservationFinancingBudget(ApplicationBudgetObservation: any): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice +\r\n\t\t\t\t'application/saveObservationFinancingBudget',\r\n\t\t\tApplicationBudgetObservation,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tblockBudget(applicationId: String) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'application/blockBudget',\r\n\t\t\tapplicationId,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tunblockBudget(applicationId: String, observation: String) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'application/unblockBudget',\r\n\t\t\t{ applicationId: applicationId, observation: observation },\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tisBlockBudget(applicationId: String) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'application/isBlockBudget',\r\n\t\t\tapplicationId,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tsendCodebtorResponseByStaticInteraction(\r\n\t\tapplicationId: string,\r\n\t\tinteraction: number,\r\n\t\tpromCodigo: number,\r\n\t\tresponse: boolean,\r\n\t\tcodebtor: string,\r\n\t\tchangeStatusByCategoryDto: ChangeStatusByCategoryDto,\r\n\t\tsendEmailToCodebtor: boolean\r\n\t) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice +\r\n\t\t\t\t'application/sendCodebtorResponseByStaticInteraction',\r\n\t\t\tchangeStatusByCategoryDto,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('applicationId', applicationId)\r\n\t\t\t\t\t.set('codebtor', codebtor)\r\n\t\t\t\t\t.set('response', response.toString())\r\n\t\t\t\t\t.set('promCodigo', promCodigo.toString())\r\n\t\t\t\t\t.set('interaction', interaction.toString())\r\n\t\t\t\t\t.set('sendEmailToCodebtor', sendEmailToCodebtor.toString()),\r\n\t\t\t\theaders: this.headerJson.headers\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * Get unsent applications\r\n\t * @param promCodigo\r\n\t * @param budgetTypeId\r\n\t * @param formIds\r\n\t */\r\n\tgetFullNotSubmittedByPromCodigo(\r\n\t\tpromCodigo: string,\r\n\t\tbudgetTypeId: string,\r\n\t\tformIds: string[],\r\n\t\tstateId: number,\r\n\t\tatLeastOneDocument = false\r\n\t) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice +\r\n\t\t\t\t'application/getFullNotSubmittedByPromCodigo',\r\n\t\t\tformIds,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigo', promCodigo)\r\n\t\t\t\t\t.set('budgetTypeId', budgetTypeId)\r\n\t\t\t\t\t.set('stateId', String(stateId))\r\n\t\t\t\t\t.set('atLeastOneDocument', String(atLeastOneDocument)),\r\n\t\t\t\theaders: this.headerJson.headers\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetNotSubmittedByFullDocuments(promCodigo: string, stateId: number) {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice + 'application/getNotSubmittedByFullDocuments',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigo', promCodigo)\r\n\t\t\t\t\t.set('stateId', String(stateId))\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t *\r\n\t * @param applicationId\r\n\t */\r\n\tgetMassiveDataByApplicationId(applicationId: string) {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'budget/getMassiveDataByApplicationId',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('applicationId', applicationId)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetByUsernameAndPromCodigo(username: string, promCodigos: number[]): Observable<Application[]> {\r\n\t\tconst applicationRequest = { username, promCodigos };\r\n\t\treturn this.httpClient.post<Application[]>(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'application/getByUsernameAndPromCodigos',\r\n\t\t\tapplicationRequest\r\n\t\t);\r\n\t}\r\n\r\n\tupdateAllInitialRecord(initialRecord: InitialRecord): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'application/updateAllInitialRecord',\r\n\t\t\tinitialRecord,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tupdateSingleApplicationValue(\r\n\t\tapplicationValueRequestTO: ApplicationValueRequestTO\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.put(\r\n\t\t\t`${this.environment.host.backend.frontoffice}application/updateSingleApplicationValue`,\r\n\t\t\tapplicationValueRequestTO\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the list by dataTableParameters for automatic document analysis*/\r\n\tgetByByDocumentValidation(dataTableParameters: DataTableParameters): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'application/getByByDocumentValidation',\r\n\t\t\tdataTableParameters\r\n\t\t);\r\n\t}\r\n\r\n\t/** Change document status manually.*/\r\n\tupdateStatusValidationDocument(\r\n\t\tchangeStatusDocumenValidationRequest: ChangeStatusDocumenValidationRequest\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'application/updateStatusValidationDocument',\r\n\t\t\tchangeStatusDocumenValidationRequest\r\n\t\t);\r\n\t}\r\n\r\n\tupdateAnalysisDocumentInfo(applicationFormTO: ApplicationFormTO): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'application/updateAnalysisDocumentInfo',\r\n\t\t\tapplicationFormTO\r\n\t\t);\r\n\t}\r\n\r\n\tverifyAutoAnalysisDoc(sendDocAnalysisAutoDto: SendDocAnalysisAutoDto): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'application/verifyAutoAnalysisDoc',\r\n\t\t\tsendDocAnalysisAutoDto\r\n\t\t);\r\n\t}\r\n\r\n\tgetAppCountByPromCodigo(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice + 'application/getAppCountByPromCodigo',\r\n\t\t\t{ params: new HttpParams().set('promCodigo', promCodigo) }\r\n\t\t);\r\n\t}\r\n\r\n\tgetPeaceAndSafetyRiskCentersByApplicationId(\r\n\t\tapplicationId: String[],\r\n\t\tpromCodigo: number\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice +\r\n\t\t\t\t'application/getPeaceAndSafetyRiskCentersByApplicationId',\r\n\t\t\tapplicationId,\r\n\t\t\t{\r\n\t\t\t\theaders: this.headerJson.headers,\r\n\t\t\t\tparams: new HttpParams().set('promCodigo', promCodigo)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { PliViewConfiguration } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfLookAndFeelService {\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\tgetById(id: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.plis + 'config/lookAndFeel/getById',\r\n\t\t\t{ params: new HttpParams().set('idPatrocinador', id.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\tsave(pliViewConfiguration: PliViewConfiguration): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.plis + 'config/lookAndFeel/save',\r\n\t\t\tpliViewConfiguration\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpHeaders, HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { PliCnfHeader } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfHeaderService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\t/** It returns header by promCodigo */\r\n\tgetByPromCodigo(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pli-cnf-header/getByPromCodigo',\r\n\t\t\t{ params: new HttpParams().set('promCodigo', promCodigo.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves a entity */\r\n\tsave(pliCnfHeader: PliCnfHeader): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pli-cnf-header/save',\r\n\t\t\tpliCnfHeader,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It clones the headers via PPP, old and new */\r\n\tsaveClonning(promCodigoInit: number, promCodigoFinal: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pli-cnf-header/saveClonning',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigoInit', promCodigoInit.toString())\r\n\t\t\t\t\t.set('promCodigoFinal', promCodigoFinal.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { HEADER_JSON, PliCnfPdf } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfPdfsService {\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\tgetAll(promCode: number): Observable<PliCnfPdf[]> {\r\n\t\treturn this.httpClient.get<PliCnfPdf[]>(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfFormsPdf/getByPromCodigo/${promCode}`\r\n\t\t);\r\n\t}\r\n\r\n\tgetById(statusFlowId: number): Observable<PliCnfPdf> {\r\n\t\treturn this.httpClient.get<PliCnfPdf>(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfFormsPdf/findById/${statusFlowId}`\r\n\t\t);\r\n\t}\r\n\r\n\tsave(pdfCnf: PliCnfPdf): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfFormsPdf`,\r\n\t\t\tpdfCnf,\r\n\t\t\tHEADER_JSON\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class TokenTransformationService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\t/** It returns a string witn tokens transforms */\r\n\ttransform(txt: string, promCodigo: number, applicationId: string): Observable<any> {\r\n\t\tlet data = {\r\n\t\t\ttxt: txt,\r\n\t\t\tpromCodigo: promCodigo,\r\n\t\t\tapplicationId: applicationId\r\n\t\t};\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'token-transformation/',\r\n\t\t\tdata,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns a string witn tokens transforms */\r\n\ttransformAndKeepToken(\r\n\t\ttxt: string,\r\n\t\tpromCodigo: number,\r\n\t\tapplicationId: string,\r\n\t\tkeepToken: boolean,\r\n\t\tlocale: string\r\n\t): Observable<any> {\r\n\t\tconst data = { txt, promCodigo, applicationId, keepToken, locale };\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'token-transformation/transformAndKeepToken',\r\n\t\t\tdata,\r\n\t\t\tthis.headerJson\r\n\t\t\t// {\r\n\t\t\t// \tparams: new HttpParams().set('keepToken', keepToken.toString()),\r\n\t\t\t// \theaders: this.headerJson.headers\r\n\t\t\t// }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns a string witn tokens transforms */\r\n\ttransformByUsername(txt: string, promCodigo: number, username: string): Observable<any> {\r\n\t\tlet data = {\r\n\t\t\ttxt: txt,\r\n\t\t\tpromCodigo: promCodigo,\r\n\t\t\tusername: username\r\n\t\t};\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'token-transformation/transformByUsername',\r\n\t\t\tdata,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns a string with formula result */\r\n\tresolveFormula(formula: string, promCodigo: number, applicationId: string): Observable<any> {\r\n\t\tlet data = {\r\n\t\t\tformula: formula,\r\n\t\t\tpromCodigo: promCodigo,\r\n\t\t\tapplicationId: applicationId\r\n\t\t};\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'token-transformation/resolveFormula',\r\n\t\t\tdata,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n}\r\n","import {\r\n\tComponent,\r\n\tComponentFactoryResolver,\r\n\tElementRef,\r\n\tHostListener,\r\n\tInput,\r\n\tViewChild,\r\n\tOutput,\r\n\tEventEmitter\r\n} from '@angular/core';\r\nimport { DomSanitizer, SafeHtml, SafeUrl } from '@angular/platform-browser';\r\nimport html2canvas from 'html2canvas';\r\nimport html2pdf from 'html2pdf.js';\r\nimport {\r\n\tApplication,\r\n\tDataFormApplication,\r\n\tPdfDocument,\r\n\tPliCnfLookAndFeel,\r\n\tRequestPdf\r\n} from 'ng-pli-util';\r\nimport { PliCnfPdf } from 'ng-pli-util/lib/models/pli-cnf-pdf';\r\nimport { MenuItem } from 'primeng/api';\r\n\r\nimport { ApplicationService } from '../../services/application.service';\r\nimport { DataFormService } from '../../services/data-form.service';\r\nimport { PliCnfHeaderService } from '../../services/pli-cnf-header.service';\r\nimport { PppService } from '../../services/ppp.service';\r\nimport { PliCnfLookAndFeelService } from '../../services/pli-cnf-look-and-feel.service';\r\nimport { CommonService } from '../../services/common.service';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { FormService } from '../../services/form.service';\r\nimport { PliCnfPdfsService } from '../../services/pli-cnf-pdfs.service';\r\nimport { TokenTransformationService } from '../../services/token-transformation.service';\r\nimport * as PDFJS_ from 'pdfjs-dist/build/pdf';\r\n\r\nconst PDFJS = PDFJS_;\r\nimport Panzoom from 'panzoom/dist/panzoom';\r\n@Component({\r\n\tselector: 'pli-pdf-generator',\r\n\ttemplateUrl: './pdf-generator.component.html',\r\n\tstyleUrls: ['./pdf-generator.component.scss']\r\n})\r\nexport class PdfGeneratorComponent {\r\n\t@Input()\r\n\tset configurations(cnfPdf: PliCnfPdf[]) {\r\n\t\tthis.items = cnfPdf.map((c) => ({\r\n\t\t\tlabel: c.name,\r\n\t\t\tcommand: async () => {\r\n\t\t\t\tthis.configuration = c;\r\n\t\t\t\tawait this.htmltoPDF();\r\n\t\t\t}\r\n\t\t}));\r\n\t}\r\n\r\n\t@Input()\r\n\tset applicationId(value: string) {\r\n\t\tthis._applicationId = value;\r\n\t}\r\n\r\n\t@ViewChild('content') contentElement: ElementRef<any>;\r\n\t@Input() showLabel = false;\r\n\t@Input() actionClass = 'referenceClass';\r\n\t@Input() promCode: number;\r\n\r\n\tdisplay: boolean = true;\r\n\titems: MenuItem[] = [];\r\n\tconfiguration: PliCnfPdf;\r\n\theaderHtml: string;\r\n\tfooterHtml: string;\r\n\tBodyHtml: string;\r\n\turlLogo: SafeUrl;\r\n\t_applicationId: string;\r\n\tpdfDocument: PdfDocument;\r\n\tlookAndFeelModel: PliCnfLookAndFeel;\r\n\tdataForms: DataFormApplication[] = [];\r\n\tallDataForms: DataFormApplication[] = [];\r\n\tforms: any[] = [];\r\n\t/** base64 as result of html 2 pdf */\r\n\tbase64: string;\r\n\r\n\t/** it contains the id of canvas */\r\n\tid_canvas: string = 'pdf-canvas';\r\n\r\n\tready: boolean = false;\r\n\t@Output() onDownload: EventEmitter<any> = new EventEmitter<any>();\r\n\t@HostListener('click', ['$event'])\r\n\tonClick(event: MouseEvent): void {\r\n\t\tif (!this._applicationId) {\r\n\t\t\tthis._applicationId = this.getElementIdFromEvent(event.composedPath());\r\n\t\t}\r\n\t}\r\n\r\n\tconstructor(\r\n\t\tprivate readonly sanitizer: DomSanitizer,\r\n\t\tprivate readonly dataFormService: DataFormService,\r\n\t\tprivate readonly applicationService: ApplicationService,\r\n\t\tprivate readonly pppService: PppService,\r\n\t\tprivate readonly commonService: CommonService,\r\n\t\tprivate readonly lookAndFeelService: PliCnfLookAndFeelService,\r\n\t\tprivate readonly header: PliCnfHeaderService,\r\n\t\tprivate readonly resolver: ComponentFactoryResolver,\r\n\t\tprivate activatedRoute: ActivatedRoute,\r\n\t\tprivate formService: FormService,\r\n\t\tprivate pliCnfPdfService: PliCnfPdfsService,\r\n\t\tprivate pliCnfHeaderService: PliCnfHeaderService,\r\n\t\tprivate tokenTransformationService: TokenTransformationService\r\n\t) {}\r\n\r\n\tprivate getElementIdFromEvent(path: any[]): string {\r\n\t\tconst element = this.getElement(path);\r\n\t\treturn element ? element.getAttribute('data-element-id') : '';\r\n\t}\r\n\r\n\tprivate getElement(pathList: any[]) {\r\n\t\treturn pathList.find(\r\n\t\t\t(element) => element.classList && element.classList.contains(this.actionClass)\r\n\t\t);\r\n\t}\r\n\r\n\tasync htmltoPDF() {\r\n\t\tconst applicationData = await this.applicationService\r\n\t\t\t.getById(this._applicationId)\r\n\t\t\t.toPromise();\r\n\r\n\t\tconst promCodigo = applicationData.promCodigo;\r\n\r\n\t\tthis.allDataForms = await this.dataFormService\r\n\t\t\t.getByApplicationId(this._applicationId)\r\n\t\t\t.toPromise();\r\n\t\t//get patCode\r\n\t\tconst patCode = this.pppService.getPatCodigoByPromCodigo(this.promCode);\r\n\t\t//get header\r\n\r\n\t\tif (this.configuration.header) {\r\n\t\t\tconst header: any = await this.pliCnfHeaderService\r\n\t\t\t\t.getByPromCodigo(this.promCode)\r\n\t\t\t\t.toPromise();\r\n\t\t\tconst text = await this.tokenTransformationService\r\n\t\t\t\t.transformAndKeepToken(\r\n\t\t\t\t\tthis.configuration.header,\r\n\t\t\t\t\tpromCodigo,\r\n\t\t\t\t\tthis._applicationId,\r\n\t\t\t\t\ttrue,\r\n\t\t\t\t\t'es'\r\n\t\t\t\t)\r\n\t\t\t\t.toPromise();\r\n\t\t\tthis.headerHtml = text.txt;\r\n\t\t}\r\n\r\n\t\t//get footer\r\n\t\tif (this.configuration.footer) {\r\n\t\t\tconst text = await this.tokenTransformationService\r\n\t\t\t\t.transformAndKeepToken(\r\n\t\t\t\t\tthis.configuration.footer,\r\n\t\t\t\t\tpromCodigo,\r\n\t\t\t\t\tthis._applicationId,\r\n\t\t\t\t\ttrue,\r\n\t\t\t\t\t'es'\r\n\t\t\t\t)\r\n\t\t\t\t.toPromise();\r\n\t\t\tthis.footerHtml = text.txt;\r\n\t\t}\r\n\r\n\t\tif (this.configuration.body) {\r\n\t\t\tconst text = await this.tokenTransformationService\r\n\t\t\t\t.transformAndKeepToken(\r\n\t\t\t\t\tthis.configuration.body,\r\n\t\t\t\t\tpromCodigo,\r\n\t\t\t\t\tthis._applicationId,\r\n\t\t\t\t\ttrue,\r\n\t\t\t\t\t'es'\r\n\t\t\t\t)\r\n\t\t\t\t.toPromise();\r\n\t\t\tthis.BodyHtml = text.txt;\r\n\t\t}\r\n\r\n\t\tawait this.exportAsPDF();\r\n\t}\r\n\r\n\tasync exportAsPDF() {\r\n\t\t// if html was changed\r\n\t\tlet requestPdf: RequestPdf = new RequestPdf();\r\n\t\trequestPdf.html = this.BodyHtml;\r\n\t\trequestPdf.header = this.headerHtml;\r\n\t\trequestPdf.footer = this.footerHtml;\r\n\t\trequestPdf.lang = 'es';\r\n\t\trequestPdf.marginTop = this.configuration.marginTop;\r\n\t\trequestPdf.marginRight = this.configuration.marginRight;\r\n\t\trequestPdf.marginBottom = this.configuration.marginBottom;\r\n\t\trequestPdf.marginLeft = this.configuration.marginLeft;\r\n\r\n\t\trequestPdf.repeatHeader = true;\r\n\t\trequestPdf.repeatFooter = true;\r\n\t\trequestPdf.showPager = true;\r\n\r\n\t\tthis.commonService.getBase64Pdf(requestPdf).subscribe(\r\n\t\t\t(result) => {\r\n\t\t\t\tthis.showBase64Pdf(result);\r\n\t\t\t},\r\n\t\t\t(error) => {\r\n\t\t\t\tconsole.log('Error trying to render PDF', error);\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tdownload() {\r\n\t\tconst contentType = 'application/pdf';\r\n\t\tconst b64Data = this.base64;\r\n\t\tconst blob = this.b64toBlob(b64Data, contentType);\r\n\t\tconst blobUrl = URL.createObjectURL(blob);\r\n\r\n\t\tvar a = document.createElement('a');\r\n\t\tdocument.body.appendChild(a);\r\n\t\ta.style.display = 'none';\r\n\t\ta.href = blobUrl;\r\n\t\ta.download = 'resumenPdf';\r\n\t\ta.click();\r\n\t\tsetTimeout(() => {\r\n\t\t\twindow.URL.revokeObjectURL(blobUrl);\r\n\t\t\tdocument.body.removeChild(a);\r\n\t\t\tthis.onDownload.emit({\r\n\t\t\t\tbase64: this.base64\r\n\t\t\t});\r\n\t\t}, 200);\r\n\t}\r\n\r\n\tb64toBlob(b64Data, contentType = '', sliceSize = 512) {\r\n\t\tconst byteArrays = [];\r\n\t\tconst byteCharacters = atob(b64Data);\r\n\t\tfor (let offset = 0; offset < byteCharacters.length; offset += sliceSize) {\r\n\t\t\tconst slice = byteCharacters.slice(offset, offset + sliceSize);\r\n\t\t\tconst byteNumbers = new Array(slice.length);\r\n\t\t\tfor (let i = 0; i < slice.length; i++) {\r\n\t\t\t\tbyteNumbers[i] = slice.charCodeAt(i);\r\n\t\t\t}\r\n\t\t\tconst byteArray = new Uint8Array(byteNumbers);\r\n\t\t\tbyteArrays.push(byteArray);\r\n\t\t}\r\n\t\tconst blob = new Blob(byteArrays, { type: contentType });\r\n\t\treturn blob;\r\n\t}\r\n\r\n\trenderPage(num) {\r\n\t\tthis.pdfDocument.pageRendering = true;\r\n\t\t// assign variables out of scope\r\n\t\tlet selfPdfDocument: PdfDocument = this.pdfDocument;\r\n\t\tlet self = this;\r\n\t\t// Using promise to fetch the page\r\n\t\tthis.pdfDocument.pdfDoc.getPage(num).then(function (page) {\r\n\t\t\tvar scale = selfPdfDocument.scale ? selfPdfDocument.scale : 1.5;\r\n\t\t\tvar viewport = page.getViewport({ scale: scale });\r\n\t\t\tselfPdfDocument.canvas.height = viewport.height;\r\n\t\t\tselfPdfDocument.canvas.width = viewport.width;\r\n\r\n\t\t\t// Render PDF page into canvas context\r\n\t\t\tvar renderContext = {\r\n\t\t\t\tcanvasContext: selfPdfDocument.canvas.getContext('2d'),\r\n\t\t\t\tviewport: viewport\r\n\t\t\t};\r\n\t\t\tvar renderTask = page.render(renderContext);\r\n\r\n\t\t\t// Wait for rendering to finish\r\n\t\t\trenderTask.promise.then(function () {\r\n\t\t\t\tselfPdfDocument.pageRendering = false;\r\n\t\t\t\tif (selfPdfDocument.pageNumPending !== null) {\r\n\t\t\t\t\t// New page rendering is pending\r\n\t\t\t\t\tthis.renderPage(selfPdfDocument.pageNumPending);\r\n\t\t\t\t\tselfPdfDocument.pageNumPending = null;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tshowBase64Pdf(result) {\r\n\t\tthis.base64 = result.base64;\r\n\t\tthis.download();\r\n\t}\r\n\tdeleteButtons(doc) {\r\n\t\tconst buttons = doc.querySelectorAll('button');\r\n\t\tfor (let i = 0; i < buttons.length; i++) {\r\n\t\t\tbuttons[i].style.display = 'none';\r\n\t\t}\r\n\t}\r\n}\r\n","<div #content id=\"content\" class=\"main-content\" [class.main-content--show]=\"display\">\r\n\t<div class=\"header\">\r\n\t\t<div class=\"header-item\">\r\n\t\t\t<img [src]=\"urlLogo\" alt=\"logo\" class=\"img-logo\" />\r\n\t\t</div>\r\n\t\t<div class=\"header-item\">\r\n\t\t\t<div [innerHTML]=\"headerHtml\"></div>\r\n\t\t</div>\r\n\t</div>\r\n\t<div *ngFor=\"let f of dataForms; index as i\">\r\n\t\t<formio [form]=\"forms[i]\" [submission]=\"dataForms[i]\"></formio>\r\n\t\t<div class=\"html2pdf__page-break\"></div>\r\n\t</div>\r\n\t<div [innerHTML]=\"footerHtml\"></div>\r\n</div>\r\n<div class=\"btn btn-default\">\r\n\t<button type=\"button\" class=\"fa fa-file-pdf btn-sm\" (click)=\"menu.toggle($event)\" title=\"PDF\">\r\n\t\t{{ showLabel ? 'Generar PDF' : '' }}\r\n\t</button>\r\n</div>\r\n<p-tieredMenu #menu [model]=\"items\" appendTo=\"body\" [popup]=\"true\"></p-tieredMenu>\r\n","import { Injectable, Inject } from '@angular/core';\r\n// import { AngularFireStorage } from 'angularfire2/storage';\r\n// import { AngularFireAuth } from 'angularfire2/auth';\r\nimport { Observable, BehaviorSubject } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { EProceso, UtilString } from 'ng-pli-util';\r\nimport { AngularFireStorage } from '@angular/fire/compat/storage';\r\nimport { AngularFireAuth } from '@angular/fire/compat/auth';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class FileService {\r\n\t\r\n\tconstructor(\r\n\t\t@Inject('environment') private environment,\r\n\t\tprivate afAuth: AngularFireAuth,\r\n\t\tprivate angularFireStorage: AngularFireStorage,\r\n\t\tprivate httpClient: HttpClient\r\n\t) {\r\n\t\tthis.afAuth.signInAnonymously().then((result) => {});\r\n\t}\r\n\r\n\t/**\r\n\t * It uploads file to google cloud storage\r\n\t * @param filePath path will be uploaded the file\r\n\t * @param file\r\n\t */\r\n\tupload(filePath, file): Observable<string> {\r\n\t\tlet subject = new BehaviorSubject<string>(undefined);\r\n\r\n\t\tthis.angularFireStorage\r\n\t\t\t.upload(filePath, file)\r\n\t\t\t.then((result) => {\r\n\t\t\t\tresult.ref.getDownloadURL().then(function (url) {\r\n\t\t\t\t\tsubject.next(url);\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tconsole.error('Error trying to upload file', error);\r\n\t\t\t\tsubject.error(error);\r\n\t\t\t});\r\n\t\treturn subject.asObservable();\r\n\t}\r\n\r\n\tuploadWithPercentage(filePath, file): Object {\r\n\t\tlet subject = new BehaviorSubject<string>(undefined);\r\n\r\n\t\tlet task = this.angularFireStorage.upload(filePath, file);\r\n\t\ttask.then((result) => {\r\n\t\t\tresult.ref.getDownloadURL().then(function (url) {\r\n\t\t\t\tsubject.next(url);\r\n\t\t\t});\r\n\t\t}).catch((error) => {\r\n\t\t\tconsole.error('Error trying to upload file', error);\r\n\t\t\tsubject.error(error);\r\n\t\t});\r\n\r\n\t\treturn { UrlObs: subject.asObservable(), PercentageObs: task.percentageChanges() };\r\n\t}\r\n\r\n\tdownload(path: string): Promise<any> {\r\n\t\treturn this.angularFireStorage.storage.ref().child(path).getDownloadURL();\r\n\t}\r\n\r\n\t/**\r\n\t * It deletes a file depending on url download\r\n\t * @param urlDownload\r\n\t */\r\n\tdelete(urlDownload: string) {\r\n\t\tthis.angularFireStorage.storage.refFromURL(urlDownload).delete();\r\n\t}\r\n\r\n\t/**\r\n\t * It returns the path according to the params\r\n\t * @param process\r\n\t * @param patCodigo\r\n\t * @param progCodigo\r\n\t * @param promCodigo\r\n\t * @param applicationId\r\n\t * @param filename\r\n\t */\r\n\tgetPath(\r\n\t\tprocess: EProceso,\r\n\t\tpatCodigo: number,\r\n\t\tprogCodigo: number,\r\n\t\tpromCodigo: number,\r\n\t\tapplicationId: string,\r\n\t\tfilename: string,\r\n\t\tusername?: string\r\n\t): string {\r\n\t\tlet arrayPath: Array<string> = [];\r\n\r\n\t\t// build array with the tree of the structure\r\n\t\tarrayPath.push('documents');\r\n\t\tif (process === EProceso.CONVOCATORIA) arrayPath.push('convocatoria');\r\n\t\tif (process === EProceso.LEGALIZACION) arrayPath.push('legalizacion');\r\n\t\tif (process === EProceso.SEGUIMIENTO) arrayPath.push('seguimiento');\r\n\t\tarrayPath.push(patCodigo.toString());\r\n\t\tarrayPath.push(progCodigo.toString());\r\n\t\tarrayPath.push(promCodigo.toString());\r\n\t\tarrayPath.push(applicationId);\r\n\r\n\t\t// build the name of the file\r\n\t\tif (username) {\r\n\t\t\tlet filename2 = filename.split('.');\r\n\t\t\tarrayPath.push(\r\n\t\t\t\t`${username}_${filename2[0]}_${UtilString.createRandomFilename(filename)}`\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\tarrayPath.push(UtilString.createRandomFilename(filename));\r\n\t\t}\r\n\t\treturn arrayPath.join('/');\r\n\t}\r\n\r\n\t/**\r\n\t * It returns the survey document path according to the params\r\n\t * @param surveyId\r\n\t * @param filename\r\n\t * @param username\r\n\t */\r\n\t getSurveyDocumentPath(\r\n\t\tsurveyId: string,\r\n\t\tfilename: string,\r\n\t\tusername?: string\r\n\t): string {\r\n\t\tlet arrayPath: Array<string> = [];\r\n\r\n\t\t// build array with the tree of the structure\r\n\t\tarrayPath.push('documents');\r\n\t\tarrayPath.push(surveyId);\r\n\r\n\t\t// build the name of the file\r\n\t\tif (username) {\r\n\t\t\tlet filename2 = filename.split('.');\r\n\t\t\tarrayPath.push(\r\n\t\t\t\t`${username}_${filename2[0]}_${UtilString.createRandomFilename(filename)}`\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\tarrayPath.push(UtilString.createRandomFilename(filename));\r\n\t\t}\r\n\t\treturn arrayPath.join('/');\r\n\t}\r\n\r\n\t/**\r\n\t * It returns file of type blob that get from url\r\n\t * @param url\r\n\t * @returns blob observable\r\n\t */\r\n\tgetFromUrl(url: string): Observable<Blob> {\r\n\t\treturn this.httpClient.get(url, { responseType: 'blob' });\r\n\t}\r\n\r\n\t/**\r\n\t * It returns file of type blob that get from url\r\n\t * @param url\r\n\t * @returns blob observable\r\n\t */\r\n\tgetMetadataFromPath(path: string): Observable<Blob> {\r\n\t\tconst ref = this.angularFireStorage.ref(path);\r\n\t\treturn ref.getMetadata();\r\n\t}\r\n\r\n\t/**\r\n\t * It returns file of type blob that get from url\r\n\t * @param url\r\n\t * @returns blob observable\r\n\t */\r\n\tgetDownloadURLFromPath(path: string): Observable<string | null> {\r\n\t\tconst ref = this.angularFireStorage.ref(path);\r\n\t\treturn ref.getDownloadURL();\r\n\t}\r\n}\r\n","import {\r\n\tComponent,\r\n\tOnInit,\r\n\tOnChanges,\r\n\tSimpleChanges,\r\n\tInput,\r\n\tSimpleChange,\r\n\tEventEmitter,\r\n\tChangeDetectorRef,\r\n\tOutput\r\n} from '@angular/core';\r\nimport * as PDFJS_ from 'pdfjs-dist/build/pdf';\r\nimport Panzoom from 'panzoom/dist/panzoom';\r\nimport { CommonService } from '../../services/common.service';\r\nimport { PdfDocument, UtilString, EProceso, RequestPdf } from 'ng-pli-util';\r\nimport { FileService } from '../../services/file.service';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\nconst PDFJS = PDFJS_;\r\n// const panzoom = panzoom_;\r\n\r\n@Component({\r\n\tselector: 'pli-pdf-visualizer',\r\n\ttemplateUrl: './pdf-visualizer.component.html',\r\n\tstyleUrls: ['./pdf-visualizer.component.css']\r\n})\r\nexport class PdfVisualizerComponent implements OnInit, OnChanges {\r\n\tstatic DEFAULT_HEIGHT = 500;\r\n\t/** text html will become pdf */\r\n\t@Input() html: string;\r\n\t/** text header will become pdf */\r\n\t@Input() header: string;\r\n\t/** text footer will become pdf */\r\n\t@Input() footer: string;\r\n\t/** it contains the marginTop will be applied to the pdf */\r\n\t@Input() marginTop: number;\r\n\t/** it contains the marginRight will be applied to the pdf */\r\n\t@Input() marginRight: number;\r\n\t/** it contains the marginBottom will be applied to the pdf */\r\n\t@Input() marginBottom: number;\r\n\t/** it contains the marginLeft will be applied to the pdf */\r\n\t@Input() marginLeft: number;\r\n\t/** It contains the font of the html */\r\n\t@Input() font: string;\r\n\t/** It contains the pdf orientation */\r\n\t@Input() orientation: number;\r\n\t/** It contains the pdf size */\r\n\t@Input() size: number;\r\n\t/** show pager */\r\n\t@Input() showPager: boolean = true;\r\n\t/** repeat header */\r\n\t@Input() repeatHeader: boolean = true;\r\n\t/** repeat footer*/\r\n\t@Input() repeatFooter: boolean = true;\r\n\t/** Header height */\r\n\t@Input() headerHeight: number;\r\n\t/** Footer height */\r\n\t@Input() footerHeight: number;\r\n\r\n\t/** It verifies if is possible to edit html */\r\n\t@Input() enableEdit: boolean;\r\n\t/** title of the pdf */\r\n\t@Input() title: string;\r\n\t/** the height of the pdf canvas */\r\n\t@Input() height: number;\r\n\t/** The filename of the pdf */\r\n\t@Input() filename: string;\r\n\t/** It verifies if it allows to send the email */\r\n\t@Input() enableEmail: boolean;\r\n\t/** It fires when the file has been downloaded */\r\n\t@Output() onDownload: EventEmitter<any> = new EventEmitter<any>();\r\n\t/** It fires when the name has been sent */\r\n\t@Output() onSendEmail: EventEmitter<any> = new EventEmitter<any>();\r\n\t/** It fires when the html has been modified */\r\n\t@Output() onChange: EventEmitter<string> = new EventEmitter<string>();\r\n\t/** It contains the lang of the pdf */\r\n\t@Input() lang: string;\r\n\t/** The url of the pdf */\r\n\t@Input() urlFile: string;\r\n\r\n\temail: string;\r\n\r\n\t/** base64 as result of html 2 pdf */\r\n\tbase64: string;\r\n\t/** it verifies if component is ready */\r\n\tready: boolean = false;\r\n\t/** It continas the abstraction of pdf document */\r\n\tpdfDocument: PdfDocument;\r\n\r\n\t/** it contains the id of canvas */\r\n\tid_canvas: string = 'pdf-canvas';\r\n\r\n\t/** It allows to edit html */\r\n\tedit: boolean = false;\r\n\r\n\tconstructor(\r\n\t\tprotected commonService: CommonService,\r\n\t\tpublic sanitization: DomSanitizer,\r\n\t\tprivate taostrService: ToastrService,\r\n\t\tprivate fileService: FileService\r\n\t) {}\r\n\r\n\t// it resolves when the html is changed\r\n\tngOnChanges(changes: SimpleChanges): void {\r\n\t\tconst html: SimpleChange = changes.html;\r\n\t\tconst urlFile: SimpleChange = changes.urlFile;\r\n\t\tif (html && html.currentValue) {\r\n\t\t\tthis.html = html.currentValue;\r\n\t\t\tthis.generatePDF();\r\n\t\t} else if (urlFile && urlFile.currentValue) {\r\n\t\t\tthis.urlFile = urlFile.currentValue;\r\n\t\t\tthis.generatePDF();\r\n\t\t} else {\r\n\t\t\tthis.ready = false;\r\n\t\t\tif (this.pdfDocument && this.pdfDocument.canvas) {\r\n\t\t\t\tlet canvas = this.pdfDocument.canvas;\r\n\t\t\t\tvar ctx = this.pdfDocument.canvas.getContext('2d');\r\n\t\t\t\tctx.clearRect(0, 0, canvas.width, canvas.height);\r\n\t\t\t\tthis.pdfDocument = undefined;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/** It generates the pdf */\r\n\tgeneratePDF() {\r\n\t\tif (!UtilString.isValid(this.html) && UtilString.isValid(this.urlFile)) {\r\n\t\t\tthis.commonService.getBase64PdfByUrl(this.urlFile).subscribe(\r\n\t\t\t\t(result) => {\r\n\t\t\t\t\tthis.showBase64Pdf(result);\r\n\t\t\t\t},\r\n\t\t\t\t(error) => {\r\n\t\t\t\t\tconsole.log('Error trying to render PDF', error);\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\t// if html was changed\r\n\t\t\tlet requestPdf: RequestPdf = new RequestPdf();\r\n\t\t\trequestPdf.html = this.html;\r\n\t\t\trequestPdf.header = this.header;\r\n\t\t\trequestPdf.footer = this.footer;\r\n\t\t\trequestPdf.lang = this.lang;\r\n\t\t\trequestPdf.marginTop = this.marginTop;\r\n\t\t\trequestPdf.marginRight = this.marginRight;\r\n\t\t\trequestPdf.marginBottom = this.marginBottom;\r\n\t\t\trequestPdf.marginLeft = this.marginLeft;\r\n\t\t\trequestPdf.orientation = this.orientation;\r\n\t\t\trequestPdf.size = this.size;\r\n\t\t\trequestPdf.font = this.font;\r\n\t\t\trequestPdf.repeatHeader = this.repeatHeader;\r\n\t\t\trequestPdf.repeatFooter = this.repeatFooter;\r\n\t\t\trequestPdf.showPager = this.showPager;\r\n\t\t\trequestPdf.headerHeight = this.headerHeight;\r\n\t\t\trequestPdf.footerHeight = this.footerHeight;\r\n\r\n\t\t\tthis.commonService.getBase64Pdf(requestPdf).subscribe(\r\n\t\t\t\t(result) => {\r\n\t\t\t\t\tthis.showBase64Pdf(result);\r\n\t\t\t\t},\r\n\t\t\t\t(error) => {\r\n\t\t\t\t\tconsole.log('Error trying to render PDF', error);\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\tshowBase64Pdf(result) {\r\n\t\tthis.base64 = result.base64;\r\n\t\tvar data = atob(this.base64);\r\n PDFJS.workerSrc = 'https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.16.105/pdf.worker.js';\r\n if (PDFJS.GlobalWorkerOptions)\r\n\t\t\tPDFJS.GlobalWorkerOptions.workerSrc =\r\n 'https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.16.105/pdf.worker.js';\r\n\t\t// create instance of PdfDocument with the id of canvas\r\n\t\t// create instance of PdfDocument with the id of canvas\r\n\t\tthis.pdfDocument = new PdfDocument(this.id_canvas);\r\n\r\n\t\t// assign variables out of scope\r\n\t\tlet pdfdocument: PdfDocument = this.pdfDocument;\r\n\t\tPanzoom(this.pdfDocument.canvas, {\r\n\t\t\tsmoothScroll: false\r\n\t\t});\r\n\t\tlet self = this;\r\n\t\tlet ready = this.ready;\r\n\r\n\t\tconst pdfLoadingTask = PDFJS.getDocument({ data: data });\r\n\t\t// JP - here we ask if the promise supports the new version pdfLoadingTask.promise\r\n\t\tconst promise = pdfLoadingTask.promise ? pdfLoadingTask.promise : pdfLoadingTask;\r\n\t\tpromise.then(function (pdfDoc_) {\r\n\t\t\tpdfdocument.pdfDoc = pdfDoc_;\r\n\t\t\tself.renderPage(1);\r\n\t\t\tready = true;\r\n\t\t});\r\n\t}\r\n\r\n\ttestBase64ToFile2() {\r\n\t\t// let dataurl = this.base64;\r\n\t\tlet fileName = 'TestOPrada2.pdf';\r\n\t\t// var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],\r\n\t\tvar bstr = atob(this.base64),\r\n\t\t\tn = bstr.length,\r\n\t\t\tu8arr = new Uint8Array(n);\r\n\t\twhile (n--) {\r\n\t\t\tu8arr[n] = bstr.charCodeAt(n);\r\n\t\t}\r\n\t\tlet fileReturn = new File([u8arr], fileName, { type: 'application/pdf' });\r\n\t\tthis.testEnvioDoc(fileReturn, fileName);\r\n\t}\r\n\r\n\ttestEnvioDoc(fileReturn: any, fileName: string) {\r\n\t\tconst filePath = this.fileService.getPath(\r\n\t\t\tEProceso.CONVOCATORIA,\r\n\t\t\t500,\r\n\t\t\t2,\r\n\t\t\t1,\r\n\t\t\t'aaaa',\r\n\t\t\tfileName\r\n\t\t);\r\n\t\tthis.fileService.upload(filePath, fileReturn).subscribe(\r\n\t\t\t(url) => {\r\n\t\t\t\tconsole.log('Finalizo envío documento', url);\r\n\t\t\t},\r\n\t\t\t(error) => {\r\n\t\t\t\tconsole.log('Error trying to upload: ', error);\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the height */\r\n\tgetHeight(): string {\r\n\t\tif (this.height) return this.height + 'px';\r\n\t\treturn PdfVisualizerComponent.DEFAULT_HEIGHT + 'px';\r\n\t}\r\n\r\n\t/** Get page info from document, resize canvas accordingly, and render page. */\r\n\trenderPage(num) {\r\n\t\tthis.pdfDocument.pageRendering = true;\r\n\t\t// assign variables out of scope\r\n\t\tlet selfPdfDocument: PdfDocument = this.pdfDocument;\r\n\t\tlet self = this;\r\n\t\t// Using promise to fetch the page\r\n\t\tthis.pdfDocument.pdfDoc.getPage(num).then(function (page) {\r\n\t\t\tvar scale = selfPdfDocument.scale ? selfPdfDocument.scale : 1.5;\r\n\t\t\tvar viewport = page.getViewport({scale: scale});\r\n\t\t\tselfPdfDocument.canvas.height = viewport.height;\r\n\t\t\tselfPdfDocument.canvas.width = viewport.width;\r\n\r\n\t\t\t// Render PDF page into canvas context\r\n\t\t\tvar renderContext = {\r\n\t\t\t\tcanvasContext: selfPdfDocument.canvas.getContext('2d'),\r\n\t\t\t\tviewport: viewport\r\n\t\t\t};\r\n\t\t\tvar renderTask = page.render(renderContext);\r\n\r\n\t\t\t// Wait for rendering to finish\r\n\t\t\trenderTask.promise.then(function () {\r\n\t\t\t\tselfPdfDocument.pageRendering = false;\r\n\t\t\t\tif (selfPdfDocument.pageNumPending !== null) {\r\n\t\t\t\t\t// New page rendering is pending\r\n\t\t\t\t\tself.renderPage(selfPdfDocument.pageNumPending);\r\n\t\t\t\t\tselfPdfDocument.pageNumPending = null;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * If another page rendering in progress, waits until the rendering is\r\n\t * finised. Otherwise, executes rendering immediately.\r\n\t */\r\n\tqueueRenderPage(num) {\r\n\t\tif (this.pdfDocument.pageRendering) {\r\n\t\t\tthis.pdfDocument.pageNumPending = num;\r\n\t\t} else {\r\n\t\t\tthis.renderPage(num);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Displays previous page.\r\n\t */\r\n\tonPrevPage() {\r\n\t\tif (!this.pdfDocument || this.pdfDocument.pageNum <= 1) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.pdfDocument.pageNum--;\r\n\t\tthis.queueRenderPage(this.pdfDocument.pageNum);\r\n\t}\r\n\r\n\t/**\r\n\t * Displays next page.\r\n\t */\r\n\tonNextPage() {\r\n\t\tif (!this.pdfDocument || this.pdfDocument.pageNum >= this.pdfDocument.pdfDoc.numPages) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.pdfDocument.pageNum++;\r\n\t\tthis.queueRenderPage(this.pdfDocument.pageNum);\r\n\t}\r\n\r\n\t/**\r\n\t * Displays Zoom In.\r\n\t */\r\n\tonZoomIn() {\r\n\t\tif (!this.pdfDocument || this.pdfDocument.scale >= 3) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.pdfDocument.scale = this.pdfDocument.scale + 0.2;\r\n\t\tthis.queueRenderPage(this.pdfDocument.pageNum);\r\n\t}\r\n\r\n\t/**\r\n\t * Displays Zoom Out.\r\n\t */\r\n\tonZoomOut() {\r\n\t\tif (!this.pdfDocument || this.pdfDocument.scale <= 0.4) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.pdfDocument.scale = this.pdfDocument.scale - 0.2;\r\n\t\tthis.queueRenderPage(this.pdfDocument.pageNum);\r\n\t}\r\n\r\n\tngOnInit() {}\r\n\r\n\t/** It sends the document by email */\r\n\tsendEmail() {\r\n\t\tif (this.email && UtilString.validateEmail(this.email)) {\r\n\t\t\tthis.onSendEmail.emit({\r\n\t\t\t\tto: this.email,\r\n\t\t\t\tbase64: this.base64\r\n\t\t\t});\r\n\t\t\tthis.email = '';\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.taostrService.warning('Correo electrónico es incorrecto');\r\n\t}\r\n\r\n\t/** It fires the event download */\r\n\tdownload() {\r\n\t\tconst contentType = 'application/pdf';\r\n\t\tconst b64Data = this.base64;\r\n\t\tconst blob = this.b64toBlob(b64Data, contentType);\r\n\t\tconst blobUrl = URL.createObjectURL(blob);\r\n\t\tvar a = document.createElement('a');\r\n\t\tdocument.body.appendChild(a);\r\n\t\ta.style.display = 'none';\r\n\t\ta.href = blobUrl;\r\n\t\ta.download = this.filename;\r\n\t\ta.click();\r\n\t\tsetTimeout(() => {\r\n\t\t\twindow.URL.revokeObjectURL(blobUrl);\r\n\t\t\tdocument.body.removeChild(a);\r\n\t\t\tthis.onDownload.emit({\r\n\t\t\t\tbase64: this.base64\r\n\t\t\t});\r\n\t\t}, 200);\r\n\t}\r\n\r\n\t/** It fires when the html is changed */\r\n\tchange() {\r\n\t\tthis.generatePDF();\r\n\t\tthis.onChange.emit(this.html);\r\n\t}\r\n\r\n\t/** it allows to edit */\r\n\ttoggleEdit() {\r\n\t\tthis.edit = !this.edit;\r\n\t}\r\n\r\n\t/**\r\n\t * it returns if is PdfDocument\r\n\t */\r\n\tisPdfDocument(): boolean {\r\n\t\treturn this.pdfDocument !== undefined;\r\n\t}\r\n\r\n\t/**\r\n\t * it returns if is Title\r\n\t */\r\n\tisTitle(): boolean {\r\n\t\treturn this.title !== undefined;\r\n\t}\r\n\r\n\t/**\r\n\t * it returns if is isPdfDoc\r\n\t */\r\n\tisPdfDoc(): boolean {\r\n\t\treturn (\r\n\t\t\tthis.pdfDocument &&\r\n\t\t\tthis.pdfDocument.pdfDoc != undefined &&\r\n\t\t\tthis.pdfDocument.pdfDoc != null\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * it returns if is filename\r\n\t */\r\n\tisFilename(): boolean {\r\n\t\treturn this.filename !== undefined;\r\n\t}\r\n\r\n\t/**\r\n\t * it returns if is enableEdit\r\n\t */\r\n\tisEnableEdit(): boolean {\r\n\t\treturn this.enableEdit == true;\r\n\t}\r\n\r\n\t/**\r\n\t * it returns if is edit\r\n\t */\r\n\tisEdit(): boolean {\r\n\t\treturn this.edit == true;\r\n\t}\r\n\r\n\t/**\r\n\t * it returns if is enableEmail\r\n\t */\r\n\tisEnableEmail(): boolean {\r\n\t\treturn this.enableEmail == true;\r\n\t}\r\n\r\n\tb64toBlob(b64Data, contentType = '', sliceSize = 512) {\r\n\t\tconst byteArrays = [];\r\n\t\tconst byteCharacters = atob(b64Data);\r\n\t\tfor (let offset = 0; offset < byteCharacters.length; offset += sliceSize) {\r\n\t\t\tconst slice = byteCharacters.slice(offset, offset + sliceSize);\r\n\t\t\tconst byteNumbers = new Array(slice.length);\r\n\t\t\tfor (let i = 0; i < slice.length; i++) {\r\n\t\t\t\tbyteNumbers[i] = slice.charCodeAt(i);\r\n\t\t\t}\r\n\t\t\tconst byteArray = new Uint8Array(byteNumbers);\r\n\t\t\tbyteArrays.push(byteArray);\r\n\t\t}\r\n\t\tconst blob = new Blob(byteArrays, { type: contentType });\r\n\t\treturn blob;\r\n\t}\r\n}\r\n","<h3 class=\"pdf-visualizer-title\">{{ title }}</h3>\r\n<div class=\"pdf-visualizer-container\">\r\n\t<div class=\"pdf-visualizer-controls\" *ngIf=\"isPdfDocument() === true\">\r\n\t\t<div class=\"row\">\r\n\t\t\t<div class=\"col-md-7\">\r\n\t\t\t\t<div class=\"btn-toolbar\" role=\"toolbar\" aria-label=\"Toolbar with button groups\">\r\n\t\t\t\t\t<div class=\"btn-group btn-group-sm mr-2\" role=\"group\" aria-label=\"Second group\">\r\n\t\t\t\t\t\t<!-- zoom in-->\r\n\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\thref=\"Javascript:;\"\r\n\t\t\t\t\t\t\ttitle=\"Acercar\"\r\n\t\t\t\t\t\t\tdata-toggle=\"tooltip\"\r\n\t\t\t\t\t\t\tdata-placement=\"top\"\r\n\t\t\t\t\t\t\tclass=\"btn btn-outline-secondary\"\r\n\t\t\t\t\t\t\t(click)=\"onZoomIn()\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<span class=\"fa fa-search-plus\"></span>\r\n\t\t\t\t\t\t</a>\r\n\r\n\t\t\t\t\t\t<!-- zoom out-->\r\n\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\thref=\"Javascript:;\"\r\n\t\t\t\t\t\t\ttitle=\"Alejar\"\r\n\t\t\t\t\t\t\tdata-toggle=\"tooltip\"\r\n\t\t\t\t\t\t\tdata-placement=\"top\"\r\n\t\t\t\t\t\t\tclass=\"btn btn-outline-secondary\"\r\n\t\t\t\t\t\t\t(click)=\"onZoomOut()\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<span class=\"fa fa-search-minus\"></span>\r\n\t\t\t\t\t\t</a>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div class=\"btn-group btn-group-sm mr-2\" role=\"group\" aria-label=\"Third group\">\r\n\t\t\t\t\t\t<!--prev -->\r\n\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\thref=\"Javascript:;\"\r\n\t\t\t\t\t\t\tclass=\"btn btn-outline-secondary\"\r\n\t\t\t\t\t\t\t(click)=\"onPrevPage()\"\r\n\t\t\t\t\t\t\ttitle=\"Anterior\"\r\n\t\t\t\t\t\t\tdata-toggle=\"tooltip\"\r\n\t\t\t\t\t\t\tdata-placement=\"top\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<span class=\"fa fa-chevron-left\"></span>\r\n\t\t\t\t\t\t</a>\r\n\r\n\t\t\t\t\t\t<!-- pagination-->\r\n\t\t\t\t\t\t<span class=\"btn btn-outline-secondary\" *ngIf=\"isPdfDoc() === true\">\r\n\t\t\t\t\t\t\tPágina: {{ pdfDocument.pageNum }} / {{ pdfDocument.pdfDoc.numPages }}\r\n\t\t\t\t\t\t</span>\r\n\r\n\t\t\t\t\t\t<!--next -->\r\n\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\thref=\"Javascript:;\"\r\n\t\t\t\t\t\t\tclass=\"btn btn-outline-secondary\"\r\n\t\t\t\t\t\t\t(click)=\"onNextPage()\"\r\n\t\t\t\t\t\t\ttitle=\"Siguiente\"\r\n\t\t\t\t\t\t\tdata-toggle=\"tooltip\"\r\n\t\t\t\t\t\t\tdata-placement=\"top\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<span class=\"fa fa-chevron-right\"></span>\r\n\t\t\t\t\t\t</a>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div class=\"btn-group btn-group-sm\" role=\"group\" aria-label=\"First group\">\r\n\t\t\t\t\t\t<!-- download-->\r\n\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\t[download]=\"filename\"\r\n\t\t\t\t\t\t\t*ngIf=\"isFilename() === true\"\r\n\t\t\t\t\t\t\t(click)=\"download()\"\r\n\t\t\t\t\t\t\tclass=\"btn btn-outline-secondary\"\r\n\t\t\t\t\t\t\ttitle=\"Descargar\"\r\n\t\t\t\t\t\t\tdata-toggle=\"tooltip\"\r\n\t\t\t\t\t\t\tdata-placement=\"top\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<!-- [href]=\"\r\n\t\t\t\t\t\t\tsanitization.bypassSecurityTrustUrl(\r\n\t\t\t\t\t\t\t\t'data:application/pdf;base64,' + this.base64\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\" -->\r\n\t\t\t\t\t\t\t<span class=\"fa fa-download\"></span>\r\n\t\t\t\t\t\t</a>\r\n\r\n\t\t\t\t\t\t<!-- toggle edit--\r\n <a href=\"Javascript:;\" *ngIf=\"isEnableEdit() === true\" class=\"btn btn-outline-secondary\" title=\"Editar\"\r\n data-toggle=\"tooltip\" data-placement=\"top\" (click)=\"toggleEdit()\">\r\n <span class=\"fa fa-edit\"></span>\r\n </a>\r\n\r\n <!-- generate pdf-->\r\n\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\thref=\"Javascript:;\"\r\n\t\t\t\t\t\t\t*ngIf=\"isEdit() === true\"\r\n\t\t\t\t\t\t\tclass=\"btn btn-outline-secondary\"\r\n\t\t\t\t\t\t\ttitle=\"Generar\"\r\n\t\t\t\t\t\t\tdata-toggle=\"tooltip\"\r\n\t\t\t\t\t\t\tdata-placement=\"top\"\r\n\t\t\t\t\t\t\t(click)=\"change()\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<span class=\"fa fa-play\"></span>\r\n\t\t\t\t\t\t</a>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-md-5 pull-right\" *ngIf=\"isEnableEmail() === true\">\r\n\t\t\t\t<div class=\"input-group input-group-sm\">\r\n\t\t\t\t\t<label for=\"pdf-visualizer-email\" class=\"pdf\">\r\n\t\t\t\t\t\tEnviar mensaje a\r\n\t\t\t\t\t</label>\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\ttype=\"email\"\r\n\t\t\t\t\t\tid=\"pdf-visualizer-email\"\r\n\t\t\t\t\t\tname=\"pdf-visualizer-email\"\r\n\t\t\t\t\t\trequired=\"true\"\r\n\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\tplaceholder=\"Correo electrónico\"\r\n\t\t\t\t\t\t[(ngModel)]=\"email\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<div class=\"input-group-append\">\r\n\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\tclass=\"btn btn-outline-secondary\"\r\n\t\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\t\t(click)=\"sendEmail()\"\r\n\t\t\t\t\t\t\ttitle=\"Enviar\"\r\n\t\t\t\t\t\t\tdata-toggle=\"tooltip\"\r\n\t\t\t\t\t\t\tdata-placement=\"top\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<img\r\n\t\t\t\t\t\t\t\tsrc=\"http://giro360.co/zona360/colfuturo/PLIC/img/export.svg\"\r\n\t\t\t\t\t\t\t\talt=\"\"\r\n\t\t\t\t\t\t\t\twidth=\"16\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</button>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div class=\"pdf-visualizer-dashboard\">\r\n\t\t<div class=\"row\">\r\n\t\t\t<div class=\"col-md-5\" *ngIf=\"isEdit() === true\">\r\n\t\t\t\t<textarea\r\n\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t[style.height]=\"getHeight()\"\r\n\t\t\t\t\tstyle=\"resize:vertical;\"\r\n\t\t\t\t\t[(ngModel)]=\"html\"\r\n\t\t\t\t></textarea>\r\n\t\t\t</div>\r\n\t\t\t<div [ngClass]=\"{ 'col-md-7': edit === true, 'col-md-12': !edit }\">\r\n\t\t\t\t<div\r\n\t\t\t\t\tid=\"pdf-scrollable\"\r\n\t\t\t\t\tclass=\"pdf-visualizer-scrollable\"\r\n\t\t\t\t\t[style.height]=\"getHeight()\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<canvas id=\"pdf-canvas\" class=\"pdf-visualizer-canvas\"> </canvas>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n","import {\r\n\tComponent,\r\n\tOnChanges,\r\n\tSimpleChanges,\r\n\tInput,\r\n\tSimpleChange,\r\n\tEventEmitter,\r\n\tOutput\r\n} from '@angular/core';\r\nimport * as PDFJS_ from 'pdfjs-dist/build/pdf';\r\nimport * as panzoom_ from 'panzoom/dist/panzoom';\r\nimport { CommonService } from '../../services/common.service';\r\nimport { PdfDocument, UtilString, RequestPdf } from 'ng-pli-util';\r\nimport { FileService } from '../../services/file.service';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\nconst PDFJS = PDFJS_;\r\nconst panzoom = panzoom_;\r\n/** Pdf visualizer Refactor - TODO improve logic and check the edit functionality */\r\n@Component({\r\n\tselector: 'pli-pdf-merge-visualizer',\r\n\ttemplateUrl: './pdf-merge-visualizer.component.html',\r\n\tstyleUrls: ['./pdf-merge-visualizer.component.css']\r\n})\r\nexport class PdfMergeVisualizerComponent implements OnChanges {\r\n\t/** Default visualizer height */\r\n\tstatic DEFAULT_HEIGHT = 500;\r\n\r\n\t/** Pdfs to be generated and merged */\r\n\t@Input() lPdfRequest: RequestPdf[];\r\n\t/** It verifies if is possible to edit html */\r\n\t@Input() enableEdit: boolean = false; // TODO - Check functionality\r\n\t/** title of the pdf */\r\n\t@Input() title: string;\r\n\t/** the height of the pdf canvas */\r\n\t@Input() height: number;\r\n\t/** The filename of the pdf */\r\n\t@Input() filename: string;\r\n\t/** It verifies if it allows to send the email */\r\n\t@Input() enableEmail: boolean;\r\n\t/** The url of the pdf */\r\n\t@Input() urlFile: string;\r\n\t/** It fires when the file has been downloaded */\r\n\t@Output() onDownload: EventEmitter<any> = new EventEmitter<any>();\r\n\t/** It fires when the name has been sent */\r\n\t@Output() onSendEmail: EventEmitter<any> = new EventEmitter<any>(); // TODO - Check functionality\r\n\t/** It fires when the name has been sent */\r\n\t@Output() onPdfRendered: EventEmitter<any> = new EventEmitter<any>();\r\n\t/** It fires when the html has been modified */\r\n\t// @Output() onChange: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n\t/** Email that will be sended */\r\n\temail: string;\r\n\t/** base64 as result of html 2 pdf */\r\n\tbase64: string; // TODO - Check functionality\r\n\t/** It allows to edit html */ edit: boolean = false;\r\n\t/** it verifies if component is ready */\r\n\tready: boolean = false;\r\n\t/** It continas the abstraction of pdf document */\r\n\tpdfDocument: PdfDocument;\r\n\t/** it contains the id of canvas */\r\n\tid_canvas: string = 'pdf-canvas';\r\n\r\n\tconstructor(\r\n\t\tprotected commonService: CommonService,\r\n\t\tprivate taostrService: ToastrService,\r\n\t\tpublic sanitization: DomSanitizer\r\n\t) {}\r\n\r\n\t// it resolves when the html is changed\r\n\tngOnChanges(changes: SimpleChanges): void {\r\n\t\tconst lPdfRequest: SimpleChange = changes.lPdfRequest;\r\n\t\tconst urlFile: SimpleChange = changes.urlFile;\r\n\t\tif (lPdfRequest && lPdfRequest.currentValue) {\r\n\t\t\tthis.generatePDF();\r\n\t\t} else if (urlFile && urlFile.currentValue) {\r\n\t\t\tthis.urlFile = urlFile.currentValue;\r\n\t\t\tthis.generatePDF();\r\n\t\t} else {\r\n\t\t\tthis.ready = false;\r\n\t\t\tif (this.pdfDocument && this.pdfDocument.canvas) {\r\n\t\t\t\tlet canvas = this.pdfDocument.canvas;\r\n\t\t\t\tvar ctx = this.pdfDocument.canvas.getContext('2d');\r\n\t\t\t\tctx.clearRect(0, 0, canvas.width, canvas.height);\r\n\t\t\t\tthis.pdfDocument = undefined;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/** It generates the pdf */\r\n\tgeneratePDF() {\r\n\t\tif (UtilString.isValid(this.urlFile)) {\r\n\t\t\tthis.commonService.getBase64PdfByUrl(this.urlFile).subscribe(\r\n\t\t\t\t(result) => {\r\n\t\t\t\t\tthis.showBase64Pdf(result);\r\n\t\t\t\t},\r\n\t\t\t\t(error) => {\r\n\t\t\t\t\tconsole.error('Error trying to render PDF', error);\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t} else if (this.lPdfRequest) {\r\n\t\t\t// if html was changed\r\n\t\t\tthis.commonService.getBase64PdfList(this.lPdfRequest).subscribe(\r\n\t\t\t\t(result) => {\r\n\t\t\t\t\tthis.showBase64Pdf(result);\r\n\t\t\t\t},\r\n\t\t\t\t(error) => {\r\n\t\t\t\t\tconsole.error('Error trying to render PDF', error);\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\tshowBase64Pdf(result) {\r\n\t\tthis.base64 = result.base64;\r\n\t\tvar data = atob(this.base64);\r\n\t\tPDFJS.workerSrc = '//mozilla.github.io/pdf.js/build/pdf.worker.js';\r\n\t\t// create instance of PdfDocument with the id of canvas\r\n\t\tthis.pdfDocument = new PdfDocument(this.id_canvas);\r\n\r\n\t\t// assign variables out of scope\r\n\t\tlet pdfdocument: PdfDocument = this.pdfDocument;\r\n\t\tpanzoom(this.pdfDocument.canvas, {\r\n\t\t\tsmoothScroll: false\r\n\t\t});\r\n\t\tlet self = this;\r\n\t\tlet ready = this.ready;\r\n\t\tPDFJS.getDocument({ data: data }).then(function(pdfDoc_) {\r\n\t\t\tpdfdocument.pdfDoc = pdfDoc_;\r\n\t\t\tself.renderPage(1);\r\n\t\t\tready = true;\r\n\t\t\tself.onPdfRendered.emit(true);\r\n\t\t});\r\n\t}\r\n\t/** It returns the height */\r\n\tgetHeight(): string {\r\n\t\tif (this.height) return this.height + 'px';\r\n\t\treturn PdfMergeVisualizerComponent.DEFAULT_HEIGHT + 'px';\r\n\t}\r\n\r\n\t/** Get page info from document, resize canvas accordingly, and render page. */\r\n\trenderPage(num) {\r\n\t\tthis.pdfDocument.pageRendering = true;\r\n\t\t// assign variables out of scope\r\n\t\tlet selfPdfDocument: PdfDocument = this.pdfDocument;\r\n\t\tlet self = this;\r\n\t\t// Using promise to fetch the page\r\n\t\tthis.pdfDocument.pdfDoc.getPage(num).then(function(page) {\r\n\t\t\tvar viewport = page.getViewport(selfPdfDocument.scale);\r\n\t\t\tselfPdfDocument.canvas.height = viewport.height;\r\n\t\t\tselfPdfDocument.canvas.width = viewport.width;\r\n\r\n\t\t\t// Render PDF page into canvas context\r\n\t\t\tvar renderContext = {\r\n\t\t\t\tcanvasContext: selfPdfDocument.canvas.getContext('2d'),\r\n\t\t\t\tviewport: viewport\r\n\t\t\t};\r\n\t\t\tvar renderTask = page.render(renderContext);\r\n\r\n\t\t\t// Wait for rendering to finish\r\n\t\t\trenderTask.promise.then(function() {\r\n\t\t\t\tselfPdfDocument.pageRendering = false;\r\n\t\t\t\tif (selfPdfDocument.pageNumPending !== null) {\r\n\t\t\t\t\t// New page rendering is pending\r\n\t\t\t\t\tself.renderPage(selfPdfDocument.pageNumPending);\r\n\t\t\t\t\tselfPdfDocument.pageNumPending = null;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * If another page rendering in progress, waits until the rendering is\r\n\t * finised. Otherwise, executes rendering immediately.\r\n\t */\r\n\tqueueRenderPage(num) {\r\n\t\tif (this.pdfDocument.pageRendering) {\r\n\t\t\tthis.pdfDocument.pageNumPending = num;\r\n\t\t} else {\r\n\t\t\tthis.renderPage(num);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Displays previous page.\r\n\t */\r\n\tonPrevPage() {\r\n\t\tif (!this.pdfDocument || this.pdfDocument.pageNum <= 1) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.pdfDocument.pageNum--;\r\n\t\tthis.queueRenderPage(this.pdfDocument.pageNum);\r\n\t}\r\n\r\n\t/**\r\n\t * Displays next page.\r\n\t */\r\n\tonNextPage() {\r\n\t\tif (!this.pdfDocument || this.pdfDocument.pageNum >= this.pdfDocument.pdfDoc.numPages) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.pdfDocument.pageNum++;\r\n\t\tthis.queueRenderPage(this.pdfDocument.pageNum);\r\n\t}\r\n\r\n\t/**\r\n\t * Displays Zoom In.\r\n\t */\r\n\tonZoomIn() {\r\n\t\tif (!this.pdfDocument || this.pdfDocument.scale >= 3) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.pdfDocument.scale = this.pdfDocument.scale + 0.2;\r\n\t\tthis.queueRenderPage(this.pdfDocument.pageNum);\r\n\t}\r\n\r\n\t/**\r\n\t * Displays Zoom Out.\r\n\t */\r\n\tonZoomOut() {\r\n\t\tif (!this.pdfDocument || this.pdfDocument.scale <= 0.4) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.pdfDocument.scale = this.pdfDocument.scale - 0.2;\r\n\t\tthis.queueRenderPage(this.pdfDocument.pageNum);\r\n\t}\r\n\r\n\t/** It sends the document by email */\r\n\tsendEmail() {\r\n\t\tif (this.email && UtilString.validateEmail(this.email)) {\r\n\t\t\tthis.onSendEmail.emit({\r\n\t\t\t\tto: this.email,\r\n\t\t\t\tbase64: this.base64\r\n\t\t\t});\r\n\t\t\tthis.email = '';\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.taostrService.warning('Correo electrónico es incorrecto');\r\n\t}\r\n\r\n\t/** It fires the event download */\r\n\tdownload() {\r\n\t\tconst contentType = 'application/pdf';\r\n\t\tconst b64Data = this.base64;\r\n\t\tconst blob = this.b64toBlob(b64Data, contentType);\r\n\t\tconst blobUrl = URL.createObjectURL(blob);\r\n\t\tvar a = document.createElement('a');\r\n\t\tdocument.body.appendChild(a);\r\n\t\ta.style.display = 'none';\r\n\t\ta.href = blobUrl;\r\n\t\ta.download = this.filename;\r\n\t\ta.click();\r\n\t\tsetTimeout(() => {\r\n\t\t\twindow.URL.revokeObjectURL(blobUrl);\r\n\t\t\tdocument.body.removeChild(a);\r\n\t\t\tthis.onDownload.emit({\r\n\t\t\t\tbase64: this.base64\r\n\t\t\t});\r\n\t\t}, 200);\r\n\t}\r\n\r\n\t/** It fires when the html is changed */\r\n\t// change() {\r\n\t// \tthis.generatePDF();\r\n\t// \tthis.onChange.emit(this.html);\r\n\t// }\r\n\r\n\t/** it allows to edit */\r\n\ttoggleEdit() {\r\n\t\tthis.edit = !this.edit;\r\n\t}\r\n\r\n\t/**\r\n\t * it returns if is PdfDocument\r\n\t */\r\n\tisPdfDocument(): boolean {\r\n\t\treturn this.pdfDocument !== undefined;\r\n\t}\r\n\r\n\t/**\r\n\t * it returns if is Title\r\n\t */\r\n\tisTitle(): boolean {\r\n\t\treturn this.title !== undefined;\r\n\t}\r\n\r\n\t/**\r\n\t * it returns if is isPdfDoc\r\n\t */\r\n\tisPdfDoc(): boolean {\r\n\t\treturn (\r\n\t\t\tthis.pdfDocument &&\r\n\t\t\tthis.pdfDocument.pdfDoc != undefined &&\r\n\t\t\tthis.pdfDocument.pdfDoc != null\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * it returns if is filename\r\n\t */\r\n\tisFilename(): boolean {\r\n\t\treturn this.filename !== undefined;\r\n\t}\r\n\r\n\t/**\r\n\t * it returns if is enableEdit\r\n\t */\r\n\tisEnableEdit(): boolean {\r\n\t\treturn this.enableEdit == true;\r\n\t}\r\n\r\n\t/**\r\n\t * it returns if is edit\r\n\t */\r\n\tisEdit(): boolean {\r\n\t\treturn this.edit == true;\r\n\t}\r\n\r\n\t/**\r\n\t * it returns if is enableEmail\r\n\t */\r\n\tisEnableEmail(): boolean {\r\n\t\treturn this.enableEmail == true;\r\n\t}\r\n\r\n\tb64toBlob(b64Data, contentType = '', sliceSize = 512) {\r\n\t\tconst byteArrays = [];\r\n\t\tconst byteCharacters = atob(b64Data);\r\n\t\tfor (let offset = 0; offset < byteCharacters.length; offset += sliceSize) {\r\n\t\t\tconst slice = byteCharacters.slice(offset, offset + sliceSize);\r\n\t\t\tconst byteNumbers = new Array(slice.length);\r\n\t\t\tfor (let i = 0; i < slice.length; i++) {\r\n\t\t\t\tbyteNumbers[i] = slice.charCodeAt(i);\r\n\t\t\t}\r\n\t\t\tconst byteArray = new Uint8Array(byteNumbers);\r\n\t\t\tbyteArrays.push(byteArray);\r\n\t\t}\r\n\t\tconst blob = new Blob(byteArrays, { type: contentType });\r\n\t\treturn blob;\r\n\t}\r\n}\r\n","<h3 class=\"pdf-visualizer-title\">{{ title }}</h3>\r\n<div class=\"pdf-visualizer-container\">\r\n\t<div class=\"pdf-visualizer-controls\" *ngIf=\"isPdfDocument() === true\">\r\n\t\t<div class=\"row\">\r\n\t\t\t<div class=\"col-md-7\">\r\n\t\t\t\t<div class=\"btn-toolbar\" role=\"toolbar\" aria-label=\"Toolbar with button groups\">\r\n\t\t\t\t\t<div class=\"btn-group btn-group-sm mr-2\" role=\"group\" aria-label=\"Second group\">\r\n\t\t\t\t\t\t<!-- zoom in-->\r\n\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\thref=\"Javascript:;\"\r\n\t\t\t\t\t\t\ttitle=\"Acercar\"\r\n\t\t\t\t\t\t\tdata-toggle=\"tooltip\"\r\n\t\t\t\t\t\t\tdata-placement=\"top\"\r\n\t\t\t\t\t\t\tclass=\"btn btn-outline-secondary\"\r\n\t\t\t\t\t\t\t(click)=\"onZoomIn()\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<span class=\"fa fa-search-plus\"></span>\r\n\t\t\t\t\t\t</a>\r\n\r\n\t\t\t\t\t\t<!-- zoom out-->\r\n\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\thref=\"Javascript:;\"\r\n\t\t\t\t\t\t\ttitle=\"Alejar\"\r\n\t\t\t\t\t\t\tdata-toggle=\"tooltip\"\r\n\t\t\t\t\t\t\tdata-placement=\"top\"\r\n\t\t\t\t\t\t\tclass=\"btn btn-outline-secondary\"\r\n\t\t\t\t\t\t\t(click)=\"onZoomOut()\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<span class=\"fa fa-search-minus\"></span>\r\n\t\t\t\t\t\t</a>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div class=\"btn-group btn-group-sm mr-2\" role=\"group\" aria-label=\"Third group\">\r\n\t\t\t\t\t\t<!--prev -->\r\n\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\thref=\"Javascript:;\"\r\n\t\t\t\t\t\t\tclass=\"btn btn-outline-secondary\"\r\n\t\t\t\t\t\t\t(click)=\"onPrevPage()\"\r\n\t\t\t\t\t\t\ttitle=\"Anterior\"\r\n\t\t\t\t\t\t\tdata-toggle=\"tooltip\"\r\n\t\t\t\t\t\t\tdata-placement=\"top\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<span class=\"fa fa-chevron-left\"></span>\r\n\t\t\t\t\t\t</a>\r\n\r\n\t\t\t\t\t\t<!-- pagination-->\r\n\t\t\t\t\t\t<span class=\"btn btn-outline-secondary\" *ngIf=\"isPdfDoc() === true\">\r\n\t\t\t\t\t\t\tPágina: {{ pdfDocument.pageNum }} / {{ pdfDocument.pdfDoc.numPages }}\r\n\t\t\t\t\t\t</span>\r\n\r\n\t\t\t\t\t\t<!--next -->\r\n\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\thref=\"Javascript:;\"\r\n\t\t\t\t\t\t\tclass=\"btn btn-outline-secondary\"\r\n\t\t\t\t\t\t\t(click)=\"onNextPage()\"\r\n\t\t\t\t\t\t\ttitle=\"Siguiente\"\r\n\t\t\t\t\t\t\tdata-toggle=\"tooltip\"\r\n\t\t\t\t\t\t\tdata-placement=\"top\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<span class=\"fa fa-chevron-right\"></span>\r\n\t\t\t\t\t\t</a>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div class=\"btn-group btn-group-sm\" role=\"group\" aria-label=\"First group\">\r\n\t\t\t\t\t\t<!-- download-->\r\n\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\t[download]=\"filename\"\r\n\t\t\t\t\t\t\t*ngIf=\"isFilename() === true\"\r\n\t\t\t\t\t\t\t(click)=\"download()\"\r\n\t\t\t\t\t\t\tclass=\"btn btn-outline-secondary\"\r\n\t\t\t\t\t\t\ttitle=\"Descargar\"\r\n\t\t\t\t\t\t\tdata-toggle=\"tooltip\"\r\n\t\t\t\t\t\t\tdata-placement=\"top\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<!-- [href]=\"\r\n\t\t\t\t\t\t\t\tsanitization.bypassSecurityTrustUrl(\r\n\t\t\t\t\t\t\t\t\t'data:application/pdf;base64,' + this.base64\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\" -->\r\n\t\t\t\t\t\t\t<span class=\"fa fa-download\"></span>\r\n\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t<!-- TODO - Check functionality -->\r\n\t\t\t\t\t\t<!-- toggle edit-->\r\n\t\t\t\t\t\t<!-- <a\r\n\t\t\t\t\t\t\thref=\"Javascript:;\"\r\n\t\t\t\t\t\t\t*ngIf=\"isEnableEdit() === true\"\r\n\t\t\t\t\t\t\tclass=\"btn btn-outline-secondary\"\r\n\t\t\t\t\t\t\ttitle=\"Editar\"\r\n\t\t\t\t\t\t\tdata-toggle=\"tooltip\"\r\n\t\t\t\t\t\t\tdata-placement=\"top\"\r\n\t\t\t\t\t\t\t(click)=\"toggleEdit()\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<span class=\"fa fa-edit\"></span>\r\n\t\t\t\t\t\t</a> -->\r\n\r\n\t\t\t\t\t\t<!-- generate pdf-->\r\n\t\t\t\t\t\t<!-- <a\r\n\t\t\t\t\t\t\thref=\"Javascript:;\"\r\n\t\t\t\t\t\t\t*ngIf=\"isEdit() === true\"\r\n\t\t\t\t\t\t\tclass=\"btn btn-outline-secondary\"\r\n\t\t\t\t\t\t\ttitle=\"Generar\"\r\n\t\t\t\t\t\t\tdata-toggle=\"tooltip\"\r\n\t\t\t\t\t\t\tdata-placement=\"top\"\r\n\t\t\t\t\t\t\t(click)=\"change()\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<span class=\"fa fa-play\"></span>\r\n\t\t\t\t\t\t</a> -->\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-md-5 pull-right\" *ngIf=\"isEnableEmail() === true\">\r\n\t\t\t\t<div class=\"input-group input-group-sm\">\r\n\t\t\t\t\t<label for=\"pdf-visualizer-email\" class=\"pdf\">\r\n\t\t\t\t\t\tEnviar mensaje a\r\n\t\t\t\t\t</label>\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\ttype=\"email\"\r\n\t\t\t\t\t\tid=\"pdf-visualizer-email\"\r\n\t\t\t\t\t\tname=\"pdf-visualizer-email\"\r\n\t\t\t\t\t\trequired=\"true\"\r\n\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\tplaceholder=\"Correo electrónico\"\r\n\t\t\t\t\t\t[(ngModel)]=\"email\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<div class=\"input-group-append\">\r\n\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\tclass=\"btn btn-outline-secondary\"\r\n\t\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\t\t(click)=\"sendEmail()\"\r\n\t\t\t\t\t\t\ttitle=\"Enviar\"\r\n\t\t\t\t\t\t\tdata-toggle=\"tooltip\"\r\n\t\t\t\t\t\t\tdata-placement=\"top\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<img\r\n\t\t\t\t\t\t\t\tsrc=\"http://giro360.co/zona360/colfuturo/PLIC/img/export.svg\"\r\n\t\t\t\t\t\t\t\talt=\"\"\r\n\t\t\t\t\t\t\t\twidth=\"16\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</button>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div class=\"pdf-visualizer-dashboard\">\r\n\t\t<div class=\"row\">\r\n\t\t\t<!-- <div class=\"col-md-5\" *ngIf=\"isEdit() === true\">\r\n\t\t\t\t<textarea\r\n\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t[style.height]=\"getHeight()\"\r\n\t\t\t\t\tstyle=\"resize:vertical;\"\r\n\t\t\t\t\t[(ngModel)]=\"html\"\r\n\t\t\t\t></textarea>\r\n\t\t\t</div> -->\r\n\t\t\t<div [ngClass]=\"{ 'col-md-7': edit === true, 'col-md-12': !edit }\">\r\n\t\t\t\t<div\r\n\t\t\t\t\tid=\"pdf-scrollable\"\r\n\t\t\t\t\tclass=\"pdf-visualizer-scrollable\"\r\n\t\t\t\t\t[style.height]=\"getHeight()\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<canvas id=\"pdf-canvas\" class=\"pdf-visualizer-canvas\"> </canvas>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n","import { Component, OnInit, EventEmitter, Output, ChangeDetectorRef, AfterContentInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { PliPromocion, PliPatrocinador } from 'ng-pli-util';\r\nimport { PppService } from '../../services/ppp.service';\r\n\r\n@Component({\r\n\tselector: 'pli-select-ppp',\r\n\ttemplateUrl: './select-ppp.component.html',\r\n\tstyleUrls: ['./select-ppp.component.css']\r\n})\r\nexport class SelectPppComponent implements OnInit, AfterContentInit{\r\n\t/** Lists ppp */\r\n\tlistPatrocinador: Array<any>;\r\n\tlistPrograma: Array<any>;\r\n\tlistPromocion: Array<any>;\r\n\r\n\tlistPatrocinadorDr: Array<any>;\r\n\tlistProgramaDr: Array<any>;\r\n\tlistPromocionDr: Array<any>;\r\n\r\n\t/** Variables ppp */\r\n\tpatCodigo: number = 0;\r\n\tprogCodigo: number = 0;\r\n\tpromCodigo: number = 0;\r\n\tpromCodigoTmp: number = 0;\r\n\r\n\tformPPP: FormGroup;\r\n\r\n\t/** It is used when promcodigo is changed */\r\n\t@Output() onPromCodigoSelected = new EventEmitter<any>();\r\n\r\n\tconstructor(private pppService: PppService, private rf: FormBuilder, private activatedRoute: ActivatedRoute,protected cdRef: ChangeDetectorRef) {\r\n\t\t// subscribe list ppp\r\n\t\tthis.getListPatrocinador();\r\n\r\n\t\t// subscribe to change ppp\r\n\t\tthis.pppService.onChangePpp().subscribe((result: number) => {\r\n\t\t\tif (result) {\r\n\t\t\t\tthis.promCodigo = result;\r\n\t\t\t\tthis.initPpp();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tif (!this.promCodigo) {\r\n\t\t\tlet promocionList: PliPromocion[] = this.pppService.getAllPromociones();\r\n\t\t\tif (promocionList && promocionList.length) {\r\n\t\t\t\tpromocionList.sort((a, b) =>\r\n\t\t\t\t\ta.promFechaCreacion < b.promFechaCreacion\r\n\t\t\t\t\t\t? 1\r\n\t\t\t\t\t\t: a.promFechaCreacion > b.promFechaCreacion\r\n\t\t\t\t\t\t? -1\r\n\t\t\t\t\t\t: 0\r\n\t\t\t\t);\r\n\t\t\t\tthis.promCodigo = promocionList[0].promCodigo;\r\n\t\t\t\tthis.initPpp();\r\n\t\t\t\t//this.onPliPromocionChanged(undefined);\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.pppService.setPpp(this.promCodigo);\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.activatedRoute.params.subscribe((params) => {\r\n\t\t\tthis.promCodigo = params['promCodigo'];\r\n\t\t\tthis.promCodigoTmp = params['promCodigo'];\r\n\t\t\tif(this.promCodigo > 0){\r\n\t\t\t\tthis.patCodigo = this.pppService.getPatCodigoByPromCodigo(this.promCodigo);\r\n\t\t\t\tthis.progCodigo = this.pppService.getProgCodigoByPromCodigo(this.promCodigo);\r\n\t\t\t}\r\n\t\t});\r\n\t\tthis.formPPP = this.rf.group({\r\n\t\t\tsponsor: [this.patCodigo],\r\n\t\t\tprogram: [this.progCodigo],\r\n\t\t\tpromotion: [this.promCodigo]\r\n\t\t});\t\r\n\t}\r\n\r\n\tgetListPatrocinador() {\r\n\t\tthis.pppService.getListPpp().subscribe((result: Array<any>) => {\r\n\t\t\tif (result) {\r\n\t\t\t\tthis.listPatrocinador = result;\r\n\t\t\t\tthis.listPatrocinadorDr = [];\r\n\t\t\t\tresult.forEach((patrocinador) => {\r\n\t\t\t\t\tlet patrocinadorTmp = {\r\n\t\t\t\t\t\tvalue: patrocinador.patCodigo,\r\n\t\t\t\t\t\tlabel: patrocinador.patNombreCorto\r\n\t\t\t\t\t};\r\n\t\t\t\t\tthis.listPatrocinadorDr.push(patrocinadorTmp);\r\n\t\t\t\t});\r\n\t\t\t\tthis.initPpp();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\t/** It initializes the variables when they are assigned */\r\n\tprivate initPpp() {\r\n\t\tif (this.listPatrocinador && this.listPatrocinador.length && this.promCodigo) {\r\n\t\t\tfor (const patrocinador of this.listPatrocinador)\r\n\t\t\t\tfor (const programa of patrocinador.listaPliPrograma)\r\n\t\t\t\t\tfor (const promocion of programa.listaPliPromocion)\r\n\t\t\t\t\t\tif (promocion.promCodigo == this.promCodigo) {\r\n\t\t\t\t\t\t\tthis.patCodigo = patrocinador.patCodigo;\r\n\t\t\t\t\t\t\tthis.progCodigo = programa.progCodigo;\r\n\t\t\t\t\t\t\tthis.promCodigo = promocion.promCodigo;\r\n\t\t\t\t\t\t\tthis.listPrograma = patrocinador.listaPliPrograma;\r\n\t\t\t\t\t\t\tthis.listPromocion = programa.listaPliPromocion;\r\n\t\t\t\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tgetPatrocinador(patCodigo: number) {\r\n\t\tif(patCodigo > 0 && this.promCodigo > 0){\r\n\t\t\tthis.getListPatrocinador();\r\n\t\t\t//this.initPpp();\r\n\t\t}\r\n\t}\r\n\t\r\n\r\n\t/** It fires when patrocinador is changed */\r\n\tasync onPliPatrocinadorChanged() {\r\n\t\tthis.patCodigo = this.formPPP.get('sponsor').value;\r\n\t\tif (this.patCodigo) {\r\n\t\t\tfor (const patrocinador of this.listPatrocinador) {\r\n\t\t\t\tif (patrocinador.patCodigo == this.patCodigo) {\r\n\t\t\t\t\tthis.patCodigo = patrocinador.patCodigo;\r\n\t\t\t\t\tthis.progCodigo = 0;\r\n\t\t\t\t\tthis.promCodigo = 0;\r\n\t\t\t\t\tthis.listPrograma = patrocinador.listaPliPrograma;\r\n\t\t\t\t\tthis.listPromocion = [];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (this.listPrograma && this.listPrograma.length > 0) {\r\n\t\t\t\tthis.listProgramaDr = [];\r\n\t\t\t\tthis.listPrograma.forEach((programa) => {\r\n\t\t\t\t\tlet programaTmp = {\r\n\t\t\t\t\t\tvalue: programa.progCodigo,\r\n\t\t\t\t\t\tlabel: programa.progNombreCorto\r\n\t\t\t\t\t};\r\n\t\t\t\t\tthis.listProgramaDr.push(programaTmp);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.progCodigo = 0;\r\n\t\t\tthis.promCodigo = 0;\r\n\t\t\tthis.listPrograma = [];\r\n\t\t\tthis.listPromocion = [];\r\n\t\t}\r\n\t}\r\n\r\n\t/** It fires when programa is changed */\r\n\tonPliProgramaChanged() {\r\n\t\tthis.progCodigo = this.formPPP.get('program').value;\r\n\t\tif (this.progCodigo) {\r\n\t\t\tfor (const programa of this.listPrograma)\r\n\t\t\t\tif (programa.progCodigo == this.progCodigo) {\r\n\t\t\t\t\tthis.promCodigo = 0;\r\n\t\t\t\t\tthis.listPromocion = programa.listaPliPromocion;\r\n\t\t\t\t}\r\n\t\t\tif (this.listPromocion && this.listPromocion.length > 0) {\r\n\t\t\t\tthis.listPromocionDr = [];\r\n\t\t\t\tthis.listPromocion.forEach((promocion) => {\r\n\t\t\t\t\tlet promocionTmp = {\r\n\t\t\t\t\t\tvalue: promocion.promCodigo,\r\n\t\t\t\t\t\tlabel: promocion.promNombreCorto\r\n\t\t\t\t\t};\r\n\t\t\t\t\tthis.listPromocionDr.push(promocionTmp);\r\n\t\t\t\t\tthis.listPromocionDr.sort((a,b) => {return b.value - a.value});\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.promCodigo = 0;\r\n\t\t\tthis.listPromocion = [];\r\n\t\t}\r\n\t}\r\n\r\n\t/** It fires when programa is changed */\r\n\tonPliPromocionChanged(promocion: any) {\r\n\t\tthis.progCodigo = promocion.value;\r\n\t\tthis.pppService.setPpp(this.promCodigo);\r\n\t\tthis.onPromCodigoSelected.emit(this.promCodigo);\r\n\t\tthis.setPromocion();\r\n\t}\r\n\r\n\tsetPromocion() {\r\n\t\tsetTimeout(() => {\r\n\t\t\tif(this.formPPP.get('sponsor').value > 0){\r\n\t\t\t\tthis.onPliPatrocinadorChanged();\r\n\t\t\t\tthis.progCodigo = this.formPPP.get('program').value;\r\n\t\t\t\tthis.onPliProgramaChanged();\r\n\t\t\t\tif(this.formPPP.get('promotion').value > 0){\r\n\t\t\t\t\tthis.formPPP.get('promotion').markAsDirty();\r\n\t\t\t\t\tthis.promCodigo = parseInt(this.formPPP.get('promotion').value);\r\n\t\t\t\t\tthis.formPPP.get('promotion').setValue(this.promCodigo);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, 100);\r\n\t\tthis.cdRef.detectChanges();\r\n\t}\r\n\r\n\tngAfterContentInit(){\r\n\t\tsetTimeout(() => {\r\n\t\t\tif(this.formPPP.get('sponsor').value > 0){\r\n\t\t\t\tthis.onPliPatrocinadorChanged();\r\n\t\t\t\tthis.progCodigo = this.formPPP.get('program').value;\r\n\t\t\t\tthis.onPliProgramaChanged();\r\n\t\t\t\tif(this.formPPP.get('promotion').value > 0){\r\n\t\t\t\t\tthis.formPPP.get('promotion').markAsDirty();\r\n\t\t\t\t\tthis.promCodigo = parseInt(this.formPPP.get('promotion').value);\r\n\t\t\t\t\tthis.formPPP.get('promotion').setValue(this.promCodigo);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, 2000);\r\n\t\tthis.cdRef.detectChanges();\r\n\t}\r\n}\r\n","<!-- <div class=\"row\">\r\n\t<div class=\"col-md-4\">\r\n\t\t<div class=\"form-group\">\r\n\t\t\t<label for=\"patCodigo\" class=\"form-control-label\">Patrocinador</label>\r\n\t\t\t<p-dropdown\r\n\t\t\t\t[style]=\"{ minWidth: '100%' }\"\r\n\t\t\t\t[options]=\"listPatrocinadorDr\"\r\n\t\t\t\t[(ngModel)]=\"patCodigo\"\r\n\t\t\t\tplaceholder=\"-- Seleccione opción\"\r\n\t\t\t\t(ngModelChange)=\"onPliPatrocinadorChanged()\"\r\n\t\t\t></p-dropdown>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"col-md-4\">\r\n\t\t<div class=\"form-group\">\r\n\t\t\t<label for=\"progCodigo\" class=\"form-control-label\">Programa</label>\r\n\t\t\t<p-dropdown\r\n\t\t\t\t[style]=\"{ minWidth: '100%' }\"\r\n\t\t\t\t[options]=\"listProgramaDr\"\r\n\t\t\t\t[(ngModel)]=\"progCodigo\"\r\n\t\t\t\tplaceholder=\"-- Seleccione opción\"\r\n\t\t\t\t(onChange)=\"onPliProgramaChanged()\"\r\n\t\t\t></p-dropdown>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"col-md-4\">\r\n\t\t<div class=\"form-group\">\r\n\t\t\t<label for=\"promCodigo\" class=\"form-control-label\">Promocion</label>\r\n\t\t\t<p-dropdown\r\n\t\t\t\t[style]=\"{ minWidth: '100%' }\"\r\n\t\t\t\t[options]=\"listPromocionDr\"\r\n\t\t\t\t[(ngModel)]=\"promCodigo\"\r\n\t\t\t\tplaceholder=\"-- Seleccione opción\"\r\n\t\t\t\t(onChange)=\"onPliPromocionChanged($event)\"\r\n\t\t\t></p-dropdown>\r\n\t\t</div>\r\n\t</div>\r\n</div> -->\r\n<form [formGroup]=\"formPPP\">\r\n\t<div class=\"row\">\r\n\t\t<div class=\"col-md-4\">\r\n\t\t\t<div class=\"form-group\">\r\n\t\t\t\t<label for=\"patCodigo\" class=\"form-control-label\">Patrocinador</label>\r\n\t\t\t\t<p-dropdown\r\n\t\t\t\t\t[style]=\"{ minWidth: '100%' }\"\r\n\t\t\t\t\t[options]=\"listPatrocinadorDr\"\r\n\t\t\t\t\tformControlName=\"sponsor\"\r\n\t\t\t\t\t[(ngModel)]=\"patCodigo\"\r\n\t\t\t\t\tplaceholder=\"-- Seleccione opción\"\r\n\t\t\t\t\t(ngModelChange)=\"onPliPatrocinadorChanged()\"\r\n\t\t\t\t></p-dropdown>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"col-md-4\">\r\n\t\t\t<div class=\"form-group\">\r\n\t\t\t\t<label for=\"progCodigo\" class=\"form-control-label\">Programa</label>\r\n\t\t\t\t<p-dropdown\r\n\t\t\t\t\t[style]=\"{ minWidth: '100%' }\"\r\n\t\t\t\t\t[options]=\"listProgramaDr\"\r\n\t\t\t\t\tformControlName=\"program\"\r\n\t\t\t\t\t[(ngModel)]=\"progCodigo\"\r\n\t\t\t\t\tplaceholder=\"-- Seleccione opción\"\r\n\t\t\t\t\t(onChange)=\"onPliProgramaChanged()\"\r\n\t\t\t\t></p-dropdown>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"col-md-4\">\r\n\t\t\t<div class=\"form-group\">\r\n\t\t\t\t<label for=\"promCodigo\" class=\"form-control-label\">Promocion</label>\r\n\t\t\t\t<p-dropdown\r\n\t\t\t\t\t[style]=\"{ minWidth: '100%' }\"\r\n\t\t\t\t\t[options]=\"listPromocionDr\"\r\n\t\t\t\t\tformControlName=\"promotion\"\r\n\t\t\t\t\t[(ngModel)]=\"promCodigo\"\r\n\t\t\t\t\tplaceholder=\"-- Seleccione opción\"\r\n\t\t\t\t\t(onChange)=\"onPliPromocionChanged($event)\"\r\n\t\t\t\t></p-dropdown>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</form>","import {\r\n\tComponent,\r\n\tOnInit,\r\n\tChangeDetectorRef,\r\n\tOnChanges,\r\n\tSimpleChanges,\r\n\tInput,\r\n\tSimpleChange,\r\n\tOutput,\r\n\tEventEmitter,\r\n\tHostListener\r\n} from '@angular/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { CommonListsComponent } from '../common.lists.component';\r\nimport { SegColumn, UtilString } from 'ng-pli-util';\r\nimport { CommonService } from '../../services/common.service';\r\n\r\n@Component({\r\n\tselector: 'app-show-hide-columns-table',\r\n\ttemplateUrl: './show-hide-columns-table.component.html',\r\n\tstyleUrls: ['./show-hide-columns-table.component.css']\r\n})\r\nexport class ShowHideColumnsTableComponent extends CommonListsComponent implements OnInit {\r\n\t/** Title of component */\r\n\t@Input() title: string;\r\n\t/** Columns */\r\n\t@Input() listColumnWork: SegColumn[];\r\n\t/** List of columns */\r\n\t@Input() comboColumnWork: any[];\r\n\t/** To show the dialog columns selected */\r\n\tdisplayDialog: boolean;\r\n\t/** it contains all columns no grouping */\r\n\tlistTotalSegColumn: SegColumn[];\r\n\t/** */\r\n\tready: boolean = false;\r\n\t/** */\r\n\tcolumnSearch: string;\r\n\t/** */\r\n\t@Output() listColumnSelected: EventEmitter<SegColumn[]> = new EventEmitter();\r\n\r\n\tconstructor(\r\n\t\tprotected commonService: CommonService,\r\n\t\tprotected cdRef: ChangeDetectorRef,\r\n\t\tprivate toastrService: ToastrService\r\n\t) {\r\n\t\tsuper(commonService, cdRef);\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tsuper.ngOnInit();\r\n\t\tthis.ready = true;\r\n\r\n\t\tif (this.comboColumnWork) {\r\n\t\t\t// sort by category\r\n\t\t\tthis.comboColumnWork.sort((a, b) => {\r\n\t\t\t\tconst labelA = UtilString.accentsTidy(a.label).toLowerCase();\r\n\t\t\t\tconst labelB = UtilString.accentsTidy(b.label).toLowerCase();\r\n\t\t\t\tif (labelA > labelB) return 1;\r\n\t\t\t\tif (labelB > labelA) return -1;\r\n\t\t\t\treturn 0;\r\n\t\t\t});\r\n\t\t\t// sort by columns\r\n\t\t\tthis.comboColumnWork.forEach((category) => {\r\n\t\t\t\tif (category.items)\r\n\t\t\t\t\tcategory.items.sort((a, b) => {\r\n\t\t\t\t\t\tconst labelA = UtilString.accentsTidy(a.label).toLowerCase();\r\n\t\t\t\t\t\tconst labelB = UtilString.accentsTidy(b.label).toLowerCase();\r\n\t\t\t\t\t\tif (labelA > labelB) return 1;\r\n\t\t\t\t\t\tif (labelB > labelA) return -1;\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\t/** it executes when the check of category has changed */\r\n\tchangeCategory(isChecked, category) {\r\n\t\tif (category) {\r\n\t\t\tif (isChecked) for (const column of category.items) column.selected = true;\r\n\t\t\telse for (const column of category.items) column.selected = false;\r\n\t\t}\r\n\t}\r\n\r\n\t/** it validates if it is visible or not */\r\n\tisVisibleCategory(category) {\r\n\t\tfor (const column of category.items) if (this.isVisibleColumn(column.label)) return true;\r\n\t\treturn false;\r\n\t}\r\n\r\n\t/** it validates if it is visible or not */\r\n\tisVisibleColumn(label) {\r\n\t\tif (!this.columnSearch) return true;\r\n\t\tif (label && label.toLowerCase().indexOf(this.columnSearch.toLowerCase()) >= 0) return true;\r\n\t\treturn false;\r\n\t}\r\n\r\n\t/** it sends to subject */\r\n\tsendSubject() {\r\n\t\tlet ids: number[] = [];\r\n\t\tfor (const category of this.comboColumnWork) {\r\n\t\t\tfor (const column of category.items) {\r\n\t\t\t\tif (column.selected) ids.push(column.value);\r\n\t\t\t}\r\n\t\t}\r\n\t\tlet lColumnSelected = [];\r\n\t\tfor (let work of this.listColumnWork) {\r\n\t\t\tfor (const category of this.comboColumnWork) {\r\n\t\t\t\tfor (const column of category.items) {\r\n\t\t\t\t\tif (column.value == work.idColumn) {\r\n\t\t\t\t\t\tif (column.selected) work.visible = true;\r\n\t\t\t\t\t\telse work.visible = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tlColumnSelected.push(this.cloneObject(work));\r\n\t\t}\r\n\t\tthis.listColumnSelected.emit(lColumnSelected);\r\n\t}\r\n}\r\n","<button\r\n\ttype=\"button\"\r\n\tclass=\"btn btn-default btn-sm \"\r\n\t(click)=\"displayDialog = !displayDialog\"\r\n\t*ngIf=\"ready\"\r\n>\r\n\t{{ title }}\r\n</button>\r\n\r\n<p-dialog\r\n\t*ngIf=\"ready\"\r\n\theader=\"Ocultar o mostrar columnas\"\r\n\t[(visible)]=\"displayDialog\"\r\n\t[modal]=\"true\"\r\n\t[contentStyle]=\"{\r\n\t\t'text-align': 'left',\r\n\t\twidth: '1100px',\r\n\t\t'overflow-y': 'auto'\r\n\t}\"\r\n\tdismissableMask=\"true\"\r\n\t(onHide)=\"sendSubject()\"\r\n>\r\n\t<div class=\"row\">\r\n\t\t<div class=\"col-md-4\">\r\n\t\t\t<input\r\n\t\t\t\ttype=\"input\"\r\n\t\t\t\tclass=\"form-control\"\r\n\t\t\t\tplaceholder=\"Busqueda de columnas\"\r\n\t\t\t\t[(ngModel)]=\"columnSearch\"\r\n\t\t\t/>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<ng-container *ngFor=\"let category of comboColumnWork\">\r\n\t\t<div class=\"row\" *ngIf=\"isVisibleCategory(category)\" style=\"margin-top:2rem;\">\r\n\t\t\t<div class=\"col-md-12\">\r\n\t\t\t\t<div class=\"checkbox\" style=\"margin:0 !important;\">\r\n\t\t\t\t\t<label\r\n\t\t\t\t\t\t><input\r\n\t\t\t\t\t\t\ttype=\"checkbox\"\r\n\t\t\t\t\t\t\t(change)=\"changeCategory($event.currentTarget.checked, category)\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<strong>{{ category.label }}</strong>\r\n\t\t\t\t\t</label>\r\n\t\t\t\t\t <span\r\n\t\t\t\t\t\tclass=\"fa\"\r\n\t\t\t\t\t\t[ngClass]=\"{\r\n\t\t\t\t\t\t\t'fa-chevron-down': !category.collapsed,\r\n\t\t\t\t\t\t\t'fa-chevron-right': category.collapsed\r\n\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\tstyle=\"cursor:pointer;\"\r\n\t\t\t\t\t\t(click)=\"category.collapsed = !category.collapsed\"\r\n\t\t\t\t\t></span>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div class=\"row\" *ngIf=\"!category.collapsed\">\r\n\t\t\t\t\t<div class=\"col-md-12\">\r\n\t\t\t\t\t\t<div style=\"margin-left:2rem;margin-top:1rem;\">\r\n\t\t\t\t\t\t\t<ng-container *ngFor=\"let column of category.items\">\r\n\t\t\t\t\t\t\t\t<div class=\"col-md-3\" *ngIf=\"isVisibleColumn(column.label)\">\r\n\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\t*ngIf=\"column.value != null\"\r\n\t\t\t\t\t\t\t\t\t\tclass=\"checkbox\"\r\n\t\t\t\t\t\t\t\t\t\tstyle=\"margin:0 !important;\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t<label class=\"adjust-text-size\" title=\"{{ column.label }}\"\r\n\t\t\t\t\t\t\t\t\t\t\t><input\r\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"checkbox\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[(ngModel)]=\"column.selected\"\r\n\t\t\t\t\t\t\t\t\t\t\t/>{{ column.label }}</label\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t<div *ngIf=\"column.value == null\"> </div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</ng-container>\r\n</p-dialog>\r\n","import {\r\n\tComponent,\r\n\tOnInit,\r\n\tInput,\r\n\tOutput,\r\n\tEventEmitter,\r\n\tOnChanges,\r\n\tSimpleChanges,\r\n\tSimpleChange\r\n} from '@angular/core';\r\nimport {\r\n\tUtilString,\r\n\tDataToTranslateToken,\r\n\tToken,\r\n\tBudgetDto,\r\n\tETipoPresupuesto,\r\n\tPliUsuario,\r\n\tsesion,\r\n\tAuthenticationUtil,\r\n\tPliUser,\r\n\tApplicationBudgetTotal,\r\n\tDateUtil,\r\n\tEvaluation\r\n} from 'ng-pli-util';\r\nimport { CurrencyPipe } from '@angular/common';\r\nimport { TokenService } from '../../services/token.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { AuthenticationService } from '../../services/authentication.service';\r\nimport 'jquery';\r\n\r\n@Component({\r\n\tselector: 'pli-token',\r\n\ttemplateUrl: './token.component.html',\r\n\tstyleUrls: ['./token.component.css']\r\n})\r\nexport class TokenComponent implements OnInit, OnChanges {\r\n\t/** It contains the template html to translate */\r\n\t@Input() template: string;\r\n\t/** It contains the data to implement */\r\n\t@Input() data: DataToTranslateToken;\r\n\t/** It notifies the html is generated*/\r\n\t@Output() onGenerate: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n\t/** It enables the visualization of destination */\r\n\tenableDestination: boolean = false;\r\n\r\n\t/** It contains the prom code */\r\n\tpromCodigo: number;\r\n\r\n\t/** */\r\n\tlTokenCalculated: Token[];\r\n\t/** */\r\n\tlFormFieldsToken: any[];\r\n\t/** */\r\n\tuniqueVerificationCode: string;\r\n\t/** */\r\n\tbudgetDtoPrimary: BudgetDto;\r\n\t/** */\r\n\tbudgetDtoSecundary: BudgetDto;\r\n\t/** As the list of token are loaded dynamically, this manage that only replace the info once. */\r\n\talreadyCallReplaceTokens: boolean;\r\n\r\n\tevaluation: Evaluation;\r\n\r\n\tconstructor(\r\n\t\tprivate currencyPipe: CurrencyPipe,\r\n\t\tprivate tokenService: TokenService,\r\n\t\tprivate toastrService: ToastrService,\r\n\t\tprivate authenticationService: AuthenticationService\r\n\t) {}\r\n\r\n\tngOnInit() {\r\n\t\tthis.lTokenCalculated = null;\r\n\t\tthis.lFormFieldsToken = null;\r\n\t\tthis.budgetDtoPrimary = null;\r\n\t\tthis.budgetDtoSecundary = null;\r\n\t\tthis.evaluation = null;\r\n\t}\r\n\r\n\t/** It manages the change of the every @Input */\r\n\tngOnChanges(changes: SimpleChanges): void {\r\n\t\t// Every time that input values change, call new verification code\r\n\t\tthis.uniqueVerificationCode = null;\r\n\t\tconst template: SimpleChange = changes.template;\r\n\t\tconst data: SimpleChange = changes.data;\r\n\r\n\t\tif (template && template.currentValue) {\r\n\t\t\tthis.template = template.currentValue;\r\n\t\t}\r\n\t\tif (data && data.currentValue) {\r\n\t\t\tthis.data = data.currentValue;\r\n\t\t\tthis.promCodigo = this.data.promCodigo;\r\n\t\t}\r\n\t\tif (this.data) {\r\n\t\t\tthis.budgetDtoPrimary = this.data.budgetDtoPrimary ? this.data.budgetDtoPrimary : null;\r\n\t\t\tthis.budgetDtoSecundary = this.data.budgetDtoSecundary\r\n\t\t\t\t? this.data.budgetDtoSecundary\r\n\t\t\t\t: null;\r\n\t\t\tthis.evaluation = this.data.evaluation;\r\n\t\t}\r\n\t\tif (this.data && this.template && this.promCodigo) {\r\n\t\t\tconst self = this;\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tself.init();\r\n\t\t\t}, 300);\r\n\t\t}\r\n\t}\r\n\t/** It initializes the process of translation */\r\n\tprivate init() {\r\n\t\tthis.translateTokens(this.template, this.data.dataFormByForm);\r\n\t}\r\n\r\n\ttranslateCategory(categoryName: string): string {\r\n\t\tconst languageByDefault = 'en';\r\n\t\t// If don't find the lang, get in en.\r\n\t\tlet categoryNameByDef: string = categoryName;\r\n\t\tif (categoryName && this.data.categories && this.data.idioma) {\r\n\t\t\t// If the locale select is es, this is the dafult category language\r\n\t\t\tif (this.data.idioma.locale === 'es') {\r\n\t\t\t\treturn categoryName;\r\n\t\t\t}\r\n\t\t\tfor (const category of this.data.categories) {\r\n\t\t\t\tif (category.listaRubroIdioma && category.rubRubro === categoryName) {\r\n\t\t\t\t\tfor (const language of category.listaRubroIdioma) {\r\n\t\t\t\t\t\tif (language.rubiIdioma === this.data.idioma.locale) {\r\n\t\t\t\t\t\t\treturn language.rubiTraduccion;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (language.rubiIdioma === languageByDefault) {\r\n\t\t\t\t\t\t\tcategoryNameByDef = language.rubiTraduccion;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn categoryNameByDef;\r\n\t}\r\n\r\n\ttranslateTokens(html: string, listData: any) {\r\n\t\tthis.alreadyCallReplaceTokens = false;\r\n\t\tconst lTokens: any[] = this.getListTokens(html);\r\n\t\tif (!lTokens || Object.keys(lTokens).length === 0) {\r\n\t\t\tthis.template = html;\r\n\t\t}\r\n\t\tthis.callListTokens(lTokens, html, listData);\r\n\t}\r\n\r\n\tcallListTokens(lTokens: any[], html: string, listData: any) {\r\n\t\tif (\r\n\t\t\tlTokens[TokenService.TOKEN_LABEL_CALCULATED] &&\r\n\t\t\tObject.keys(lTokens[TokenService.TOKEN_LABEL_CALCULATED]).length > 0\r\n\t\t) {\r\n\t\t\tif (this.lTokenCalculated) {\r\n\t\t\t\tthis.validateListTokens(lTokens, html, listData);\r\n\t\t\t} else {\r\n\t\t\t\tthis.tokenService.getListByPromCodigo(this.promCodigo).subscribe(\r\n\t\t\t\t\t(lTokenCalculated: Token[]) => {\r\n\t\t\t\t\t\tthis.lTokenCalculated = lTokenCalculated;\r\n\t\t\t\t\t\tthis.validateListTokens(lTokens, html, listData);\r\n\t\t\t\t\t},\r\n\t\t\t\t\t(error) => {\r\n\t\t\t\t\t\tconsole.error('Error callListTokens -getListByPromCodigo', error);\r\n\t\t\t\t\t\tthis.toastrService.error('Error generando carta');\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.validateListTokens(lTokens, html, listData);\r\n\t\t}\r\n\t\tif (\r\n\t\t\tlTokens[TokenService.TOKEN_LABEL_FORM] &&\r\n\t\t\tObject.keys(lTokens[TokenService.TOKEN_LABEL_FORM]).length > 0\r\n\t\t) {\r\n\t\t\tif (this.lFormFieldsToken) {\r\n\t\t\t\tthis.validateListTokens(lTokens, html, listData);\r\n\t\t\t} else {\r\n\t\t\t\tthis.tokenService.getFormFieldsByPromCode(this.promCodigo).then(\r\n\t\t\t\t\t(lFormFieldsToken: any[]) => {\r\n\t\t\t\t\t\tthis.lFormFieldsToken = lFormFieldsToken;\r\n\t\t\t\t\t\tthis.validateListTokens(lTokens, html, listData);\r\n\t\t\t\t\t},\r\n\t\t\t\t\t(error) => {\r\n\t\t\t\t\t\tconsole.error('Error callListTokens -getFormFieldsByPromCode', error);\r\n\t\t\t\t\t\tthis.toastrService.error('Error generando carta');\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.validateListTokens(lTokens, html, listData);\r\n\t\t}\r\n\t\tif (\r\n\t\t\tlTokens[TokenService.TOKEN_LABEL_STATIC] &&\r\n\t\t\tObject.keys(lTokens[TokenService.TOKEN_LABEL_STATIC]).length > 0\r\n\t\t) {\r\n\t\t\tif (this.uniqueVerificationCode !== null) {\r\n\t\t\t\tthis.validateListTokens(lTokens, html, listData);\r\n\t\t\t} else {\r\n\t\t\t\tconst tokenVerificationCode: any[] = lTokens[TokenService.TOKEN_LABEL_STATIC].find(\r\n\t\t\t\t\t(token) => {\r\n\t\t\t\t\t\tconst subToken: string[] = token.key\r\n\t\t\t\t\t\t\t.replace('{', '')\r\n\t\t\t\t\t\t\t.replace('}', '')\r\n\t\t\t\t\t\t\t.split('_');\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\tsubToken[1].toLowerCase() ==\r\n\t\t\t\t\t\t\tTokenService.STATIC_TOKENS_KEY_CODIGO_VERIFICACION.toLowerCase()\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t\t// Only if the static token is the unique verification code\r\n\t\t\t\tif (tokenVerificationCode && Object.keys(tokenVerificationCode).length > 0) {\r\n\t\t\t\t\tlet pliUsuarioObject = AuthenticationUtil.getPliUsuario();\r\n\t\t\t\t\tif (!pliUsuarioObject) {\r\n\t\t\t\t\t\tthis.uniqueVerificationCode = '';\r\n\t\t\t\t\t\tconsole.error(\r\n\t\t\t\t\t\t\t'No se logro consultar el usuario para consultar el token',\r\n\t\t\t\t\t\t\tpliUsuarioObject\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t\tthis.validateListTokens(lTokens, html, listData);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconst pliUsuario: PliUsuario = Object.assign(\r\n\t\t\t\t\t\t\tnew PliUsuario(),\r\n\t\t\t\t\t\t\tJSON.parse(JSON.stringify(pliUsuarioObject))\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t\tthis.authenticationService.getTokenByLogin(pliUsuario.usuLogin).subscribe(\r\n\t\t\t\t\t\t\t(sesion: sesion) => {\r\n\t\t\t\t\t\t\t\t// Try to get the unique verification code with the default value of sesion if is not a valid value\r\n\t\t\t\t\t\t\t\tconst sesionValue = sesion ? sesion.sesion : '1';\r\n\t\t\t\t\t\t\t\tthis.getUniqueVerificationCode(\r\n\t\t\t\t\t\t\t\t\tpliUsuario.usuLogin,\r\n\t\t\t\t\t\t\t\t\tsesionValue,\r\n\t\t\t\t\t\t\t\t\tlTokens,\r\n\t\t\t\t\t\t\t\t\thtml,\r\n\t\t\t\t\t\t\t\t\tlistData\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t(error) => {\r\n\t\t\t\t\t\t\t\tconsole.error(\r\n\t\t\t\t\t\t\t\t\t'Error consultando el login en PLIS, getTokenByLogin',\r\n\t\t\t\t\t\t\t\t\terror\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t// Try to get the unique verification code with the default value of sesion\r\n\t\t\t\t\t\t\t\tthis.getUniqueVerificationCode(\r\n\t\t\t\t\t\t\t\t\tpliUsuario.usuLogin,\r\n\t\t\t\t\t\t\t\t\t'1',\r\n\t\t\t\t\t\t\t\t\tlTokens,\r\n\t\t\t\t\t\t\t\t\thtml,\r\n\t\t\t\t\t\t\t\t\tlistData\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t//this.toastrService.error(\"Error generando carta\");\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.uniqueVerificationCode = '';\r\n\t\t\t\t\tthis.validateListTokens(lTokens, html, listData);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.validateListTokens(lTokens, html, listData);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Get the unique verification code and call validateListTokens method\r\n\t */\r\n\tgetUniqueVerificationCode(\r\n\t\tusuLogin: string,\r\n\t\tsesion: string,\r\n\t\tlTokens: any[],\r\n\t\thtml: string,\r\n\t\tlistData: any\r\n\t) {\r\n\t\tthis.tokenService.getUniqueVerificationCode(usuLogin, sesion).subscribe(\r\n\t\t\t(uniqueCodeValue: any) => {\r\n\t\t\t\tconst uniqueCode: string = uniqueCodeValue.codigoUnico;\r\n\t\t\t\tthis.uniqueVerificationCode =\r\n\t\t\t\t\tuniqueCode.substring(0, 4) + ' ' + uniqueCode.substring(4, 8);\r\n\t\t\t\tthis.validateListTokens(lTokens, html, listData);\r\n\t\t\t},\r\n\t\t\t(error) => {\r\n\t\t\t\tconsole.error('Error callListTokens -getListByPromCodigo', error);\r\n\t\t\t\tthis.toastrService.error('Error generando carta');\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tvalidateListTokens(lTokens: any[], html: string, listData: any) {\r\n\t\tlet finishLoadListForm: boolean = false;\r\n\t\tlet finishLoadListCalculated: boolean = false;\r\n\t\tlet finishLoadListStatic: boolean = false;\r\n\t\tconst finishLoadListBudget: boolean = true;\r\n\t\tif (\r\n\t\t\tlTokens[TokenService.TOKEN_LABEL_FORM] &&\r\n\t\t\tlTokens[TokenService.TOKEN_LABEL_FORM].length > 0\r\n\t\t) {\r\n\t\t\tfinishLoadListForm = this.lFormFieldsToken ? true : false;\r\n\t\t} else {\r\n\t\t\tfinishLoadListForm = true;\r\n\t\t}\r\n\t\tif (\r\n\t\t\tlTokens[TokenService.TOKEN_LABEL_CALCULATED] &&\r\n\t\t\tlTokens[TokenService.TOKEN_LABEL_CALCULATED].length > 0\r\n\t\t) {\r\n\t\t\tfinishLoadListCalculated = this.lTokenCalculated ? true : false;\r\n\t\t} else {\r\n\t\t\tfinishLoadListCalculated = true;\r\n\t\t}\r\n\t\tif (\r\n\t\t\tlTokens[TokenService.TOKEN_LABEL_STATIC] &&\r\n\t\t\tlTokens[TokenService.TOKEN_LABEL_STATIC].length > 0\r\n\t\t) {\r\n\t\t\tfinishLoadListStatic = this.uniqueVerificationCode !== null ? true : false;\r\n\t\t} else {\r\n\t\t\tfinishLoadListStatic = true;\r\n\t\t}\r\n\t\tif (\r\n\t\t\tfinishLoadListForm &&\r\n\t\t\tfinishLoadListBudget &&\r\n\t\t\tfinishLoadListStatic &&\r\n\t\t\tfinishLoadListCalculated &&\r\n\t\t\t!this.alreadyCallReplaceTokens\r\n\t\t) {\r\n\t\t\tthis.alreadyCallReplaceTokens = true;\r\n\t\t\tthis.replaceTokensWithData(lTokens, html, listData);\r\n\t\t}\r\n\t}\r\n\r\n\treplaceTokensWithData(lTokens: any[], html: string, listData: any) {\r\n\t\tconst lDataOrg: any[] = [];\r\n\t\tconst lFormFieldsTokenOrg: any[] = [];\r\n\t\tif (\r\n\t\t\t(lTokens[TokenService.TOKEN_LABEL_FORM] ||\r\n\t\t\t\tlTokens[TokenService.TOKEN_LABEL_CALCULATED]) &&\r\n\t\t\tlistData\r\n\t\t) {\r\n\t\t\tfor (const dataForm in listData) {\r\n\t\t\t\tlDataOrg[dataForm.toLowerCase()] = listData[dataForm];\r\n\t\t\t}\r\n\t\t\tif (this.lFormFieldsToken) {\r\n\t\t\t\tfor (const formFieldToken of this.lFormFieldsToken) {\r\n\t\t\t\t\tfor (const valuesField of formFieldToken.value) {\r\n\t\t\t\t\t\tconst keyToken: string =\r\n\t\t\t\t\t\t\t'${' + formFieldToken.title.key + '_' + valuesField.key + '}';\r\n\t\t\t\t\t\tlFormFieldsTokenOrg[keyToken] = valuesField;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tconst lTokensCalculated: any[] = [];\r\n\t\tif (lTokens[TokenService.TOKEN_LABEL_CALCULATED]) {\r\n\t\t\tif (this.lTokenCalculated) {\r\n\t\t\t\tfor (const tokenCal of this.lTokenCalculated) {\r\n\t\t\t\t\tlTokensCalculated[UtilString.replaceAccentSpacesOthers(tokenCal.name)] =\r\n\t\t\t\t\t\ttokenCal;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tlet typeToken: any;\r\n\t\tconst tokenTypeTranslated: any = [];\r\n\t\tfor (typeToken in lTokens) {\r\n\t\t\tif (!lTokens[typeToken]) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\tconst tokensType: any[] = lTokens[typeToken];\r\n\t\t\ttokenTypeTranslated[typeToken] = [];\r\n\t\t\tfor (const token of tokensType) {\r\n\t\t\t\tlet tokenTranslated = null;\r\n\t\t\t\tconst subToken: string[] = token.key.replace('{', '').replace('}', '').split('_');\r\n\t\t\t\tswitch (typeToken) {\r\n\t\t\t\t\tcase TokenService.TOKEN_LABEL_FORM: // Form\r\n\t\t\t\t\t\tlet valueData = null;\r\n\t\t\t\t\t\tconst dataOrgKey = subToken[1].toLowerCase();\r\n\t\t\t\t\t\t// Put this key because there no other way to differentiate the same key in differents forms\r\n\t\t\t\t\t\tconst dataOrgKeyByForm =\r\n\t\t\t\t\t\t\tsubToken[0].substring(1) + '_' + subToken[1].toLowerCase();\r\n\t\t\t\t\t\tconst dataOrgValue = lDataOrg.hasOwnProperty(dataOrgKey)\r\n\t\t\t\t\t\t\t? lDataOrg[dataOrgKey]\r\n\t\t\t\t\t\t\t: lDataOrg.hasOwnProperty(dataOrgKeyByForm)\r\n\t\t\t\t\t\t\t? lDataOrg[dataOrgKeyByForm]\r\n\t\t\t\t\t\t\t: null;\r\n\t\t\t\t\t\t// const dataOrgValueByForm = lDataOrg[dataOrgKeyByForm];\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\tsubToken.length === 3 &&\r\n\t\t\t\t\t\t\ttypeof dataOrgValue !== 'undefined' &&\r\n\t\t\t\t\t\t\tdataOrgValue !== null &&\r\n\t\t\t\t\t\t\tdataOrgValue.hasOwnProperty(subToken[2])\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tvalueData = dataOrgValue[subToken[2]];\r\n\t\t\t\t\t\t} else if (\r\n\t\t\t\t\t\t\tsubToken.length === 2 &&\r\n\t\t\t\t\t\t\ttypeof dataOrgValue !== 'undefined' &&\r\n\t\t\t\t\t\t\tdataOrgValue !== null\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tvalueData = dataOrgValue;\r\n\t\t\t\t\t\t\tif (lFormFieldsTokenOrg[token.key]) {\r\n\t\t\t\t\t\t\t\tvalueData = this.tokenService.getValueFromFormField(\r\n\t\t\t\t\t\t\t\t\tlFormFieldsTokenOrg[token.key],\r\n\t\t\t\t\t\t\t\t\tvalueData\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tvalueData = valueData ? valueData : '';\r\n\t\t\t\t\t\ttokenTranslated = valueData;\r\n\t\t\t\t\t\thtml = this.tokenService.replaceToken(html, token.value, valueData);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase TokenService.TOKEN_LABEL_BUDGET: //Budget\r\n\t\t\t\t\t\tconst budgetResolveToken = this.resolveBudgetToken(html, token, subToken);\r\n\t\t\t\t\t\thtml = budgetResolveToken.html;\r\n\t\t\t\t\t\ttokenTranslated = budgetResolveToken.value;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase TokenService.TOKEN_LABEL_TASKL: //Task\r\n\t\t\t\t\t\tconst taskResolveToken = this.resolveTaskoken(html, token, subToken);\r\n\t\t\t\t\t\thtml = taskResolveToken.html;\r\n\t\t\t\t\t\ttokenTranslated = taskResolveToken.value;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase TokenService.TOKEN_LABEL_STATIC: //Static\r\n\t\t\t\t\t\tconst staticResolveToken = this.resolveStaticToken(html, token, subToken);\r\n\t\t\t\t\t\thtml = staticResolveToken.html;\r\n\t\t\t\t\t\ttokenTranslated = staticResolveToken.value;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase TokenService.TOKEN_LABEL_CALCULATED: //Calculated\r\n\t\t\t\t\t\t// Replaces de tokens of the formula\r\n\t\t\t\t\t\tconst tokenName: string = lTokensCalculated[subToken[1]].name;\r\n\t\t\t\t\t\tlet formula: string = lTokensCalculated[subToken[1]].formula;\r\n\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\t//AQUI\r\n\t\t\t\t\t\t\tformula = this.tokenService.replaceTokensFromListObject(\r\n\t\t\t\t\t\t\t\ttokenName,\r\n\t\t\t\t\t\t\t\tformula,\r\n\t\t\t\t\t\t\t\tlDataOrg\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t} catch (error) {\r\n\t\t\t\t\t\t\tformula = null;\r\n\t\t\t\t\t\t\tconsole.error(error.error ? error.error : error);\r\n\t\t\t\t\t\t\tthis.toastrService.warning(error.message, error.tittle);\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t// Try to evaluate the formula\r\n\t\t\t\t\t\tlet result: any = null;\r\n\t\t\t\t\t\tif (formula !== null) {\r\n\t\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\t\tresult = formula.startsWith('file://')\r\n\t\t\t\t\t\t\t\t\t? \"<img width='250px' height='auto' src='\" + formula + \"'/>\"\r\n\t\t\t\t\t\t\t\t\t: eval(formula);\r\n\t\t\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t\t\t\tconsole.error(\r\n\t\t\t\t\t\t\t\t\t'Error evaluating the formula.',\r\n\t\t\t\t\t\t\t\t\tlTokensCalculated,\r\n\t\t\t\t\t\t\t\t\tsubToken,\r\n\t\t\t\t\t\t\t\t\te\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tthis.toastrService.error(\r\n\t\t\t\t\t\t\t\t\t'No se logro evaluar la formular del token ' + tokenName,\r\n\t\t\t\t\t\t\t\t\t'Error!'\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (result !== null) {\r\n\t\t\t\t\t\t\t\thtml = this.tokenService.replaceToken(html, token.value, result);\r\n\t\t\t\t\t\t\t\ttokenTranslated = result;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\ttokenTypeTranslated[typeToken][token.key] = tokenTranslated;\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.onGenerate.emit({\r\n\t\t\thtml: html,\r\n\t\t\ttokenTypeTranslated: tokenTypeTranslated\r\n\t\t});\r\n\t\t// }\r\n\t}\r\n\r\n\t/**\r\n\t * Try to find the budget info to translate the token.\r\n\t * @param html\r\n\t * @param token\r\n\t * @param subToken\r\n\t */\r\n\tresolveBudgetToken(html: string, token: any, subToken: string[]): any {\r\n\t\tlet tpresCodigo: number = Number(subToken[1]);\r\n\t\tlet tokenValue: string = subToken[2];\r\n\t\tlet budgetDto: BudgetDto = null;\r\n\t\tlet idTotalBudget: string = null;\r\n\t\tif (\r\n\t\t\tthis.budgetDtoPrimary &&\r\n\t\t\tthis.budgetDtoPrimary.budget &&\r\n\t\t\ttpresCodigo == ETipoPresupuesto.PRIMARY\r\n\t\t) {\r\n\t\t\tbudgetDto = this.budgetDtoPrimary;\r\n\t\t\tidTotalBudget = 'pli-token-principal-budget-total-summary';\r\n\t\t} else if (\r\n\t\t\tthis.budgetDtoSecundary &&\r\n\t\t\tthis.budgetDtoSecundary.budget &&\r\n\t\t\ttpresCodigo == ETipoPresupuesto.SECONDARY\r\n\t\t) {\r\n\t\t\tbudgetDto = this.budgetDtoSecundary;\r\n\t\t\tidTotalBudget = 'pli-token-secundary-budget-total-summary';\r\n\t\t}\r\n\t\tif (budgetDto === null || !budgetDto.budget) {\r\n\t\t\tconsole.error(\r\n\t\t\t\t'No se logro encontrar el presupuesto del token.',\r\n\t\t\t\ttoken,\r\n\t\t\t\tthis.budgetDtoPrimary,\r\n\t\t\t\tthis.budgetDtoSecundary\r\n\t\t\t);\r\n\t\t\treturn {\r\n\t\t\t\thtml: html,\r\n\t\t\t\tvalue: null\r\n\t\t\t};\r\n\t\t}\r\n\t\tlet valueData = null;\r\n\t\tconst applicationProcess =\r\n\t\t\ttokenValue == TokenService.BUDGET_TOKENS_KEY_APPLICATION_PROCESS_TOTAL_AMOUNT ||\r\n\t\t\ttokenValue == TokenService.BUDGET_TOKENS_KEY_APPLICATION_PROCESS_TOTAL_OWN_FOUNDS ||\r\n\t\t\ttokenValue == TokenService.BUDGET_TOKENS_KEY_APPLICATION_PROCESS_TOTAL_FINANCING;\r\n\t\tconst legalizationProcess =\r\n\t\t\ttokenValue == TokenService.BUDGET_TOKENS_KEY_LEGALIZATION_PROCESS_TOTAL_AMOUNT ||\r\n\t\t\ttokenValue == TokenService.BUDGET_TOKENS_KEY_LEGALIZATION_PROCESS_TOTAL_OWN_FOUNDS ||\r\n\t\t\ttokenValue == TokenService.BUDGET_TOKENS_KEY_LEGALIZATION_PROCESS_TOTAL_FINANCING;\r\n\r\n\t\tif (tokenValue == TokenService.BUDGET_TOKENS_KEY_TOTAL_AMOUNT) {\r\n\t\t\tvalueData =\r\n\t\t\t\tbudgetDto.budget && budgetDto.budget.summary\r\n\t\t\t\t\t? this.currencyPipe.transform(\r\n\t\t\t\t\t\t\tbudgetDto.budget.summary.budgetTotal,\r\n\t\t\t\t\t\t\t'default',\r\n\t\t\t\t\t\t\t'',\r\n\t\t\t\t\t\t\t'1.0-0'\r\n\t\t\t\t\t )\r\n\t\t\t\t\t: 0;\r\n\t\t} else if (tokenValue == TokenService.BUDGET_TOKENS_KEY_RESUME_CATEGORY_YEAR) {\r\n\t\t\t// this.addInfoTokenResumeCategoryYear(tpresCodigo, idTotalBudget, budgetDto);\r\n\t\t\tthis.addInfoTokenResumeCategoryYear(tpresCodigo, idTotalBudget, budgetDto);\r\n\t\t\tconst pliTokenTotalBudget = document.getElementById(idTotalBudget);\r\n\t\t\tif (pliTokenTotalBudget) {\r\n\t\t\t\tvalueData = this.removeCommentsHtml(pliTokenTotalBudget.innerHTML);\r\n\t\t\t} else {\r\n\t\t\t\tconsole.log('pliTokenTotalBudget - NULL', pliTokenTotalBudget);\r\n\t\t\t}\r\n\t\t} else if (tokenValue == TokenService.BUDGET_TOKENS_KEY_FECHA_FINANCING_START) {\r\n\t\t\tvalueData =\r\n\t\t\t\tbudgetDto.budget && budgetDto.budget.financingStart\r\n\t\t\t\t\t? budgetDto.budget.financingStart\r\n\t\t\t\t\t: '';\r\n\r\n\t\t\thtml = this.tokenService.replaceToken(\r\n\t\t\t\thtml,\r\n\t\t\t\ttoken.value,\r\n\t\t\t\tvalueData,\r\n\t\t\t\tthis.data?.idioma?.locale\r\n\t\t\t);\r\n\t\t} else if (tokenValue == TokenService.BUDGET_TOKENS_KEY_FECHA_FINANCING_END) {\r\n\t\t\tvalueData =\r\n\t\t\t\tbudgetDto.budget && budgetDto.budget.financingEnd\r\n\t\t\t\t\t? budgetDto.budget.financingEnd\r\n\t\t\t\t\t: '';\r\n\r\n\t\t\thtml = this.tokenService.replaceToken(\r\n\t\t\t\thtml,\r\n\t\t\t\ttoken.value,\r\n\t\t\t\tvalueData,\r\n\t\t\t\tthis.data?.idioma?.locale\r\n\t\t\t);\r\n\t\t} else if (tokenValue == TokenService.BUDGET_TOKENS_DURATION_STUDIES) {\r\n\t\t\tvalueData =\r\n\t\t\t\tbudgetDto.budget && budgetDto.budget.studyStart && budgetDto.budget.studyEnd\r\n\t\t\t\t\t? DateUtil.elapsedMonths(\r\n\t\t\t\t\t\t\tbudgetDto.budget.studyStart,\r\n\t\t\t\t\t\t\tbudgetDto.budget.studyEnd\r\n\t\t\t\t\t ) + 1\r\n\t\t\t\t\t: '';\r\n\t\t} else if (tokenValue == TokenService.BUDGET_TOKENS_FINANCING_DURATION) {\r\n\t\t\tvalueData =\r\n\t\t\t\tbudgetDto.budget && budgetDto.budget.financingEnd && budgetDto.budget.financingStart\r\n\t\t\t\t\t? DateUtil.elapsedMonths(\r\n\t\t\t\t\t\t\tbudgetDto.budget.financingStart,\r\n\t\t\t\t\t\t\tbudgetDto.budget.financingEnd\r\n\t\t\t\t\t ) + 1\r\n\t\t\t\t\t: '';\r\n\t\t} else if (tokenValue == TokenService.LEGALIZATION_OR_APPLICATION_TOTAL_FINANCING) {\r\n\t\t\t// JMP - Mantis 6674 - Add logic to legalization or application total financing\r\n\t\t\tif (\r\n\t\t\t\tthis.data &&\r\n\t\t\t\tthis.data.dataFormApplication &&\r\n\t\t\t\tthis.data.dataFormApplication.budget\r\n\t\t\t) {\r\n\t\t\t\tconst budget = this.data.dataFormApplication.budget;\r\n\r\n\t\t\t\tif (budget.legalizationProcess && budget.legalizationProcess.totalFinancing) {\r\n\t\t\t\t\tconst totalFinancing = Number(budget.legalizationProcess.totalFinancing);\r\n\t\t\t\t\tvalueData = totalFinancing * 1.003;\r\n\t\t\t\t} else if (budget.applicationProcess && budget.applicationProcess.totalFinancing) {\r\n\t\t\t\t\tvalueData = Number(budget.applicationProcess.totalFinancing);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else if (\r\n\t\t\t(applicationProcess || legalizationProcess) &&\r\n\t\t\tthis.data &&\r\n\t\t\tthis.data.dataFormApplication &&\r\n\t\t\tthis.data.dataFormApplication.budget\r\n\t\t) {\r\n\t\t\t// Get the total budget amount depend of the process\r\n\t\t\tconst appBudgetTotal: ApplicationBudgetTotal = applicationProcess\r\n\t\t\t\t? this.data.dataFormApplication.budget.applicationProcess\r\n\t\t\t\t: this.data.dataFormApplication.budget.legalizationProcess;\r\n\t\t\tif (appBudgetTotal != undefined && appBudgetTotal != null) {\r\n\t\t\t\t// no matter the process, the class is the same\r\n\t\t\t\tswitch (tokenValue) {\r\n\t\t\t\t\tcase TokenService.BUDGET_TOKENS_KEY_APPLICATION_PROCESS_TOTAL_AMOUNT:\r\n\t\t\t\t\tcase TokenService.BUDGET_TOKENS_KEY_LEGALIZATION_PROCESS_TOTAL_AMOUNT:\r\n\t\t\t\t\t\tvalueData = appBudgetTotal.totalAmount;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase TokenService.BUDGET_TOKENS_KEY_APPLICATION_PROCESS_TOTAL_OWN_FOUNDS:\r\n\t\t\t\t\tcase TokenService.BUDGET_TOKENS_KEY_LEGALIZATION_PROCESS_TOTAL_OWN_FOUNDS:\r\n\t\t\t\t\t\tvalueData = appBudgetTotal.totalOwnFunds;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase TokenService.BUDGET_TOKENS_KEY_APPLICATION_PROCESS_TOTAL_FINANCING:\r\n\t\t\t\t\tcase TokenService.BUDGET_TOKENS_KEY_LEGALIZATION_PROCESS_TOTAL_FINANCING:\r\n\t\t\t\t\t\tvalueData = appBudgetTotal.totalFinancing;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else if (tokenValue == TokenService.BUDGET_TOKENS_KEY_INSURANCE_AMOUNT) {\r\n\t\t\tlet totalFinancing =\r\n\t\t\t\tthis.data.dataFormApplication.budget.legalizationProcess &&\r\n\t\t\t\tthis.data.dataFormApplication.budget.legalizationProcess.totalFinancing;\r\n\t\t\ttotalFinancing =\r\n\t\t\t\ttotalFinancing == undefined || totalFinancing == null ? 0 : Number(totalFinancing);\r\n\t\t\t// let totalInsuranceAmount = this.data.dataFormApplication.totalInsuranceAmount;\r\n\t\t\t// totalInsuranceAmount =\r\n\t\t\t// \ttotalInsuranceAmount == undefined || totalInsuranceAmount == null\r\n\t\t\t// \t\t? 0\r\n\t\t\t// \t\t: Number(totalInsuranceAmount);\r\n\t\t\tvalueData = totalFinancing * 1.003;\r\n\t\t} else {\r\n\t\t\t// When the token can't be resolve\r\n\t\t\tconsole.error('resolveBudgetToken -No se logro resolver el token de tipo presupuesto');\r\n\t\t}\r\n\t\tvalueData = valueData === null ? '' : valueData;\r\n\t\thtml = this.tokenService.replaceToken(html, token.value, valueData);\r\n\t\treturn {\r\n\t\t\thtml: html,\r\n\t\t\tvalue: valueData\r\n\t\t};\r\n\t}\r\n\tresolveTaskoken(html: string, token: any, subToken: string[]): any {\r\n\t\tlet valueTask = null;\r\n\t\tif (subToken.length > 2) {\r\n\t\t\tlet taskId = Number(subToken[2]);\r\n\t\t\tlet task = this.evaluation.tasks.find((t) => t.idTask == taskId);\r\n\t\t\tvalueTask = task.result;\r\n\t\t}\r\n\t\thtml = this.tokenService.replaceToken(html, token.value, valueTask);\r\n\t\treturn {\r\n\t\t\thtml: html,\r\n\t\t\tvalue: valueTask\r\n\t\t};\r\n\t}\r\n\r\n\tresolveStaticToken(html: string, token: any, subToken: string[]): any {\r\n\t\tlet valueReplace: any = null;\r\n\t\tif (\r\n\t\t\tsubToken[1].toLowerCase() ==\r\n\t\t\tTokenService.STATIC_TOKENS_KEY_CODIGO_VERIFICACION.toLowerCase()\r\n\t\t) {\r\n\t\t\tvalueReplace = this.uniqueVerificationCode;\r\n\t\t\thtml = this.tokenService.replaceToken(html, token.value, this.uniqueVerificationCode);\r\n\t\t} else if (\r\n\t\t\tsubToken[1].toLowerCase() ==\r\n\t\t\tTokenService.STATIC_TOKENS_KEY_A_QUIEN_VA_DIRIGIDO.toLowerCase()\r\n\t\t) {\r\n\t\t\t// if (this.data.dataDestination) {\r\n\t\t\thtml = this.resolveStaticTokensKeyAQuienVaDirigido(html, token.value);\r\n\t\t\tvalueReplace = '';\r\n\t\t\t// }\r\n\t\t} else if (\r\n\t\t\tsubToken[1].toLowerCase() == TokenService.STATIC_TOKENS_KEY_LETTER_SIGN.toLowerCase()\r\n\t\t) {\r\n\t\t\thtml = this.resolveStaticTokensKeySign(html, token.value, subToken);\r\n\t\t\tvalueReplace = '';\r\n\t\t} else if (\r\n\t\t\tsubToken[1].toLowerCase() ==\r\n\t\t\tTokenService.STATIC_TOKENS_KEY_SALUDO_COMPLEMENTARIO.toLowerCase()\r\n\t\t) {\r\n\t\t\t// if (this.data.dataDestination) {\r\n\t\t\thtml = this.resolveStaticTokensKeySaludoComplementario(html, token.value);\r\n\t\t\tvalueReplace = '';\r\n\t\t\t// }\r\n\t\t} else if (\r\n\t\t\tsubToken[1].toLowerCase() == TokenService.STATIC_TOKENS_KEY_FECHA_ACTUAL.toLowerCase()\r\n\t\t) {\r\n\t\t\tvalueReplace = new Date();\r\n\t\t\thtml = this.tokenService.replaceToken(html, token.value, new Date());\r\n\t\t} else if (\r\n\t\t\tsubToken[1].toLowerCase() == TokenService.STATIC_TOKENS_KEY_PATROCINADOR.toLowerCase()\r\n\t\t) {\r\n\t\t\tconst patNombre =\r\n\t\t\t\tthis.data.pliPromocion &&\r\n\t\t\t\tthis.data.pliPromocion.pliPrograma &&\r\n\t\t\t\tthis.data.pliPromocion.pliPrograma.pliPatrocinador\r\n\t\t\t\t\t? this.data.pliPromocion.pliPrograma.pliPatrocinador.patNombre\r\n\t\t\t\t\t: '';\r\n\t\t\tvalueReplace = patNombre;\r\n\t\t\thtml = this.tokenService.replaceToken(html, token.value, patNombre);\r\n\t\t} else if (\r\n\t\t\tsubToken[1].toLowerCase() == TokenService.STATIC_TOKENS_KEY_PROGRAMA.toLowerCase()\r\n\t\t) {\r\n\t\t\tconst progNombre =\r\n\t\t\t\tthis.data.pliPromocion && this.data.pliPromocion.pliPrograma\r\n\t\t\t\t\t? this.data.pliPromocion.pliPrograma.progNombre\r\n\t\t\t\t\t: '';\r\n\t\t\tvalueReplace = progNombre;\r\n\t\t\thtml = this.tokenService.replaceToken(html, token.value, progNombre);\r\n\t\t} else if (\r\n\t\t\tsubToken[1].toLowerCase() == TokenService.STATIC_TOKENS_KEY_PROMOCION.toLowerCase()\r\n\t\t) {\r\n\t\t\tconst promNombre = this.data.pliPromocion ? this.data.pliPromocion.promNombre : '';\r\n\t\t\tvalueReplace = promNombre;\r\n\t\t\thtml = this.tokenService.replaceToken(html, token.value, promNombre);\r\n\t\t} else if (\r\n\t\t\tsubToken[1].toLowerCase() == TokenService.STATIC_TOKENS_KEY_ANIO_PROMOCION.toLowerCase()\r\n\t\t) {\r\n\t\t\tconst anioPromocion =\r\n\t\t\t\tthis.data.pliPromocion && this.data.pliPromocion.promAnio\r\n\t\t\t\t\t? this.data.pliPromocion.promAnio\r\n\t\t\t\t\t: 0;\r\n\t\t\tvalueReplace = anioPromocion;\r\n\t\t\thtml = this.tokenService.replaceToken(html, token.value, anioPromocion);\r\n\t\t} else if (\r\n\t\t\tsubToken[1].toLowerCase() ==\r\n\t\t\tTokenService.STATIC_TOKENS_KEY_ISO_MONEDA_BASE.toLowerCase()\r\n\t\t) {\r\n\t\t\tconst baseCurrency =\r\n\t\t\t\tthis.data.budgetDtoPrimary && this.data.budgetDtoPrimary.budget\r\n\t\t\t\t\t? this.data.budgetDtoPrimary.budget.baseCurrency\r\n\t\t\t\t\t: this.data.budgetDtoSecundary && this.data.budgetDtoSecundary.budget\r\n\t\t\t\t\t? this.data.budgetDtoSecundary.budget.baseCurrency\r\n\t\t\t\t\t: '';\r\n\t\t\tvalueReplace = baseCurrency;\r\n\t\t\thtml = this.tokenService.replaceToken(html, token.value, baseCurrency);\r\n\t\t} else if (\r\n\t\t\tsubToken[1].toLowerCase() == TokenService.STATIC_TOKENS_KEY_STATUS_NAME.toLowerCase()\r\n\t\t) {\r\n\t\t\tconst statusName =\r\n\t\t\t\tthis.data.dataFormApplication &&\r\n\t\t\t\tUtilString.isValid(this.data.dataFormApplication.stateName)\r\n\t\t\t\t\t? this.data.dataFormApplication.stateName\r\n\t\t\t\t\t: '';\r\n\t\t\tvalueReplace = statusName;\r\n\t\t\thtml = this.tokenService.replaceToken(html, token.value, statusName);\r\n\t\t} else if (\r\n\t\t\tsubToken[1].toLowerCase() == TokenService.STATIC_TOKENS_KEY_USER_INITIALS.toLowerCase()\r\n\t\t) {\r\n\t\t\tconst pliUser: PliUser = AuthenticationUtil.getPliUser();\r\n\t\t\tvalueReplace = UtilString.initialLetters(pliUser.firstname + ' ' + pliUser.lastname);\r\n\t\t\thtml = this.tokenService.replaceToken(html, token.value, valueReplace);\r\n\t\t} else if (\r\n\t\t\tsubToken[1].toLowerCase() ==\r\n\t\t\tTokenService.STATIC_TOKENS_KEY_NUMBER_APPLICATION.toLowerCase()\r\n\t\t) {\r\n\t\t\tconst number =\r\n\t\t\t\tthis.data.dataFormApplication && this.data.dataFormApplication.number\r\n\t\t\t\t\t? this.data.dataFormApplication.number\r\n\t\t\t\t\t: null;\r\n\t\t\tvalueReplace = number;\r\n\t\t\thtml = this.tokenService.replaceToken(html, token.value, number);\r\n\t\t} else if (\r\n\t\t\tsubToken[1].toLowerCase() == TokenService.STATIC_TOKENS_COMMITTEE_NAME.toLowerCase()\r\n\t\t) {\r\n\t\t\tconst comiteNombre =\r\n\t\t\t\tthis.data.dataFormByForm && this.data.dataFormByForm.comiteNombre\r\n\t\t\t\t\t? this.data.dataFormByForm.comiteNombre\r\n\t\t\t\t\t: null;\r\n\t\t\tvalueReplace = comiteNombre;\r\n\t\t\thtml = this.tokenService.replaceToken(html, token.value, comiteNombre);\r\n\t\t} else if (\r\n\t\t\tsubToken[1].toLowerCase() ==\r\n\t\t\tTokenService.STATIC_TOKENS_COMMITTEE_SEGMENTATION.toLowerCase()\r\n\t\t) {\r\n\t\t\tconst comiteSegmentacion =\r\n\t\t\t\tthis.data.dataFormByForm &&\r\n\t\t\t\tthis.data.dataFormByForm[TokenService.STATIC_TOKENS_COMMITTEE_SEGMENTATION]\r\n\t\t\t\t\t? this.data.dataFormByForm[TokenService.STATIC_TOKENS_COMMITTEE_SEGMENTATION]\r\n\t\t\t\t\t: null;\r\n\t\t\tvalueReplace = comiteSegmentacion;\r\n\t\t\thtml = this.tokenService.replaceToken(html, token.value, comiteSegmentacion);\r\n\t\t} else if (\r\n\t\t\tsubToken[1].toLowerCase() ==\r\n\t\t\tTokenService.STATIC_TOKENS_COMMITTEE_AGGRUPATION.toLowerCase()\r\n\t\t) {\r\n\t\t\tconst comiteAgrupacion =\r\n\t\t\t\tthis.data.dataFormByForm &&\r\n\t\t\t\tthis.data.dataFormByForm[TokenService.STATIC_TOKENS_COMMITTEE_AGGRUPATION]\r\n\t\t\t\t\t? this.data.dataFormByForm[TokenService.STATIC_TOKENS_COMMITTEE_AGGRUPATION]\r\n\t\t\t\t\t: null;\r\n\t\t\tvalueReplace = comiteAgrupacion;\r\n\t\t\thtml = this.tokenService.replaceToken(html, token.value, comiteAgrupacion);\r\n\t\t} else if (\r\n\t\t\tsubToken[1].toLowerCase() ==\r\n\t\t\tTokenService.STATIC_TOKENS_COMMITTEE_CUTLINE_DATE.toLowerCase()\r\n\t\t) {\r\n\t\t\tlet cutLineDate =\r\n\t\t\t\tthis.data.dataFormByForm &&\r\n\t\t\t\tthis.data.dataFormByForm[TokenService.STATIC_TOKENS_COMMITTEE_CUTLINE_DATE]\r\n\t\t\t\t\t? this.data.dataFormByForm[TokenService.STATIC_TOKENS_COMMITTEE_CUTLINE_DATE]\r\n\t\t\t\t\t: null;\r\n\t\t\tif (cutLineDate instanceof Date) {\r\n\t\t\t\tcutLineDate = cutLineDate.toString();\r\n\t\t\t}\r\n\t\t\tvalueReplace = cutLineDate;\r\n\t\t\thtml = this.tokenService.replaceToken(html, token.value, cutLineDate);\r\n\t\t} else if (\r\n\t\t\tsubToken[1].toLowerCase() == TokenService.STATIC_TOKENS_TOTAL_WEIGHTED.toLowerCase()\r\n\t\t) {\r\n\t\t\tlet bestScenarioValue: any = '';\r\n\t\t\tif (this.evaluation && this.evaluation.scenarios) {\r\n\t\t\t\tlet bestScenario = this.evaluation.scenarios.filter((s) => s.best)[0];\r\n\t\t\t\tif (bestScenario) {\r\n\t\t\t\t\tbestScenarioValue = bestScenario.result;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\thtml = this.tokenService.replaceToken(html, token.value, bestScenarioValue);\r\n\t\t} else if (\r\n\t\t\tsubToken[1].toLowerCase() ==\r\n\t\t\tTokenService.STATIC_TOKENS_USER_TYPE_CREDIT_STUDY.toLowerCase()\r\n\t\t) {\r\n\t\t\tconst userTypeCreditStudy =\r\n\t\t\t\tthis.data.dataFormByForm &&\r\n\t\t\t\tthis.data.dataFormByForm[TokenService.STATIC_TOKENS_USER_TYPE_CREDIT_STUDY]\r\n\t\t\t\t\t? this.data.dataFormByForm[TokenService.STATIC_TOKENS_USER_TYPE_CREDIT_STUDY]\r\n\t\t\t\t\t: null;\r\n\t\t\tvalueReplace = userTypeCreditStudy;\r\n\t\t\thtml = this.tokenService.replaceToken(html, token.value, userTypeCreditStudy);\r\n\t\t} else if (\r\n\t\t\tsubToken[1].toLowerCase() == TokenService.STATIC_TOKENS_BEN_CODIGO.toLowerCase()\r\n\t\t) {\r\n\t\t\tvalueReplace = this.data.dataFormApplication.benCodigo;\r\n\t\t\thtml = this.tokenService.replaceToken(\r\n\t\t\t\thtml,\r\n\t\t\t\ttoken.value,\r\n\t\t\t\tthis.data.dataFormApplication.benCodigo\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\t// Don't find the token\r\n\t\t\tconsole.error('No se encontro el token', token);\r\n\t\t\thtml = this.tokenService.replaceToken(html, token.value, '');\r\n\t\t}\r\n\t\treturn {\r\n\t\t\thtml: html,\r\n\t\t\tvalue: valueReplace\r\n\t\t};\r\n\t}\r\n\r\n\t/**\r\n\t * Find all the tokens present in the HTML text. Organize this tokens in four categories.\r\n\t * @param html Text of the html\r\n\t */\r\n\tgetListTokens(html: string): any[] {\r\n\t\t// let strings: string[] = html.split(\" \");\r\n\t\tlet tokens: any[] = this.tokenService.getListTokensByString(html);\r\n\t\tlet tokensCategory: any[] = [];\r\n\t\tfor (let infoToken of tokens) {\r\n\t\t\tif (infoToken) {\r\n\t\t\t\tconst keyType: number = TokenService.getKeyType(\r\n\t\t\t\t\tinfoToken.key.replace('{', '').replace('}', '')\r\n\t\t\t\t);\r\n\t\t\t\tif (keyType) {\r\n\t\t\t\t\tswitch (keyType) {\r\n\t\t\t\t\t\tcase 1: // Form\r\n\t\t\t\t\t\t\tif (!tokensCategory[TokenService.TOKEN_LABEL_FORM]) {\r\n\t\t\t\t\t\t\t\ttokensCategory[TokenService.TOKEN_LABEL_FORM] = [];\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\ttokensCategory[TokenService.TOKEN_LABEL_FORM].push(infoToken);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 2: //Budget\r\n\t\t\t\t\t\t\tif (!tokensCategory[TokenService.TOKEN_LABEL_BUDGET]) {\r\n\t\t\t\t\t\t\t\ttokensCategory[TokenService.TOKEN_LABEL_BUDGET] = [];\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\ttokensCategory[TokenService.TOKEN_LABEL_BUDGET].push(infoToken);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 3: //Static\r\n\t\t\t\t\t\t\tif (!tokensCategory[TokenService.TOKEN_LABEL_STATIC]) {\r\n\t\t\t\t\t\t\t\ttokensCategory[TokenService.TOKEN_LABEL_STATIC] = [];\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\ttokensCategory[TokenService.TOKEN_LABEL_STATIC].push(infoToken);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 4: //Calculated\r\n\t\t\t\t\t\t\tif (!tokensCategory[TokenService.TOKEN_LABEL_CALCULATED]) {\r\n\t\t\t\t\t\t\t\ttokensCategory[TokenService.TOKEN_LABEL_CALCULATED] = [];\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\ttokensCategory[TokenService.TOKEN_LABEL_CALCULATED].push(infoToken);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 5: //Task\r\n\t\t\t\t\t\t\tif (!tokensCategory[TokenService.TOKEN_LABEL_TASKL]) {\r\n\t\t\t\t\t\t\t\ttokensCategory[TokenService.TOKEN_LABEL_TASKL] = [];\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\ttokensCategory[TokenService.TOKEN_LABEL_TASKL].push(infoToken);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn tokensCategory;\r\n\t}\r\n\r\n\t/**\r\n\t * It resolves the static token destination\r\n\t * @param stringText\r\n\t * @param token\r\n\t * @param dataValue\r\n\t */\r\n\tresolveStaticTokensKeyAQuienVaDirigido(stringText: string, tokenValue: any): string {\r\n\t\t// if (this.data.dataDestination) {\r\n\t\tthis.enableDestination = true;\r\n\t\tthis.addInfoTokenDestination();\r\n\t\tconst pliTokenDestination = document.getElementById('pli-token-destination');\r\n\t\tlet html = '';\r\n\t\tif (pliTokenDestination && pliTokenDestination.innerHTML.length > 0) {\r\n\t\t\thtml = this.removeCommentsHtml(pliTokenDestination.innerHTML);\r\n\t\t}\r\n\t\treturn this.tokenService.replaceToken(stringText, tokenValue, html);\r\n\t\t// }\r\n\t\t// return stringText;\r\n\t}\r\n\r\n\t/**\r\n\t *\r\n\t */\r\n\taddInfoTokenDestination() {\r\n\t\tlet pliTokenDestination = $('#pli-token-destination');\r\n\t\tpliTokenDestination.empty();\r\n\t\tif (this.data.dataDestination) {\r\n\t\t\tlet destinationInfo = $('<div></div>');\r\n\t\t\tif (this.data.dataDestination.text) {\r\n\t\t\t\tlet valueInfo = $('<div></div>').text(this.data.dataDestination.text);\r\n\t\t\t\tdestinationInfo.append(valueInfo);\r\n\t\t\t}\r\n\t\t\tif (this.data.dataDestination.title) {\r\n\t\t\t\tlet valueInfo = $('<div></div>').text(this.data.dataDestination.title);\r\n\t\t\t\tdestinationInfo.append(valueInfo);\r\n\t\t\t}\r\n\t\t\tif (this.data.dataDestination.name || this.data.dataDestination.lastName) {\r\n\t\t\t\tlet valueInfoName = this.data.dataDestination.name\r\n\t\t\t\t\t? this.data.dataDestination.name + ' '\r\n\t\t\t\t\t: '';\r\n\t\t\t\tvalueInfoName += this.data.dataDestination.lastName\r\n\t\t\t\t\t? this.data.dataDestination.lastName\r\n\t\t\t\t\t: '';\r\n\t\t\t\tlet valueInfo = $('<div></div>').append('<strong>' + valueInfoName + '</strong>');\r\n\t\t\t\tdestinationInfo.append(valueInfo);\r\n\t\t\t}\r\n\t\t\tif (this.data.dataDestination.cargo) {\r\n\t\t\t\tlet valueInfo = $('<div></div>').text(this.data.dataDestination.cargo);\r\n\t\t\t\tdestinationInfo.append(valueInfo);\r\n\t\t\t}\r\n\t\t\tif (this.data.dataDestination.occupation) {\r\n\t\t\t\tlet valueInfo = $('<div></div>').text(this.data.dataDestination.occupation);\r\n\t\t\t\tdestinationInfo.append(valueInfo);\r\n\t\t\t}\r\n\t\t\tif (this.data.dataDestination.company) {\r\n\t\t\t\tlet valueInfo = $('<div></div>').text(this.data.dataDestination.company);\r\n\t\t\t\tdestinationInfo.append(valueInfo);\r\n\t\t\t}\r\n\t\t\tif (this.data.dataDestination.address || this.data.dataDestination.addressDetails) {\r\n\t\t\t\tlet valueInfoName = this.data.dataDestination.address\r\n\t\t\t\t\t? this.data.dataDestination.address + ' '\r\n\t\t\t\t\t: '';\r\n\t\t\t\tvalueInfoName += this.data.dataDestination.addressDetails\r\n\t\t\t\t\t? this.data.dataDestination.addressDetails\r\n\t\t\t\t\t: '';\r\n\t\t\t\tlet valueInfo = $('<div></div>').text(valueInfoName);\r\n\t\t\t\tdestinationInfo.append(valueInfo);\r\n\t\t\t}\r\n\t\t\tif (this.data.dataDestination.city || this.data.dataDestination.country) {\r\n\t\t\t\tlet valueInfoName = this.data.dataDestination.city\r\n\t\t\t\t\t? this.data.dataDestination.city\r\n\t\t\t\t\t: '';\r\n\t\t\t\tvalueInfoName +=\r\n\t\t\t\t\tthis.data.dataDestination.city && this.data.dataDestination.country ? ', ' : '';\r\n\t\t\t\tvalueInfoName += this.data.dataDestination.country\r\n\t\t\t\t\t? this.data.dataDestination.country\r\n\t\t\t\t\t: '';\r\n\t\t\t\tlet valueInfo = $('<div></div>').text(valueInfoName);\r\n\t\t\t\tdestinationInfo.append(valueInfo);\r\n\t\t\t}\r\n\t\t\tpliTokenDestination.append(destinationInfo);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * It resolves the static token destination\r\n\t * @param stringText\r\n\t * @param token\r\n\t * @param dataValue\r\n\t */\r\n\tresolveStaticTokensKeySaludoComplementario(stringText: string, tokenValue: any): string {\r\n\t\t// if (this.data.dataDestination) {\r\n\t\tthis.enableDestination = true;\r\n\t\tthis.addInfoTokenSaludoComplementario();\r\n\t\tconst pliTokenDestination = document.getElementById('pli-token-complementary-greeting');\r\n\t\tlet html = '';\r\n\t\tif (pliTokenDestination) {\r\n\t\t\thtml = this.removeCommentsHtml(pliTokenDestination.innerHTML);\r\n\t\t}\r\n\t\treturn this.tokenService.replaceToken(stringText, tokenValue, html);\r\n\t\t// }\r\n\t\t// return stringText;\r\n\t}\r\n\r\n\t/**\r\n\t *\r\n\t */\r\n\taddInfoTokenSaludoComplementario() {\r\n\t\tlet pliTokenDestination = $('#pli-token-complementary-greeting');\r\n\t\tpliTokenDestination.empty();\r\n\t\tif (this.data.dataDestination) {\r\n\t\t\tlet destinationInfo = $('<div></div>');\r\n\t\t\tif (this.data.dataDestination.greeting) {\r\n\t\t\t\tdestinationInfo.html(this.data.dataDestination.greeting);\r\n\t\t\t}\r\n\t\t\tif (this.data.dataDestination.title) {\r\n\t\t\t\tconst valueText =\r\n\t\t\t\t\t(destinationInfo.html().length == 0 ? '' : ' ') +\r\n\t\t\t\t\tthis.data.dataDestination.title;\r\n\t\t\t\tdestinationInfo.html(destinationInfo.html() + valueText);\r\n\t\t\t}\r\n\t\t\tif (this.data.dataDestination.lastName) {\r\n\t\t\t\tlet valueInfoName = this.data.dataDestination.lastName\r\n\t\t\t\t\t? this.data.dataDestination.lastName\r\n\t\t\t\t\t: '';\r\n\t\t\t\tconst valueText =\r\n\t\t\t\t\t(destinationInfo.html().length == 0 ? '' : ' ') +\r\n\t\t\t\t\t'<strong>' +\r\n\t\t\t\t\tvalueInfoName +\r\n\t\t\t\t\t'</strong>';\r\n\t\t\t\tdestinationInfo.html(destinationInfo.html() + valueText);\r\n\t\t\t}\r\n\t\t\tpliTokenDestination.append(destinationInfo);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate removeCommentsHtml(html: string): string {\r\n\t\treturn html ? html.replace(/<!--[\\s\\S]*?-->/g, '') : html;\r\n\t}\r\n\r\n\tresolveStaticTokensKeySign(html, tokenValue: any, subToken: string[]): string {\r\n\t\tlet container = $('<div></div>');\r\n\t\tlet img = $('<img id=\"' + TokenService.SIGN_LETTER_TAG_ID + '\">');\r\n\t\timg.attr('src', '');\r\n\t\tif (subToken.length > 2) {\r\n\t\t\timg.attr('width', subToken[2].toString());\r\n\t\t}\r\n\t\tif (subToken.length > 3) {\r\n\t\t\timg.attr('height', subToken[3].toString());\r\n\t\t}\r\n\t\tif (subToken.length > 4) {\r\n\t\t\timg.attr('name', subToken[4].toString());\r\n\t\t}\r\n\t\tcontainer.append(img);\r\n\t\t// return container.html();\r\n\t\treturn this.tokenService.replaceToken(html, tokenValue, container.html());\r\n\t}\r\n\r\n\tprivate getRubroLabel(): string {\r\n\t\treturn this.data.idioma.locale === 'es'\r\n\t\t\t? 'Rubro'\r\n\t\t\t: this.data.idioma.locale === 'de'\r\n\t\t\t? 'Posten'\r\n\t\t\t: 'Item';\r\n\t}\r\n\r\n\tprivate getTotalLabel(): string {\r\n\t\treturn this.data.idioma.locale === 'es'\r\n\t\t\t? 'Total'\r\n\t\t\t: this.data.idioma.locale === 'de'\r\n\t\t\t? 'Gesamt'\r\n\t\t\t: this.data.idioma.locale === 'fr'\r\n\t\t\t? 'Total'\r\n\t\t\t: this.data.idioma.locale === 'it'\r\n\t\t\t? 'Totale'\r\n\t\t\t: 'Item';\r\n\t}\r\n\r\n\tprivate getYearLabel(): string {\r\n\t\treturn this.data.idioma.locale === 'es'\r\n\t\t\t? 'Año'\r\n\t\t\t: this.data.idioma.locale === 'de'\r\n\t\t\t? 'Jahr'\r\n\t\t\t: this.data.idioma.locale === 'fr'\r\n\t\t\t? 'Année'\r\n\t\t\t: this.data.idioma.locale === 'it'\r\n\t\t\t? 'Anno'\r\n\t\t\t: 'Year';\r\n\t}\r\n\r\n\t/**\r\n\t *\r\n\t */\r\n\taddInfoTokenResumeCategoryYear(\r\n\t\ttpresCodigo: number,\r\n\t\tidTotalBudget: string,\r\n\t\tbudgetDto: BudgetDto\r\n\t) {\r\n\t\tif (tpresCodigo == ETipoPresupuesto.PRIMARY) {\r\n\t\t} else {\r\n\t\t}\r\n\t\tlet resumeCategoryYearContent = $('#' + idTotalBudget);\r\n\t\tresumeCategoryYearContent.empty();\r\n\t\tif (budgetDto && budgetDto.budget && budgetDto.budget.summary) {\r\n\t\t\tconst summary = budgetDto.budget.summary;\r\n\t\t\tconst table = $('<table></table>');\r\n\t\t\ttable.css('border-spacing', '2px');\r\n\t\t\ttable.css('border-collapse', 'collapse');\r\n\t\t\t//thead\r\n\t\t\tconst thead = $('<thead>').appendTo(table);\r\n\t\t\tconst thRubro = $('<th>', { html: this.getRubroLabel() }).appendTo(thead);\r\n\t\t\tthRubro.css('text-align', 'center');\r\n\t\t\tthRubro.css('border', '1px solid black');\r\n\t\t\tthRubro.css('color', 'white');\r\n\t\t\tthRubro.css('background-color', 'grey');\r\n\t\t\tlet iteracionAnio = 0;\r\n\t\t\tfor (const year of summary.years) {\r\n\t\t\t\tconst thYear = $('<th>', { html: this.getYearLabel() + ++iteracionAnio }).appendTo(\r\n\t\t\t\t\tthead\r\n\t\t\t\t);\r\n\t\t\t\tthYear.css('text-align', 'center');\r\n\t\t\t\tthYear.css('border', '1px solid black');\r\n\t\t\t\tthYear.css('color', 'white');\r\n\t\t\t\tthYear.css('background-color', 'grey');\r\n\t\t\t\tthYear.css('width', '80px');\r\n\t\t\t}\r\n\t\t\tconst totalLabel = ' ' + this.getTotalLabel() + summary.baseCurrency + ' ';\r\n\t\t\tconst thTotal = $('<th>', { html: totalLabel }).appendTo(thead);\r\n\t\t\tthTotal.css('text-align', 'center');\r\n\t\t\tthTotal.css('border', '1px solid black');\r\n\t\t\tthTotal.css('color', 'white');\r\n\t\t\tthTotal.css('background-color', 'grey');\r\n\t\t\tthTotal.css('width', '80px');\r\n\t\t\t//tbody\r\n\t\t\tlet tbody = $('<tbody>').appendTo(table);\r\n\t\t\tfor (let iCat = 0; iCat < summary.categories.length; iCat++) {\r\n\t\t\t\tconst tr = $('<tr>').appendTo(tbody);\r\n\t\t\t\tconst category = summary.categories[iCat];\r\n\t\t\t\tconst rubroLabel =\r\n\t\t\t\t\t' ' +\r\n\t\t\t\t\tthis.translateCategory(category.category) +\r\n\t\t\t\t\t' ';\r\n\t\t\t\tconst tdRubro = $('<td>', { html: rubroLabel }).appendTo(tr);\r\n\t\t\t\ttdRubro.css('text-align', 'left');\r\n\t\t\t\ttdRubro.css('border', '1px solid black');\r\n\t\t\t\ttdRubro.css('font-weight', 'bold');\r\n\t\t\t\tfor (const year of category.years) {\r\n\t\t\t\t\tconst yearTotal =\r\n\t\t\t\t\t\tyear.total == 0\r\n\t\t\t\t\t\t\t? '-'\r\n\t\t\t\t\t\t\t: this.currencyPipe.transform(year.total, 'default', '', '1.0-0');\r\n\t\t\t\t\tconst yearLabelTotal = ' ' + yearTotal + ' ';\r\n\t\t\t\t\tconst tdYear = $('<td>', { html: yearLabelTotal }).appendTo(tr);\r\n\t\t\t\t\ttdYear.css('text-align', 'right');\r\n\t\t\t\t\ttdYear.css('border', '1px solid black');\r\n\t\t\t\t}\r\n\t\t\t\tconst categoryTotal =\r\n\t\t\t\t\tcategory.total == 0\r\n\t\t\t\t\t\t? '-'\r\n\t\t\t\t\t\t: this.currencyPipe.transform(category.total, 'default', '', '1.0-0');\r\n\t\t\t\tconst categoryLabelTotal = ' ' + categoryTotal + ' ';\r\n\t\t\t\tconst tdTotal = $('<td>', { html: categoryLabelTotal }).appendTo(tr);\r\n\t\t\t\ttdTotal.css('text-align', 'right');\r\n\t\t\t\ttdTotal.css('border', '1px solid black');\r\n\t\t\t\ttdTotal.css('font-weight', 'bold');\r\n\t\t\t}\r\n\t\t\tconst trFinal = $('<tr>').appendTo(tbody);\r\n\t\t\tconst baseCurrency = this.getTotalLabel() + ' ' + summary.baseCurrency + ' ';\r\n\t\t\tconst tdFinalTotalBC = $('<td>', { html: baseCurrency }).appendTo(trFinal);\r\n\t\t\ttdFinalTotalBC.css('text-align', 'right');\r\n\t\t\ttdFinalTotalBC.css('border', '1px solid black');\r\n\t\t\ttdFinalTotalBC.css('color', 'white');\r\n\t\t\ttdFinalTotalBC.css('background-color', 'grey');\r\n\t\t\tlet budgetTotal = 0;\r\n\t\t\tfor (const year of summary.years) {\r\n\t\t\t\tconst yearTotal =\r\n\t\t\t\t\tyear.total == 0\r\n\t\t\t\t\t\t? '-'\r\n\t\t\t\t\t\t: this.currencyPipe.transform(year.total, 'default', '', '1.0-0');\r\n\t\t\t\tconst yearLabelTotal = yearTotal + ' ';\r\n\t\t\t\tconst tdYear = $('<td>', { html: yearLabelTotal }).appendTo(trFinal);\r\n\t\t\t\ttdYear.css('text-align', 'right');\r\n\t\t\t\ttdYear.css('border', '1px solid black');\r\n\t\t\t\ttdYear.css('color', 'white');\r\n\t\t\t\ttdYear.css('background-color', 'grey');\r\n\t\t\t\tbudgetTotal += year.total;\r\n\t\t\t}\r\n\t\t\tconst totalBaseCurrency =\r\n\t\t\t\tbudgetTotal == 0\r\n\t\t\t\t\t? '-'\r\n\t\t\t\t\t: this.currencyPipe.transform(budgetTotal, 'default', '', '1.0-0');\r\n\t\t\tconst totalLabelBaseCurrency = ' ' + totalBaseCurrency + ' ';\r\n\t\t\tconst tdFinalTotal = $('<td>', { html: totalLabelBaseCurrency }).appendTo(trFinal);\r\n\t\t\ttdFinalTotal.css('text-align', 'right');\r\n\t\t\ttdFinalTotal.css('border', '1px solid black');\r\n\t\t\ttdFinalTotal.css('color', 'white');\r\n\t\t\ttdFinalTotal.css('background-color', 'grey');\r\n\t\t\tresumeCategoryYearContent.append(table);\r\n\t\t}\r\n\t}\r\n}\r\n","<div style=\"display: none;\" id=\"pli-token-destination\">\r\n\t<!-- <div *ngIf=\"data != undefined && data.dataDestination != undefined\">\r\n\r\n <div *ngIf=\"data.dataDestination.text != undefined\">\r\n {{data.dataDestination.text}}\r\n </div>\r\n <div *ngIf=\"data.dataDestination.title != undefined\">\r\n {{data.dataDestination.title}}\r\n </div>\r\n <div *ngIf=\"data.dataDestination.name != undefined || data.dataDestination.lastName != undefined\">\r\n <strong>{{data.dataDestination.name}} {{data.dataDestination.lastName}}</strong>\r\n </div>\r\n <div *ngIf=\"data.dataDestination.cargo != undefined\">\r\n {{data.dataDestination.cargo}}\r\n </div>\r\n <div *ngIf=\"data.dataDestination.occupation != undefined\">\r\n {{data.dataDestination.occupation}}\r\n </div>\r\n <div *ngIf=\"data.dataDestination.company != undefined\">\r\n {{data.dataDestination.company}}\r\n </div>\r\n <div *ngIf=\"data.dataDestination.address != undefined || data.dataDestination.addressDetails != undefined \">\r\n {{data.dataDestination.address}} {{data.dataDestination.addressDetails}}\r\n </div>\r\n <div *ngIf=\"data.dataDestination.city != undefined || data.dataDestination.country != undefined \">\r\n {{data.dataDestination.city}}<span *ngIf=\"data.dataDestination.city != undefined && data.dataDestination.country != undefined\">,</span>{{data.dataDestination.country}}\r\n </div>\r\n\r\n </div> -->\r\n</div>\r\n<!-- Complementary greeting-->\r\n<div style=\"display: none;\" id=\"pli-token-complementary-greeting\">\r\n\t<!-- <div\r\n\t\t*ngIf=\"\r\n\t\t\tdata != undefined &&\r\n\t\t\tdata.dataDestination != undefined &&\r\n\t\t\tdata.dataDestination.targetId == 2 &&\r\n\t\t\tdata.dataDestination.greeting != undefined\r\n\t\t\"\r\n\t>\r\n\t\t{{ data.dataDestination.greeting\r\n\t\t}}<span *ngIf=\"data.dataDestination.title != undefined\"\r\n\t\t\t> {{ data.dataDestination.title }}</span\r\n\t\t><span *ngIf=\"data.dataDestination.lastName != undefined\"\r\n\t\t\t> {{ data.dataDestination.lastName }}</span\r\n\t\t>:\r\n\t</div>-->\r\n</div>\r\n\r\n<!-- Primary budget total summary ${presupuesto_288_resumeCategoryYear} -->\r\n<div style=\"display: none;\" id=\"pli-token-principal-budget-total-summary\">\r\n\t<!-- <div>\r\n\t\t<table\r\n\t\t\t*ngIf=\"\r\n\t\t\t\tbudgetDtoPrimary !== null &&\r\n\t\t\t\tbudgetDtoPrimary.budget &&\r\n\t\t\t\tbudgetDtoPrimary.budget.summary\r\n\t\t\t\"\r\n\t\t\tstyle=\"border-spacing: 2px;border-collapse: collapse;\"\r\n\t\t>\r\n\t\t\t<thead>\r\n\t\t\t\t<tr style=\"font-weight: bold;\">\r\n\t\t\t\t\t<td\r\n\t\t\t\t\t\tstyle=\"text-align: center;border: 1px solid black; color: white;background-color: grey;\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\tRubro\r\n\t\t\t\t\t</td>\r\n\t\t\t\t\t<td\r\n\t\t\t\t\t\t*ngFor=\"let year of budgetDtoPrimary.budget.summary.years\"\r\n\t\t\t\t\t\tstyle=\"text-align: center;border: 1px solid black; color: white;background-color: grey; width:80px;\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{{ year.yearNumber }}\r\n\t\t\t\t\t</td>\r\n\t\t\t\t\t<td\r\n\t\t\t\t\t\tstyle=\"text-align: center;border: 1px solid black; color: white;background-color: grey; width: 110px;\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\tTotal ({{ budgetDtoPrimary.budget.summary.baseCurrency }})\r\n\t\t\t\t\t</td>\r\n\t\t\t\t</tr>\r\n\t\t\t</thead>\r\n\t\t\t<tbody>\r\n\t\t\t\t<tr\r\n\t\t\t\t\t*ngFor=\"\r\n\t\t\t\t\t\tlet category of budgetDtoPrimary.budget.summary.categories;\r\n\t\t\t\t\t\tlet iCat = index\r\n\t\t\t\t\t\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<td style=\"font-weight: bold;text-align: left;border: 1px solid black;\">\r\n\t\t\t\t\t\t {{\r\n\t\t\t\t\t\t\ttranslateCategory(category.category)\r\n\t\t\t\t\t\t}} \r\n\t\t\t\t\t</td>\r\n\t\t\t\t\t<td\r\n\t\t\t\t\t\t*ngFor=\"let year of category.years\"\r\n\t\t\t\t\t\tstyle=\"text-align: right;border: 1px solid black; \"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t {{\r\n\t\t\t\t\t\t\tyear.total == 0 ? '-' : (year.total | currency: 'default':'':'1.0-0')\r\n\t\t\t\t\t\t}} \r\n\t\t\t\t\t</td>\r\n\t\t\t\t\t<td style=\"font-weight: bold; text-align: right;border: 1px solid black;\">\r\n\t\t\t\t\t\t {{\r\n\t\t\t\t\t\t\tcategory.total == 0\r\n\t\t\t\t\t\t\t\t? '-'\r\n\t\t\t\t\t\t\t\t: (category.total | currency: 'default':'':'1.0-0')\r\n\t\t\t\t\t\t}} \r\n\t\t\t\t\t</td>\r\n\t\t\t\t</tr>\r\n\t\t\t\t<tr style=\"font-weight: bold;\">\r\n\t\t\t\t\t<td\r\n\t\t\t\t\t\tstyle=\"text-align: right;border: 1px solid black; color: white;background-color: grey;\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\tTotal ({{ budgetDtoPrimary.budget.summary.baseCurrency }}) \r\n\t\t\t\t\t</td>\r\n\t\t\t\t\t<td\r\n\t\t\t\t\t\t*ngFor=\"let year of budgetDtoPrimary.budget.summary.years\"\r\n\t\t\t\t\t\tstyle=\"text-align: right;border: 1px solid black; color: white;background-color: grey; \"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\tyear.total == 0 ? '-' : (year.total | currency: 'default':'':'1.0-0')\r\n\t\t\t\t\t\t}} \r\n\t\t\t\t\t</td>\r\n\t\t\t\t\t<td\r\n\t\t\t\t\t\tstyle=\"text-align: right;border: 1px solid black; color: white;background-color: grey;\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\tbudgetDtoPrimary.budget.summary.budgetTotal == 0\r\n\t\t\t\t\t\t\t\t? '-'\r\n\t\t\t\t\t\t\t\t: (budgetDtoPrimary.budget.summary.budgetTotal\r\n\t\t\t\t\t\t\t\t | currency: 'default':'':'1.0-0')\r\n\t\t\t\t\t\t}} \r\n\t\t\t\t\t</td>\r\n\t\t\t\t</tr>\r\n\t\t\t</tbody>\r\n\t\t</table>\r\n\t</div> -->\r\n</div>\r\n<!-- Secundary budget total summary ${presupuesto_288_resumeCategoryYear} -->\r\n<div style=\"display: none;\" id=\"pli-token-secundary-budget-total-summary\">\r\n\t<div>\r\n\t\t<table\r\n\t\t\t*ngIf=\"\r\n\t\t\t\tbudgetDtoSecundary !== null &&\r\n\t\t\t\tbudgetDtoSecundary.budget &&\r\n\t\t\t\tbudgetDtoSecundary.budget.summary\r\n\t\t\t\"\r\n\t\t\tstyle=\"border-spacing: 2px; border-collapse: collapse; width: 100%;\"\r\n\t\t>\r\n\t\t\t<thead>\r\n\t\t\t\t<tr style=\"font-weight: bold;\">\r\n\t\t\t\t\t<td\r\n\t\t\t\t\t\tstyle=\"\r\n\t\t\t\t\t\t\ttext-align: center;\r\n\t\t\t\t\t\t\tborder: 1px solid black;\r\n\t\t\t\t\t\t\tcolor: white;\r\n\t\t\t\t\t\t\tbackground-color: grey;\r\n\t\t\t\t\t\t\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\tRubro\r\n\t\t\t\t\t</td>\r\n\t\t\t\t\t<td\r\n\t\t\t\t\t\t*ngFor=\"let year of budgetDtoSecundary.budget.summary.years\"\r\n\t\t\t\t\t\tstyle=\"\r\n\t\t\t\t\t\t\ttext-align: center;\r\n\t\t\t\t\t\t\tborder: 1px solid black;\r\n\t\t\t\t\t\t\tcolor: white;\r\n\t\t\t\t\t\t\tbackground-color: grey;\r\n\t\t\t\t\t\t\twidth: 80px;\r\n\t\t\t\t\t\t\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{{ year.yearNumber }}\r\n\t\t\t\t\t</td>\r\n\t\t\t\t\t<td\r\n\t\t\t\t\t\tstyle=\"\r\n\t\t\t\t\t\t\ttext-align: center;\r\n\t\t\t\t\t\t\tborder: 1px solid black;\r\n\t\t\t\t\t\t\tcolor: white;\r\n\t\t\t\t\t\t\tbackground-color: grey;\r\n\t\t\t\t\t\t\twidth: 110px;\r\n\t\t\t\t\t\t\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\tTotal ({{ budgetDtoSecundary.budget.summary.baseCurrency }})\r\n\t\t\t\t\t</td>\r\n\t\t\t\t</tr>\r\n\t\t\t</thead>\r\n\t\t\t<tbody>\r\n\t\t\t\t<tr\r\n\t\t\t\t\t*ngFor=\"\r\n\t\t\t\t\t\tlet category of budgetDtoSecundary.budget.summary.categories;\r\n\t\t\t\t\t\tlet iCat = index\r\n\t\t\t\t\t\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<td style=\"font-weight: bold; text-align: left; border: 1px solid black;\">\r\n\t\t\t\t\t\t {{\r\n\t\t\t\t\t\t\ttranslateCategory(category.category)\r\n\t\t\t\t\t\t}} \r\n\t\t\t\t\t</td>\r\n\t\t\t\t\t<td\r\n\t\t\t\t\t\t*ngFor=\"let year of category.years\"\r\n\t\t\t\t\t\tstyle=\"text-align: right; border: 1px solid black;\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t {{\r\n\t\t\t\t\t\t\tyear.total == 0 ? '-' : (year.total | currency: 'default':'':'1.0-0')\r\n\t\t\t\t\t\t}} \r\n\t\t\t\t\t</td>\r\n\t\t\t\t\t<td style=\"font-weight: bold; text-align: right; border: 1px solid black;\">\r\n\t\t\t\t\t\t {{\r\n\t\t\t\t\t\t\tcategory.total == 0\r\n\t\t\t\t\t\t\t\t? '-'\r\n\t\t\t\t\t\t\t\t: (category.total | currency: 'default':'':'1.0-0')\r\n\t\t\t\t\t\t}} \r\n\t\t\t\t\t</td>\r\n\t\t\t\t</tr>\r\n\t\t\t\t<tr style=\"font-weight: bold;\">\r\n\t\t\t\t\t<td\r\n\t\t\t\t\t\tstyle=\"\r\n\t\t\t\t\t\t\ttext-align: right;\r\n\t\t\t\t\t\t\tborder: 1px solid black;\r\n\t\t\t\t\t\t\tcolor: white;\r\n\t\t\t\t\t\t\tbackground-color: grey;\r\n\t\t\t\t\t\t\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\tTotal ({{ budgetDtoSecundary.budget.summary.baseCurrency }}) \r\n\t\t\t\t\t</td>\r\n\t\t\t\t\t<td\r\n\t\t\t\t\t\t*ngFor=\"let year of budgetDtoSecundary.budget.summary.years\"\r\n\t\t\t\t\t\tstyle=\"\r\n\t\t\t\t\t\t\ttext-align: right;\r\n\t\t\t\t\t\t\tborder: 1px solid black;\r\n\t\t\t\t\t\t\tcolor: white;\r\n\t\t\t\t\t\t\tbackground-color: grey;\r\n\t\t\t\t\t\t\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\tyear.total == 0 ? '-' : (year.total | currency: 'default':'':'1.0-0')\r\n\t\t\t\t\t\t}} \r\n\t\t\t\t\t</td>\r\n\t\t\t\t\t<td\r\n\t\t\t\t\t\tstyle=\"\r\n\t\t\t\t\t\t\ttext-align: right;\r\n\t\t\t\t\t\t\tborder: 1px solid black;\r\n\t\t\t\t\t\t\tcolor: white;\r\n\t\t\t\t\t\t\tbackground-color: grey;\r\n\t\t\t\t\t\t\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\tbudgetDtoSecundary.budget.summary.budgetTotal == 0\r\n\t\t\t\t\t\t\t\t? '-'\r\n\t\t\t\t\t\t\t\t: (budgetDtoSecundary.budget.summary.budgetTotal\r\n\t\t\t\t\t\t\t\t | currency: 'default':'':'1.0-0')\r\n\t\t\t\t\t\t}} \r\n\t\t\t\t\t</td>\r\n\t\t\t\t</tr>\r\n\t\t\t</tbody>\r\n\t\t</table>\r\n\t</div>\r\n</div>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\nconst PADDING = '000000';\r\n\r\n@Pipe({\r\n\tname: 'currencyColfuturo'\r\n})\r\nexport class CurrencyColfuturoPipe implements PipeTransform {\r\n\tprivate DECIMAL_SEPARATOR: string;\r\n\tprivate THOUSANDS_SEPARATOR: string;\r\n\tprivate ZERO: string;\r\n\r\n\tconstructor() {\r\n\t\t// TODO comes from configuration settings\r\n\t\tthis.DECIMAL_SEPARATOR = ',';\r\n\t\tthis.THOUSANDS_SEPARATOR = '.';\r\n\t\tthis.ZERO = '-';\r\n\t}\r\n\r\n\ttransform(value: number | string, fractionSize: number = 0): string {\r\n\t\tif (value) {\r\n\t\t\tlet integer = value + '';\r\n\t\t\tinteger = integer.replace(/\\B(?=(\\d{3})+(?!\\d))/g, this.THOUSANDS_SEPARATOR);\r\n\t\t\treturn integer;\r\n\t\t}\r\n\t\treturn this.ZERO;\r\n\t}\r\n\r\n\tparse(value: string, fractionSize: number = 0): string {\r\n\t\tif (!value || value == this.ZERO) {\r\n\t\t\treturn '0';\r\n\t\t}\r\n\t\tlet integer = value.replace(/\\./g, '');\r\n\t\treturn integer;\r\n\t}\r\n}\r\n","import { Directive, HostListener, ElementRef, OnInit } from '@angular/core';\r\nimport { CurrencyColfuturoPipe } from '../pipes/currency-colfuturo.pipe';\r\n\r\n@Directive({\r\n\tselector: '[currencyColfuturoFormatter]'\r\n})\r\nexport class CurrencyColfuturoFormatterDirective implements OnInit {\r\n\tprivate el: HTMLInputElement;\r\n\r\n\tprivate currencyPipe: CurrencyColfuturoPipe;\r\n\r\n\tconstructor(private elementRef: ElementRef) {\r\n\t\tthis.el = this.elementRef.nativeElement;\r\n\t\tthis.currencyPipe = new CurrencyColfuturoPipe();\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tif (this.el.value) this.el.value = this.currencyPipe.transform(this.el.value);\r\n\t}\r\n\r\n\t@HostListener('focus', ['$event.target.value'])\r\n\tonFocus(value) {\r\n\t\tif (value) this.el.value = this.currencyPipe.parse(value); // opossite of transform\r\n\t}\r\n\r\n\t@HostListener('blur', ['$event.target.value'])\r\n\tonBlur(value) {\r\n\t\tif (value) this.el.value = this.currencyPipe.transform(value);\r\n\t}\r\n\r\n\t@HostListener('keypress', ['$event'])\r\n\tonkeypress(event) {\r\n\t\tconst charCode = event.which ? event.which : event.keyCode;\r\n\t\tif (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn true;\r\n\t}\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\nconst PADDING = '000000';\r\n\r\n@Pipe({ name: 'currencyDecimalColfuturo' })\r\nexport class CurrencyDecimalColfuturoPipe implements PipeTransform {\r\n\tprivate DECIMAL_SEPARATOR: string;\r\n\tprivate THOUSANDS_SEPARATOR: string;\r\n\r\n\tconstructor() {\r\n\t\t// TODO comes from configuration settings\r\n\t\tthis.DECIMAL_SEPARATOR = ',';\r\n\t\tthis.THOUSANDS_SEPARATOR = '.';\r\n\t}\r\n\r\n\ttransform(value: number | string, fractionSize: number = 2): string {\r\n\t\tlet [integer, fraction = ''] = (value || '').toString().split(this.DECIMAL_SEPARATOR);\r\n\r\n\t\tfraction =\r\n\t\t\tfractionSize > 0\r\n\t\t\t\t? this.DECIMAL_SEPARATOR + (fraction + PADDING).substring(0, fractionSize)\r\n\t\t\t\t: '';\r\n\r\n\t\tinteger = integer.replace(/\\B(?=(\\d{3})+(?!\\d))/g, this.THOUSANDS_SEPARATOR);\r\n\r\n\t\treturn integer + fraction;\r\n\t}\r\n\r\n\tparse(value: string, fractionSize: number = 2): string {\r\n\t\tlet [integer, fraction = ''] = (value || '').split(this.DECIMAL_SEPARATOR);\r\n\r\n\t\t//integer = integer.replace(new RegExp(this.THOUSANDS_SEPARATOR, \"g\"), \"\");\r\n\t\tinteger = integer.replace(/\\./g, '');\r\n\r\n\t\tfraction =\r\n\t\t\tparseInt(fraction, 10) > 0 && fractionSize > 0\r\n\t\t\t\t? this.DECIMAL_SEPARATOR + (fraction + PADDING).substring(0, fractionSize)\r\n\t\t\t\t: '';\r\n\r\n\t\treturn integer + fraction;\r\n\t}\r\n}\r\n","import { Directive, HostListener, ElementRef, OnInit } from '@angular/core';\r\nimport { CurrencyDecimalColfuturoPipe } from '../pipes/currency-decimal-colfuturo.pipe';\r\n\r\n@Directive({\r\n\tselector: '[currencyDecimalColfuturoFormatter]'\r\n})\r\nexport class CurrencyDecimalColfuturoFormatterDirective implements OnInit {\r\n\tprivate el: HTMLInputElement;\r\n\r\n\tprivate currencyDecimalPipe: CurrencyDecimalColfuturoPipe;\r\n\r\n\tconstructor(private elementRef: ElementRef) {\r\n\t\tthis.el = this.elementRef.nativeElement;\r\n\t\tthis.currencyDecimalPipe = new CurrencyDecimalColfuturoPipe();\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.el.value = this.currencyDecimalPipe.transform(this.el.value);\r\n\t}\r\n\r\n\t@HostListener('focus', ['$event.target.value'])\r\n\tonFocus(value) {\r\n\t\tthis.el.value = this.currencyDecimalPipe.parse(value); // opossite of transform\r\n\t}\r\n\r\n\t@HostListener('blur', ['$event.target.value'])\r\n\tonBlur(value) {\r\n\t\tthis.el.value = this.currencyDecimalPipe.transform(value);\r\n\t}\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\nconst PADDING = '000000';\r\n\r\n@Pipe({\r\n\tname: 'currencyPrintColfuturo'\r\n})\r\nexport class CurrencyPrintColfuturoPipe implements PipeTransform {\r\n\tprivate DECIMAL_SEPARATOR: string;\r\n\tprivate THOUSANDS_SEPARATOR: string;\r\n\r\n\tconstructor() {\r\n\t\t// TODO comes from configuration settings\r\n\t\tthis.DECIMAL_SEPARATOR = ',';\r\n\t\tthis.THOUSANDS_SEPARATOR = '.';\r\n\t}\r\n\r\n\ttransform(value: number | string, fractionSize: number = 0): string {\r\n\t\tlet integer = (value || '').toString().replace(/ /g, '');\r\n\t\tinteger = integer.replace(/\\B(?=(\\d{3})+(?!\\d))/g, this.THOUSANDS_SEPARATOR);\r\n\t\t/* It's a character that present, must be change to accept onle number and separators */\r\n\t\tinteger = integer.replace(String.fromCharCode(160), '');\r\n\t\treturn integer == '0' ? '-' : integer;\r\n\t}\r\n\r\n\tparse(value: string, fractionSize: number = 0): string {\r\n\t\tlet integer = (value || '').replace(/ /g, '');\r\n\t\tinteger = integer.replace(/\\./g, '');\r\n\t\t/* It's a character that present, must be change to accept onle number and separators */\r\n\t\tinteger = integer.replace(String.fromCharCode(160), '');\r\n\t\treturn integer == '0' ? '-' : integer;\r\n\t}\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n\tname: 'thousands'\r\n})\r\nexport class ThousandsPipe implements PipeTransform {\r\n\ttransform(value: any, args?: any): any {\r\n\t\tif (isNaN(value) || value === '' || value === null) return 0;\r\n\t\telse {\r\n\t\t\t// define args if it doesn't exist\r\n\t\t\tif (!args) args = {};\r\n\t\t\t// set default decimals\r\n\t\t\tif (\r\n\t\t\t\targs.decimals === undefined ||\r\n\t\t\t\targs.decimals === null ||\r\n\t\t\t\tisNaN(args.decimals) ||\r\n\t\t\t\targs.decimals < 0\r\n\t\t\t)\r\n\t\t\t\targs.decimals = 2;\r\n\r\n\t\t\t// get the number according to the decimals defined\r\n\t\t\tlet numberValue = typeof value === 'number' ? value : Number(value);\r\n\r\n\t\t\t// if not format then return the formatlocale number\r\n\t\t\tif (!args.format) return this.returnResult(numberValue, args);\r\n\r\n\t\t\t// less than 1000 then return the number\r\n\t\t\tif (numberValue < 1000) {\r\n\t\t\t\treturn this.returnResult(numberValue, args);\r\n\t\t\t}\r\n\r\n\t\t\t// between 1000 and 1000000 then it should be divided by 1000\r\n\t\t\tif (numberValue >= 1000 && numberValue < 1000000) {\r\n\t\t\t\targs.prefix = 'K';\r\n\t\t\t\treturn this.returnResult(numberValue / 1000, args);\r\n\t\t\t}\r\n\r\n\t\t\t// between 1000000 and 1000000000 then it should be divided by 1000000\r\n\t\t\tif (numberValue >= 1000000 && numberValue <= 1000000000) {\r\n\t\t\t\targs.prefix = 'M';\r\n\t\t\t\treturn this.returnResult(numberValue / 1000000, args);\r\n\t\t\t}\r\n\r\n\t\t\t// between 1000000000 and 1000000000000 then it should be divided by 1000000000\r\n\t\t\tif (numberValue >= 1000000000 && numberValue <= 1000000000000) {\r\n\t\t\t\targs.prefix = 'B';\r\n\t\t\t\treturn this.returnResult(numberValue / 1000000000, args);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/** it returns the result according to the number */\r\n\treturnResult(numberValue: number, args?: any): string {\r\n\t\tlet strValue = args ? numberValue.toFixed(args.decimals) : numberValue.toString();\r\n\t\tstrValue = Number(strValue).toLocaleString('de-DE');\r\n\t\tif (args && args.format == 1 && args.prefix) strValue += args.prefix;\r\n\t\treturn strValue;\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpParams, HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { ApplicationTag } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class ApplicationTagService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\tprivate serviceName = 'application-tag';\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\t/** It returns an array of applicationTag by promCod */\r\n\tfindByPromCod(promCod: number): Observable<any> {\r\n\t\treturn this.httpClient.get(this.environment.host.backend.backoffice + this.serviceName, {\r\n\t\t\tparams: new HttpParams().set('promCod', promCod.toString())\r\n\t\t});\r\n\t}\r\n\r\n\tgetTagByNameLike(promCod: number, name: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice + this.serviceName + '/get-tag-by-name',\r\n\t\t\t{ params: new HttpParams().set('promCod', promCod.toString()).set('nameTag', name) }\r\n\t\t);\r\n\t}\r\n\r\n\tfindByIdApp(idApp: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice + this.serviceName + '/get-by-id-app',\r\n\t\t\t{ params: new HttpParams().set('idApp', idApp) }\r\n\t\t);\r\n\t}\r\n\r\n\tsave(tag: ApplicationTag): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + this.serviceName,\r\n\t\t\ttag\r\n\t\t);\r\n\t}\r\n\r\n\tedit(tag: ApplicationTag): Observable<any> {\r\n\t\treturn this.httpClient.put(\r\n\t\t\tthis.environment.host.backend.backoffice + this.serviceName,\r\n\t\t\ttag\r\n\t\t);\r\n\t}\r\n\r\n\tdelete(id: string): Observable<any> {\r\n\t\treturn this.httpClient.delete(this.environment.host.backend.backoffice + this.serviceName, {\r\n\t\t\tparams: new HttpParams().set('id', id)\r\n\t\t});\r\n\t}\r\n\r\n\tassign(applications: string[], idTag: string): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + this.serviceName + '/assign',\r\n\t\t\tapplications,\r\n\t\t\t{ params: new HttpParams().set('idTag', idTag) }\r\n\t\t);\r\n\t}\r\n\r\n\tremoveTag(idApp: string, idTag: string): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + this.serviceName + '/remove-tag',\r\n\t\t\t{},\r\n\t\t\t{ params: new HttpParams().set('idApp', idApp).set('idTag', idTag) }\r\n\t\t);\r\n\t}\r\n\r\n\tremoveTags(idApp: string, idTags: string[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + this.serviceName + '/remove-tags',\r\n\t\t\tidTags,\r\n\t\t\t{ params: new HttpParams().set('idApp', idApp) }\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class SpinnerService {\r\n\tshowSpinner: boolean = true;\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { throwError, Observable, Subject } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { HttpClient, HttpParams, HttpErrorResponse } from '@angular/common/http';\r\nimport { HttpHeaders } from '@angular/common/http';\r\nimport {\r\n\tBudgetDto,\r\n\tBudgetWizard,\r\n\tBudgetData,\r\n\tNewBudgetDto,\r\n\tBudgetMenu,\r\n\tBudgetOwnFund,\r\n\tBudgetSetup,\r\n\tPliCnfPresupuestoAsistente,\r\n} from 'ng-pli-util';\r\n\r\nconst URLS = {\r\n\tmenu: 'budget/menu',\r\n\tgetById: 'budget/getById',\r\n\tgetByApplicationId: 'budget/getByApplicationId',\r\n\tgetByPromCodigo: 'budget/getByPromCodigo',\r\n\tgetByPromCodigoRubro: 'budget/getByPromCodigoRubro',\r\n\tsave: 'budget/save',\r\n\tsummarizedSave: 'budget/summarizedSave',\r\n\tsummarizedReset: 'budget/summarizedReset',\r\n\tdelete: 'budget/delete',\r\n\tupdate: 'budget/update',\r\n\tmybudget: 'budget/mybudget',\r\n\tmysimplebudget: 'budget/mysimplebudget',\r\n\twizard: 'budget/wizard',\r\n\tgenerate: 'budget/generate',\r\n\tdeleteWizard: 'budget/deleteWizard',\r\n\tbudgetsByProm: 'budget/getBudgetsByProm',\r\n\tupdateWizard: 'budget/updateWizard',\r\n\tgetConfiguredCurrency: 'budget_setup/getConfiguredCurrency'\r\n};\r\nconst httpOptions = {\r\n\theaders: new HttpHeaders({\r\n\t\t'Content-Type': 'application/json'\r\n\t\t// 'Authorization': 'my-auth-token'\r\n\t})\r\n};\r\n\r\n@Injectable() //({providedIn: 'root'})\r\nexport class BudgetApplicationService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tprivate subjectValidateBudgetCheck = new Subject<boolean>();\r\n\r\n\t//private lGlobalBudgetWizard!: PliCnfPresupuestoAsistente[];\r\n\r\n\tconstructor(@Inject('environment') private environment: any, private http: HttpClient) {}\r\n\r\n\t//https://angular.io/guide/http#error-handling\r\n\tprivate handleError(error: HttpErrorResponse) {\r\n\t\tif (error.error instanceof ErrorEvent) {\r\n\t\t\t// A client-side or network error occurred. Handle it accordingly.\r\n\t\t\t// console.error('A client-side error occurred:', error.error.message);\r\n\t\t} else {\r\n\t\t\t// The backend returned an unsuccessful response code.\r\n\t\t\t// The response body may contain clues as to what went wrong,\r\n\t\t\t// console.error(\r\n\t\t\t// `Backend returned code ${error.status}, ` +\r\n\t\t\t// `body was: ${error.error}`);\r\n\t\t}\r\n\t\t// return an observable with a user-facing error message\r\n\t\treturn throwError(error);\r\n\t}\r\n\r\n\tgetBudget(budgetId: string): Observable<any> {\r\n\t\tlet options = new HttpParams().set('budgetId', budgetId);\r\n\t\treturn this.http\r\n\t\t\t.get<BudgetDto>(this.environment.host.backend.frontoffice + URLS.getById, {\r\n\t\t\t\theaders: httpOptions.headers,\r\n\t\t\t\tparams: options\r\n\t\t\t})\r\n\t\t\t.pipe(catchError(this.handleError));\r\n\t}\r\n\r\n\tupdateBudget(budget: BudgetData): Observable<any> {\r\n\t\treturn this.http\r\n\t\t\t.post<BudgetData>(this.environment.host.backend.frontoffice + URLS.update, budget, {\r\n\t\t\t\theaders: httpOptions.headers\r\n\t\t\t})\r\n\t\t\t.pipe(catchError(this.handleError));\r\n\t}\r\n\r\n\tsummarizedSave(budget: BudgetData): Observable<any> {\r\n\t\treturn this.http\r\n\t\t\t.post<BudgetData>(\r\n\t\t\t\tthis.environment.host.backend.frontoffice + URLS.summarizedSave,\r\n\t\t\t\tbudget,\r\n\t\t\t\t{\r\n\t\t\t\t\theaders: httpOptions.headers\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t\t.pipe(catchError(this.handleError));\r\n\t}\r\n\r\n\tsummarizedReset(programTypeId: number, applicationId: string): Observable<any> {\r\n\t\tlet options = new HttpParams()\r\n\t\t\t.set('applicationId', applicationId)\r\n\t\t\t.set('programTypeId', String(programTypeId));\r\n\t\treturn this.http\r\n\t\t\t.post(this.environment.host.backend.frontoffice + URLS.summarizedReset, null, {\r\n\t\t\t\theaders: httpOptions.headers,\r\n\t\t\t\tparams: options\r\n\t\t\t})\r\n\t\t\t.pipe(catchError(this.handleError));\r\n\t}\r\n\r\n\tgetMyBudgetsList(applicationId: string): Observable<any> {\r\n\t\tlet options = new HttpParams().set('applicationId', applicationId);\r\n\t\treturn this.http\r\n\t\t\t.get<BudgetData[]>(this.environment.host.backend.frontoffice + URLS.menu, {\r\n\t\t\t\theaders: httpOptions.headers,\r\n\t\t\t\tparams: options\r\n\t\t\t})\r\n\t\t\t.pipe(catchError(this.handleError));\r\n\t}\r\n\r\n\tgetMyBudget(\r\n\t\tapplicationId: string,\r\n\t\tbudgetSetupId: string,\r\n\t\tpromCode: number,\r\n\t\ttag: string\r\n\t): Observable<any> {\r\n\t\tlet options = new HttpParams()\r\n\t\t\t.set('applicationId', applicationId)\r\n\t\t\t.set('promCode', promCode + '')\r\n\t\t\t.set('budgetSetupId', budgetSetupId)\r\n\t\t\t.set('tag', tag);\r\n\t\treturn this.http\r\n\t\t\t.get<BudgetDto>(this.environment.host.backend.frontoffice + URLS.mybudget, {\r\n\t\t\t\theaders: httpOptions.headers,\r\n\t\t\t\tparams: options\r\n\t\t\t})\r\n\t\t\t.pipe(catchError(this.handleError));\r\n\t}\r\n\r\n\tgetMySimpleBudget(applicationId: string, tag: string): Observable<any> {\r\n\t\tlet options = new HttpParams().set('applicationId', applicationId).set('tag', tag);\r\n\t\treturn this.http\r\n\t\t\t.get<BudgetData>(this.environment.host.backend.frontoffice + URLS.mysimplebudget, {\r\n\t\t\t\theaders: httpOptions.headers,\r\n\t\t\t\tparams: options\r\n\t\t\t})\r\n\t\t\t.pipe(catchError(this.handleError));\r\n\t}\r\n\r\n\tgetBudgetsByProm(applicationId: string, promCode: number, tag: string): Observable<any> {\r\n\t\tlet options = new HttpParams()\r\n\t\t\t.set('applicationId', applicationId)\r\n\t\t\t.set('promCode', promCode + '')\r\n\t\t\t.set('tag', tag);\r\n\t\treturn this.http\r\n\t\t\t.get<BudgetDto[]>(this.environment.host.backend.frontoffice + URLS.budgetsByProm, {\r\n\t\t\t\theaders: httpOptions.headers,\r\n\t\t\t\tparams: options\r\n\t\t\t})\r\n\t\t\t.pipe(catchError(this.handleError));\r\n\t}\r\n\r\n\t/**@deprecated */\r\n\tnewWizard(request: NewBudgetDto): Observable<any> {\r\n\t\treturn this.http\r\n\t\t\t.post<BudgetWizard>(this.environment.host.backend.frontoffice + URLS.wizard, request, {\r\n\t\t\t\theaders: httpOptions.headers\r\n\t\t\t})\r\n\t\t\t.pipe(catchError(this.handleError));\r\n\t}\r\n\r\n\tgenerate(wizard: BudgetWizard): Observable<any> {\r\n\t\treturn this.http\r\n\t\t\t.post<BudgetData>(this.environment.host.backend.frontoffice + URLS.generate, wizard, {\r\n\t\t\t\theaders: httpOptions.headers\r\n\t\t\t})\r\n\t\t\t.pipe(catchError(this.handleError));\r\n\t}\r\n\r\n\t/**@deprecated */\r\n\tmenu(promCode: number): Observable<any> {\r\n\t\tlet options = new HttpParams().set('promCode', promCode + '');\r\n\t\treturn this.http\r\n\t\t\t.get<BudgetMenu>(this.environment.host.backend.frontoffice + URLS.menu, {\r\n\t\t\t\theaders: httpOptions.headers,\r\n\t\t\t\tparams: options\r\n\t\t\t})\r\n\t\t\t.pipe(catchError(this.handleError));\r\n\t}\r\n\r\n\tdeleteWizard(wizardId: string): Observable<any> {\r\n\t\tlet options = new HttpParams().set('wizardId', wizardId);\r\n\t\treturn this.http\r\n\t\t\t.delete(this.environment.host.backend.frontoffice + URLS.deleteWizard, {\r\n\t\t\t\theaders: httpOptions.headers,\r\n\t\t\t\tparams: options\r\n\t\t\t})\r\n\t\t\t.pipe(catchError(this.handleError));\r\n\t}\r\n\r\n\t/** It returns the observable of budget own fund by application Id*/\r\n\tgetBudgetOwnFundByApplicationId(applicationId: string): Observable<any> {\r\n\t\treturn this.http.get(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'budgetOwnFund/getByApplicationId',\r\n\t\t\t{ params: new HttpParams().set('applicationId', applicationId) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves the budget own fund */\r\n\tsaveBudgetOwnFund(budgetOwnFund: BudgetOwnFund): Observable<any> {\r\n\t\treturn this.http.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'budgetOwnFund/save',\r\n\t\t\tbudgetOwnFund,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the observable of other budget info different of the budgetSetupId send */\r\n\tgetOtherBudgetByPromCodigo(\r\n\t\tpromCode: number,\r\n\t\tbudgetSetupId: string,\r\n\t\tapplicationId: string\r\n\t): Observable<any> {\r\n\t\treturn this.http.get(this.environment.host.backend.frontoffice + 'budget/otherBudget', {\r\n\t\t\tparams: new HttpParams()\r\n\t\t\t\t.set('promCode', promCode.toString())\r\n\t\t\t\t.set('budgetSetupId', budgetSetupId)\r\n\t\t\t\t.set('applicationId', applicationId)\r\n\t\t});\r\n\t}\r\n\r\n\t/** It returns the observable of budget setup by prom codigo */\r\n\tgetBudgetSetupPliCnfByPromCodigo(promCodigo: number, cargarListas: boolean): Observable<any> {\r\n\t\treturn this.http.get(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'budget_setup/getPliCnfByPromCodigo',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigo', promCodigo.toString())\r\n\t\t\t\t\t.set('cargarListas', cargarListas.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the observable of budget setup by prom codigo */\r\n\tgetBudgetSetupByPromCodigo(promCode: number): Observable<any> {\r\n\t\treturn this.http.get<BudgetSetup[]>(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'budget_setup/getByPromCodigo',\r\n\t\t\t{ params: new HttpParams().set('promCode', promCode.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t\r\n\t/** It returns the observable of PliCnfPresupuestoAsistente setup by prom codigo */\r\n\tgetBudgetSetupByPromCodigoRubro(rubCodigo: number, promCode: number): Observable<any> {\r\n\t\treturn this.http.get<PliCnfPresupuestoAsistente[]>(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'budget_setup/getByPromCodigoRubro',\r\n\t\t\t{ params: new HttpParams()\r\n\t\t\t\t.set('rubCodigo', rubCodigo.toString())\r\n\t\t\t\t.set('promCode', promCode.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\tupdateWizard(wizard: BudgetWizard): Observable<any> {\r\n\t\treturn this.http\r\n\t\t\t.post<BudgetWizard>(\r\n\t\t\t\tthis.environment.host.backend.frontoffice + URLS.updateWizard,\r\n\t\t\t\twizard,\r\n\t\t\t\t{\r\n\t\t\t\t\theaders: httpOptions.headers\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t\t.pipe(catchError(this.handleError));\r\n\t}\r\n\r\n\t/** It returns the list of budget by application id */\r\n\tgetByApplicationId(applicationId: string): Observable<any> {\r\n\t\treturn this.http.get(this.environment.host.backend.frontoffice + URLS.getByApplicationId, {\r\n\t\t\tparams: new HttpParams().set('applicationId', applicationId)\r\n\t\t});\r\n\t}\r\n\r\n\t/** It returns the list of budget by promCOdigo id */\r\n\tgetByPromCodigo(promCodigo: number): Observable<any> {\r\n\t\treturn this.http.get(this.environment.host.backend.frontoffice + URLS.getByPromCodigo, {\r\n\t\t\tparams: new HttpParams().set('promCodigo', promCodigo.toString())\r\n\t\t});\r\n\t}\r\n\r\n\t/** It returns the list of budget by promCOdigo id */\r\n\t/*\r\n\tgetByPromCodigoRubro(rubCodigo: number, promCodigo: number): Observable<any> {\r\n\t\treturn this.http.get(this.environment.host.backend.frontoffice + URLS.getByPromCodigoRubro, {\r\n\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('rubCodigo', rubCodigo.toString())\r\n\t\t\t\t\t.set('promCodigo', promCodigo.toString())\r\n\r\n\t\t});\r\n\t}\r\n\t*/\r\n\r\n\t\r\n\r\n\t/** It returns the configured currency of the budget */\r\n\tgetConfiguredCurrency(promCodigo: number): Observable<any> {\r\n\t\treturn this.http.get(\r\n\t\t\tthis.environment.host.backend.frontoffice + URLS.getConfiguredCurrency,\r\n\t\t\t{ params: new HttpParams().set('promCode', promCodigo.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\tgetSubjectValidateBudgetCheck(): Observable<boolean> {\r\n\t\treturn this.subjectValidateBudgetCheck.asObservable();\r\n\t}\r\n\r\n\tsetSubjectValidateBudgetCheck(subjectValidateBudgetCheck: boolean = true) {\r\n\t\tthis.subjectValidateBudgetCheck.next(subjectValidateBudgetCheck);\r\n\t}\r\n\r\n\tisFullBudget(applicationId: string): Observable<any> {\r\n\t\treturn this.http.get(this.environment.host.backend.frontoffice + 'budget/isFullBudget', {\r\n\t\t\tparams: new HttpParams().set('applicationId', applicationId)\r\n\t\t});\r\n\t}\r\n\r\n\tupdateCompletedFlag(applicationId: string, completed: boolean): Observable<any> {\r\n\t\treturn this.http.get(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'budget/updateCompletedFlag',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('applicationId', applicationId)\r\n\t\t\t\t\t.set('completed', completed.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { DocumentManagement } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class DocumentManagementService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\t/** It send the email */\r\n\tqueue(documentManagement: DocumentManagement): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.queue + 'document-management/queue',\r\n\t\t\tdocumentManagement,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It send the email of multiple DocumentManagement */\r\n\tqueueMultiple(lDocumentManagement: DocumentManagement[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.queue + 'document-management/queueMultiple',\r\n\t\t\tlDocumentManagement,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It send the email */\r\n\tqueueViews(applicationId: string, promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.queue + 'document-management/queue-views',\r\n\t\t\t{\r\n\t\t\t\tapplicationId: applicationId,\r\n\t\t\t\tpromCodigo: promCodigo\r\n\t\t\t},\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It send the email */\r\n\tqueueViewsListApplication(lApplicationId: string[], promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.queue + 'document-management/queue-views',\r\n\t\t\t{\r\n\t\t\t\tlApplicationId: lApplicationId,\r\n\t\t\t\tpromCodigo: promCodigo\r\n\t\t\t},\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tgetCreditStudyDocuments(promCodigo: number, amount: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice +\r\n\t\t\t\t'document-management/getCreditStudyDocuments',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigo', promCodigo.toString())\r\n\t\t\t\t\t.set('amount', amount.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\ttotalCreditStudyDocuments(promCodigo: number): Observable<number> {\r\n\t\treturn this.httpClient.get<number>(\r\n\t\t\tthis.environment.host.backend.backoffice +\r\n\t\t\t\t'document-management/totalCreditStudyDocuments',\r\n\t\t\t{ params: new HttpParams().set('promCodigo', promCodigo.toString()) }\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { AuthenticationService } from './authentication.service';\r\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { Document, DataTableParameters, CheckProgramQualification } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class DocumentService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tprivate subjectValidateDocumentsCheck = new Subject<boolean>();\r\n\r\n\tconstructor(\r\n\t\t@Inject('environment') private environment,\r\n\t\tprivate httpClient: HttpClient,\r\n\t\tprivate authService: AuthenticationService\r\n\t) {}\r\n\r\n\t/** It returns the document by id */\r\n\tgetById(id: string): Observable<any> {\r\n\t\treturn this.httpClient.get(this.environment.host.backend.frontoffice + 'document/getById', {\r\n\t\t\tparams: new HttpParams().set('id', id.toString())\r\n\t\t});\r\n\t}\r\n\r\n\t/** It returns the document by id */\r\n\tgetByApplicationId(applicationId: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'document/getByApplicationId',\r\n\t\t\t{ params: new HttpParams().set('applicationId', applicationId.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the document by configurationDocumentId */\r\n\tgetByConfigurationDocumentId(configurationDocumentId: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'document/getByConfigurationDocumentId',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set(\r\n\t\t\t\t\t'configurationDocumentId',\r\n\t\t\t\t\tconfigurationDocumentId.toString()\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the document by configurationDocumentId */\r\n\tgetByListStateInConfigurationDocumentId(\r\n\t\tlistState: Array<number>,\r\n\t\tconfigurationDocumentId: number\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'document/getByListStateInConfigurationDocumentId',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('configurationDocumentId', configurationDocumentId.toString())\r\n\t\t\t\t\t.set('listState', listState.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the document by prom code */\r\n\tgetByPromCode(promCode: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'document/getByPromCode',\r\n\t\t\t{ params: new HttpParams().set('promCodigo', promCode.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves a document */\r\n\tsave(document: Document): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'document/save',\r\n\t\t\tdocument,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It checks an admission letter document */\r\n\tcheckAdmissionLetter(document: Document): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'document/checkAdmissionLetter',\r\n\t\t\tdocument,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves a document */\r\n\tupdateState(lDocument: Document[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'document/updateState',\r\n\t\t\tlDocument,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves a document */\r\n\tupdateArchiveProcess(lDocument: Document[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'document/updateArchiveProcess',\r\n\t\t\tlDocument,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the document by prom code */\r\n\tgetByDataTablesParameters(dataTableParameters: DataTableParameters) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'document/getByDataTablesParameters',\r\n\t\t\tdataTableParameters,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tgetListDocumentsByPromCodigoAndRevisor(\r\n\t\tpromCodigo: number,\r\n\t\trevisorLogin: string,\r\n\t\tconfigurationDocumentId: number,\r\n\t\ttaskId: number\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice +\r\n\t\t\t\t'document/getListDocumentsByPromCodigoAndRevisor',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigo', promCodigo.toString())\r\n\t\t\t\t\t.set('revisorLogin', revisorLogin)\r\n\t\t\t\t\t.set('configurationDocumentId', configurationDocumentId.toString())\r\n\t\t\t\t\t.set('taskId', taskId.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns documents by app Id and configDoc Id */\r\n\tgetByApplicationIdAndConfigurationDocumentId(\r\n\t\tapplicationId: string,\r\n\t\tconfigurationDocumentId: number\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice +\r\n\t\t\t\t'document/getByApplicationIdAndConfigurationDocumentId',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('applicationId', applicationId.toString())\r\n\t\t\t\t\t.set('configurationDocumentId', configurationDocumentId.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tupdateDocumentManagementProcess(applicationId: string): Observable<any> {\r\n\t\tlet body = {\r\n\t\t\tapplicationId: applicationId\r\n\t\t};\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'document/updateDocumentManagementProcess',\r\n\t\t\tbody\r\n\t\t);\r\n\t}\r\n\r\n\tgetSubjectValidateDocumentsCheck(): Observable<boolean> {\r\n\t\treturn this.subjectValidateDocumentsCheck.asObservable();\r\n\t}\r\n\r\n\tsetSubjectValidateDocumentsCheck(subjectValidateDocumentsCheck: boolean = true) {\r\n\t\tthis.subjectValidateDocumentsCheck.next(subjectValidateDocumentsCheck);\r\n\t}\r\n\r\n\t/** It upload a document */\r\n\tuploadDocument(uploadDocument: any): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'document/uploadDocument',\r\n\t\t\tuploadDocument,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\t/** It upload a Slice document */\r\n\tuploadDocumentSlice(uploadDocument: any): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'document/uploadDocumentSlice',\r\n\t\t\tuploadDocument,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\t/** It upload a document */\r\n\tdeleteDocument(deleteDocument: any): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'document/deleteDocument',\r\n\t\t\tdeleteDocument,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It upload a document */\r\n\tgetDocumentByConfigIdByCase(\r\n\t\tuserCallTypeId: number,\r\n\t\tdocument: any,\r\n\t\tcodebtorIdentification: string\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'document/getDocumentByConfigIdByCase',\r\n\t\t\t{\r\n\t\t\t\tuserCallTypeId: userCallTypeId,\r\n\t\t\t\tdocument: document,\r\n\t\t\t\tcodebtorIdentification: codebtorIdentification\r\n\t\t\t},\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It checks an admission letter document */\r\n\tcheckProgramQualification(checkProgramQualification: CheckProgramQualification): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'document/checkProgramQualification',\r\n\t\t\tcheckProgramQualification,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { AuthenticationService } from './authentication.service';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { TipoDocumental, HEADER_JSON, AuthenticationUtil } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class DocumentaryTypeService {\r\n\tconstructor(\r\n\t\t@Inject('environment') private environment,\r\n\t\tprivate httpClient: HttpClient,\r\n\t\tprivate authService: AuthenticationService\r\n\t) {}\r\n\r\n\t/** It returns the list of documental type by process code */\r\n\tgetById(tdlCodigo: number, active: boolean): Observable<any> {\r\n\t\tlet httpParams = new HttpParams()\r\n\t\t\t.set('tdlCodigo', tdlCodigo.toString())\r\n\t\t\t.set('cargarListas', active.toString());\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.plis + 'config/tipo-documental/getById',\r\n\t\t\t{ params: httpParams }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the list of documental type by process code */\r\n\tgetAllByProceso(active: boolean, proCodigo: number): Observable<any> {\r\n\t\tlet httpParams = new HttpParams();\r\n\r\n\t\tif (proCodigo) {\r\n\t\t\thttpParams.set('proCodigo', proCodigo.toString());\r\n\r\n\t\t\tif (active !== null) {\r\n\t\t\t\thttpParams = new HttpParams()\r\n\t\t\t\t\t.set('proCodigo', proCodigo.toString())\r\n\t\t\t\t\t.set('cargarListas', active.toString());\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.plis + 'config/tipo-documental/getAllByProceso',\r\n\t\t\t{ params: httpParams }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the list of documental type by process code */\r\n\tgetAllActiveByProceso(proCodigo: number): Observable<any> {\r\n\t\treturn this.getAllByProceso(true, proCodigo);\r\n\t}\r\n\r\n\t/** It saves a documental type */\r\n\tsave(\r\n\t\ttipoDocumentalBefore: TipoDocumental,\r\n\t\ttipoDocumental: TipoDocumental,\r\n\t\tpatCodigo: number\r\n\t): Observable<any> {\r\n\t\tlet object = {\r\n\t\t\ttipoDocumental: tipoDocumental,\r\n\t\t\ttipoDocumentalBefore: tipoDocumentalBefore,\r\n\t\t\tpliUsuario: AuthenticationUtil.getPliUsuario(),\r\n\t\t\tpatCodigo: patCodigo\r\n\t\t};\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.plis + 'config/tipo-documental/save',\r\n\t\t\tobject,\r\n\t\t\tHEADER_JSON\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves a documental type */\r\n\tdelete(tipoDocumental: TipoDocumental, patCodigo: number): Observable<any> {\r\n\t\tlet object = {\r\n\t\t\ttipoDocumental: tipoDocumental,\r\n\t\t\ttipoDocumentalBefore: null,\r\n\t\t\tpliUsuario: AuthenticationUtil.getPliUsuario(),\r\n\t\t\tpatCodigo: patCodigo\r\n\t\t};\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.plis + 'config/tipo-documental/delete',\r\n\t\t\tobject,\r\n\t\t\tHEADER_JSON\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Email } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class EmailService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\t/** It send the email */\r\n\tsend(email: Email): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.queue + 'email/send',\r\n\t\t\temail,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tsendApplicationNotification(noification: any): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.queue + 'email/sendApplicationNotification',\r\n\t\t\tnoification,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n}\r\n","import { Observable } from 'rxjs';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport { CubeRequestTO } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class CubeService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\t/** It sends a request to migration quueue */\r\n\tsend(lCubeRequestTO: CubeRequestTO): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.queue + 'cube/send',\r\n\t\t\tlCubeRequestTO,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport {\r\n\tEvaluation,\r\n\tApplication,\r\n\tEvaluationRequest,\r\n\tApplicationBasicInfo,\r\n\tDataTableParameters,\r\n\tProgramGrade\r\n} from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class EvaluationService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\t/** It saves a entity */\r\n\tsave(evaluation: Evaluation): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'evaluation/save',\r\n\t\t\tevaluation,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t// /** It returns by prom codigo*/\r\n\tgetByPromCodigo(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice + 'evaluation/getByPromCodigo',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('promCodigo', promCodigo.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * Get reviews by evaluator\r\n\t * @param dataTableParameters\r\n\t * @return list of reviews per evaluator\r\n\t */\r\n\tgetByPromCodigoAndEvaluator(dataTableParameters: DataTableParameters): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\t`${this.environment.host.backend.backoffice}evaluation/findByEvaluator`,\r\n\t\t\tdataTableParameters\r\n\t\t);\r\n\t}\r\n\r\n\t/** Get Grouped data */\r\n\tgetGroupingFormFieldsTask(promCodigo: number): Observable<any> {\r\n\t\tlet httpParams = new HttpParams();\r\n\t\thttpParams = httpParams.set('promCodigo', String(promCodigo));\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'evaluation/getGroupingFormFieldsTask',\r\n\t\t\t'',\r\n\t\t\t{ params: httpParams }\r\n\t\t);\r\n\t}\r\n\r\n\t/** Get Grouped data */\r\n\tgetGroupedByDataTasksParameters(\r\n\t\tdataTableParameters: DataTableParameters,\r\n\t\tpromCodigo: number,\r\n\t\tevaluator: string\r\n\t): Observable<any> {\r\n\t\tlet httpParams = new HttpParams()\r\n\t\t\t.set('promCodigo', String(promCodigo))\r\n\t\t\t.set('evaluator', String(evaluator));\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'evaluation/getGroupedByDataTasksParameters',\r\n\t\t\tdataTableParameters,\r\n\t\t\t{ params: httpParams }\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * Get list task ids\r\n\t * @param evaluator\r\n\t * @param promCodigo\r\n\t * @return list task ids\r\n\t */\r\n\tgetGroupedTasksByEvaluatorAndPromCodigo(\r\n\t\tevaluator: string,\r\n\t\tpromCodigo: number\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.backoffice}evaluation/evaluator/${evaluator}/promCodigo/${promCodigo}`\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * Get list indicators\r\n\t * @param dataTableParameters\r\n\t * @return list indicators\r\n\t */\r\n\tgenerateIndicators(dataTableParameters: DataTableParameters): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\t`${this.environment.host.backend.backoffice}evaluation/generateIndicators`,\r\n\t\t\tdataTableParameters\r\n\t\t);\r\n\t}\r\n\r\n\t// /** It returns total assigned and pending tasks of the reviewer*/\r\n\tgetTotalTaskReviewerByTaskIdAndPromCodigo(taskId: number, promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice + 'evaluation/reviewerByTaskIdAndPromCodigo',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('taskId', taskId.toString())\r\n\t\t\t\t\t.set('promCodigo', promCodigo.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** It assigns the task for the reviewer */\r\n\tassignTaskReviwer(\r\n\t\tlistApplication: Array<Application>,\r\n\t\tlistEvaluator: Array<string>,\r\n\t\tlistEvaluatorMails: Array<string>,\r\n\t\ttaskId: number\r\n\t): Observable<any> {\r\n\t\tlet assignTaskRequest = {\r\n\t\t\tlistApplication: listApplication,\r\n\t\t\tlistEvaluator: listEvaluator,\r\n\t\t\tlistEvaluatorMails: listEvaluatorMails,\r\n\t\t\ttaskId: taskId\r\n\t\t};\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'evaluation/assignTask',\r\n\t\t\tassignTaskRequest,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It unAssign the task for the reviewer */\r\n\tunAssignTaskReviwer(\r\n\t\tlistApplication: Array<ApplicationBasicInfo>,\r\n\t\ttaskId: number\r\n\t): Observable<any> {\r\n\t\tlet unAssignTaskRequest = {\r\n\t\t\tlistApplication: listApplication,\r\n\t\t\ttaskId: taskId\r\n\t\t};\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'evaluation/unAssignTaskReviwer',\r\n\t\t\tunAssignTaskRequest,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tgetByApplicationIdIn(lApplicationId: string[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'evaluation/getByApplicationIdIn',\r\n\t\t\tlApplicationId,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tsendEvaluationQueue(evaluationRequest: EvaluationRequest) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\t`${this.environment.host.backend.queue}evaluation/send`,\r\n\t\t\tevaluationRequest\r\n\t\t);\r\n\t}\r\n\r\n\tsetTemplateOutputs(\r\n\t\tapplicationId: string,\r\n\t\ttaskId: number,\r\n\t\tevaluatorId: string,\r\n\t\ttemplateId: number,\r\n\t\tisComplete: boolean,\r\n\t\tisAllTemplatesComplete: boolean,\r\n\t\toutputs: any\r\n\t): Observable<any> {\r\n\t\tconst path =\r\n\t\t\t'evaluation/application/' +\r\n\t\t\tapplicationId +\r\n\t\t\t'/task/' +\r\n\t\t\ttaskId +\r\n\t\t\t'/evaluator/' +\r\n\t\t\tevaluatorId +\r\n\t\t\t'/template/' +\r\n\t\t\ttemplateId +\r\n\t\t\t'/isComplete/' +\r\n\t\t\tisComplete +\r\n\t\t\t'/isAllTemplatesComplete/' +\r\n\t\t\tisAllTemplatesComplete;\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + path,\r\n\t\t\toutputs,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** The first communication with VALPRO, this return the URL where PLIC redirect */\r\n\tgradingJob(sendInfoValpro: any): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.valpro + 'grading-job/',\r\n\t\t\tsendInfoValpro,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** Synchronous method for program grade updating */\r\n\tupdateProgramGrade(\r\n\t\tprogramGrade: ProgramGrade,\r\n\t\tneedToEditComment: boolean,\r\n\t\tcolor: number,\r\n\t\tneedToEditColor: boolean,\r\n\t\tsendToEvaluationQueue: boolean\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.put(\r\n\t\t\tthis.environment.host.backend.backoffice + 'evaluation/updateProgramGrade',\r\n\t\t\tprogramGrade,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('needToEditComment', String(needToEditComment))\r\n\t\t\t\t\t.set('color', String(color))\r\n\t\t\t\t\t.set('needToEditColor', String(needToEditColor))\r\n\t\t\t\t\t.set('sendToEvaluationQueue', String(sendToEvaluationQueue))\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetTemplateOutputsByReviewer(\r\n\t\tapplicationId: string,\r\n\t\ttaskId: number,\r\n\t\treviewer: string,\r\n\t\ttemplateId: number\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice + 'evaluation/getTemplateOutputsByReviewer',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('applicationId', applicationId)\r\n\t\t\t\t\t.set('taskId', taskId.toString())\r\n\t\t\t\t\t.set('reviewer', reviewer)\r\n\t\t\t\t\t.set('templateId', templateId.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetTemplatesByReviewer(\r\n\t\tapplicationId: string,\r\n\t\ttaskId: number,\r\n\t\treviewer: string\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice + 'evaluation/getTemplatesByReviewer',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('applicationId', applicationId)\r\n\t\t\t\t\t.set('taskId', taskId.toString())\r\n\t\t\t\t\t.set('reviewer', reviewer)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetValproTemplateOutputs(applicationId: string, taskId: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice + 'evaluation/getValproTemplateOutputs',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('applicationId', applicationId)\r\n\t\t\t\t\t.set('taskId', taskId.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetValproTemplateOutputsByNumberAndPromCode(\r\n\t\tpromCodigo: number,\r\n\t\tnumberApplication: number,\r\n\t\ttaskId: number\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice +\r\n\t\t\t\t'evaluation/getValproTemplateOutputsByNumberAndPromCode',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigo', promCodigo.toString())\r\n\t\t\t\t\t.set('numberApplication', numberApplication.toString())\r\n\t\t\t\t\t.set('taskId', taskId.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tcheckValproTaskExistsIn(listTasksId: number[]): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice + 'evaluation/checkValproTaskExists',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('listTasksId', listTasksId.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tchangeStateMassiveToComplete(listApplicationsId: string[], taskId: number) {\r\n\t\treturn this.httpClient.put(\r\n\t\t\tthis.environment.host.backend.backoffice + 'evaluation/changeStateMassiveToComplete',\r\n\t\t\tlistApplicationsId,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('taskId', taskId.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetEssayOutputsByReviewer(essayMetadata): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\t`${this.environment.host.backend.backoffice}evaluation/getEssayOutputsByReviewer`,\r\n\t\t\tessayMetadata\r\n\t\t);\r\n\t}\r\n\r\n\tsaveEssayOutputsByReviewer(essayScores): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\t`${this.environment.host.backend.backoffice}evaluation/saveEssayOutputsByReviewer`,\r\n\t\t\tessayScores\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport * as FileSaver from 'file-saver';\r\nimport * as XLSX from 'xlsx';\r\n\r\nconst EXCEL_TYPE =\r\n\t'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\r\nconst EXCEL_EXTENSION = '.xlsx';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class ExportExcelService {\r\n\tconstructor() {}\r\n\r\n\tpublic exportAsExcelFile(json: any[], excelFileName: string): void {\r\n\t\tconst worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json);\r\n\t\t// console.log('worksheet', worksheet);\r\n\t\tconst workbook: XLSX.WorkBook = { Sheets: { data: worksheet }, SheetNames: ['data'] };\r\n\t\tconst excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });\r\n\t\t//const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'buffer' });\r\n\t\tthis.saveAsExcelFile(excelBuffer, excelFileName);\r\n\t}\r\n\r\n\tprivate saveAsExcelFile(buffer: any, fileName: string): void {\r\n\t\tconst data: Blob = new Blob([buffer], {\r\n\t\t\ttype: EXCEL_TYPE\r\n\t\t});\r\n\t\tFileSaver.saveAs(data, fileName + '_export_' + new Date().getTime() + EXCEL_EXTENSION);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { DataTableParameters } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class GlobalShowTaskService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\t/**\r\n\t * save multiple records\r\n\t * @param listData\r\n\t */\r\n\tgetByDataTablesParameters(dataTableParameters: DataTableParameters) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'global-show-task/getByDataTablesParameters',\r\n\t\t\tdataTableParameters,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the user by id */\r\n\tgetEvaluatorByPromCodigo(promCodigo: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice + 'global-show-task/getEvaluatorByPromCodigo',\r\n\t\t\t{ params: new HttpParams().set('promCodigo', promCodigo) }\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getByReviwerAndTemplateWithDataTablesParameters(dataTableParameters: DataTableParameters): Observable<any>{\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'global-show-task/getByReviwerAndTemplateWithDataTablesParameters',\r\n\t\t\tdataTableParameters,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Application } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class ImportDataService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\t/** Saves an application to back-end */\r\n\tsave(application: Application): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'importData/saveApplication',\r\n\t\t\tapplication,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { InteractionApplicationUser } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class InteractionApplicationUserService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\t/** It returns the interactionApplicationUser by id */\r\n\tgetByApplicationId(applicationId: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice +\r\n\t\t\t\t'interactionApplicationUser/getByApplicationId',\r\n\t\t\t{ params: new HttpParams().set('applicationId', applicationId) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the interactionApplicationUser by prom code */\r\n\tgetByPromCode(promCode: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'interactionApplicationUser/getByPromCode',\r\n\t\t\t{ params: new HttpParams().set('promCodigo', promCode.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves a interactionApplicationUser */\r\n\tsave(InteractionApplicationUser: InteractionApplicationUser): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'interactionApplicationUser/save',\r\n\t\t\tInteractionApplicationUser,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the interactionApplicationUser by id */\r\n\tgetByApplicationIdAndPliCnfStatusFlowId(\r\n\t\tapplicationId: string,\r\n\t\tpliCnfStatusFlowId: number\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice +\r\n\t\t\t\t'interactionApplicationUser/getByApplicationIdAndPliCnfStatusFlowId',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('applicationId', applicationId)\r\n\t\t\t\t\t.set('pliCnfStatusFlowId', pliCnfStatusFlowId.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the interactionApplicationUser by id */\r\n\tgetByApplicationIdAndPliCnfInteractionId(\r\n\t\tapplicationId: string,\r\n\t\tpliCnfInteractionId: number\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice +\r\n\t\t\t\t'interactionApplicationUser/getByApplicationIdAndPliCnfInteractionId',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('applicationId', applicationId)\r\n\t\t\t\t\t.set('pliCnfInteractionId', pliCnfInteractionId.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the list of interaction app user by promCodigo and list of pliCnfInteractionId */\r\n\tgetByPromCodigoAndPliCnfInteractionIdIn(\r\n\t\tpromCodigo: number,\r\n\t\tpliCnfInteractionId: number[]\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice +\r\n\t\t\t\t'interactionApplicationUser/getByPromCodigoAndPliCnfInteractionIdIn',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigo', promCodigo.toString())\r\n\t\t\t\t\t.set('pliCnfInteractionId', pliCnfInteractionId.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the list of interaction app user by promCodigo and pliCnfInteractionId */\r\n\tgetByPromCodigoAndInteractionStaticId(\r\n\t\tpromCodigo: number,\r\n\t\tinteractionStaticId: number\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice +\r\n\t\t\t\t'interactionApplicationUser/getByPromCodigoAndInteractionStaticId',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigo', promCodigo.toString())\r\n\t\t\t\t\t.set('interactionStaticId', interactionStaticId.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the list of interaction app user by applicationId and pliCnfInteractionId */\r\n\tgetByApplicationIdAndInteractionStaticId(\r\n\t\tapplicationId: string,\r\n\t\tinteractionStaticId: number\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice +\r\n\t\t\t\t'interactionApplicationUser/getByApplicationIdAndInteractionStaticId',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('applicationId', applicationId.toString())\r\n\t\t\t\t\t.set('interactionStaticId', interactionStaticId.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { ConfigurationDocumentService } from './configuration-document.service';\r\nimport { HEADER_JSON, KeysAssignation, UtilString, DataFormApplication } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class KeysAssignationService {\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\t/** It returns the list of keys assignation by documentary type and prom code */\r\n\tgetByTdlCodigoAndPromCodigo(tdlCodigo: number, promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'keys-assignation/getByTdlCodigoAndPromCodigo',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('tdlCodigo', tdlCodigo.toString())\r\n\t\t\t\t\t.set('promCodigo', promCodigo.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the list of keys assignation by prom code */\r\n\tgetByPromCodigo(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'keys-assignation/getByPromCodigo',\r\n\t\t\t{ params: new HttpParams().set('promCodigo', promCodigo.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves the KeysAssignation object */\r\n\tsave(keysAssignation: KeysAssignation): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'keys-assignation/save',\r\n\t\t\tkeysAssignation,\r\n\t\t\tHEADER_JSON\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves a documental type */\r\n\tdelete(keysAssignation: KeysAssignation): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'keys-assignation/delete',\r\n\t\t\tkeysAssignation,\r\n\t\t\tHEADER_JSON\r\n\t\t);\r\n\t}\r\n\r\n\t/** Create the HTML of the keys of the keysAssignation object */\r\n\tgetTemplateFromKeyAssignation(keysAssignation: KeysAssignation) {\r\n\t\tlet template = '';\r\n\t\tlet lKeysValues: any = [];\r\n\t\tlet lKeysDocType = keysAssignation.keys.split(',');\r\n\t\tlet lValuesDocType = keysAssignation.values.split('<br/>');\r\n\t\tfor (let keyDoc in lKeysDocType) {\r\n\t\t\tlet keysDocType = lKeysDocType[keyDoc];\r\n\t\t\tlet tokenDocumentary = ConfigurationDocumentService.STATIC_TOKEN_DOCUMENTARY.find(\r\n\t\t\t\tfunction (tokenDoc) {\r\n\t\t\t\t\treturn tokenDoc.key === keysDocType;\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t\tlet valuesDocType = null;\r\n\t\t\t// Only if the source don't know, search in tokens. If change need to change when search the result of tokens translate\r\n\t\t\tif (tokenDocumentary && !tokenDocumentary.knowSource) {\r\n\t\t\t\tvaluesDocType = lValuesDocType[keyDoc];\r\n\t\t\t\ttemplate += '<br>' + keysDocType + ':' + valuesDocType;\r\n\t\t\t}\r\n\t\t\tlKeysValues.push({\r\n\t\t\t\tkey: keysDocType,\r\n\t\t\t\tvalue: valuesDocType,\r\n\t\t\t\tknowSource: tokenDocumentary.knowSource\r\n\t\t\t});\r\n\t\t}\r\n\t\ttemplate = keysAssignation.tdlCodigo + '<br>' + template.substring(4);\r\n\t\treturn {\r\n\t\t\tlKeysValues: lKeysValues,\r\n\t\t\tkeysAssignation: keysAssignation,\r\n\t\t\ttemplate: template\r\n\t\t};\r\n\t}\r\n\r\n\t/**\r\n\t *\r\n\t * @param tokenDocumentaryKey The key of the documentary key token\r\n\t * @param infoDocument Object with info of the document\r\n\t */\r\n\tgetValueKnowSource(\r\n\t\tdataFormApplication: DataFormApplication,\r\n\t\ttokenDocumentaryKey: string,\r\n\t\tinfoDocument: any\r\n\t) {\r\n\t\tif (!UtilString.isValid(tokenDocumentaryKey)) {\r\n\t\t\treturn '';\r\n\t\t}\r\n\t\tif (\r\n\t\t\ttokenDocumentaryKey ===\r\n\t\t\tConfigurationDocumentService.STATIC_TOKEN_DOCUMENTARY_KEY_TIPO_DOCUMENTAL\r\n\t\t) {\r\n\t\t\treturn infoDocument.documentaryType.tdlTipoDocumentalOnbase;\r\n\t\t} else if (\r\n\t\t\ttokenDocumentaryKey ===\r\n\t\t\tConfigurationDocumentService.STATIC_TOKEN_DOCUMENTARY_KEY_ESPACIO\r\n\t\t) {\r\n\t\t\treturn '';\r\n\t\t} else if (\r\n\t\t\ttokenDocumentaryKey ===\r\n\t\t\tConfigurationDocumentService.STATIC_TOKEN_DOCUMENTARY_KEY_ANO_PROMOCION\r\n\t\t) {\r\n\t\t\treturn dataFormApplication.pliPromocion.promAnio;\r\n\t\t} else if (\r\n\t\t\ttokenDocumentaryKey ===\r\n\t\t\tConfigurationDocumentService.STATIC_TOKEN_DOCUMENTARY_KEY_PROMOCION\r\n\t\t) {\r\n\t\t\treturn dataFormApplication.pliPromocion.promNombreCorto;\r\n\t\t} else if (\r\n\t\t\ttokenDocumentaryKey ===\r\n\t\t\tConfigurationDocumentService.STATIC_TOKEN_DOCUMENTARY_KEY_PROGRAMA\r\n\t\t) {\r\n\t\t\treturn dataFormApplication.pliPromocion.pliPrograma.progNombreCorto;\r\n\t\t} else if (\r\n\t\t\ttokenDocumentaryKey ===\r\n\t\t\tConfigurationDocumentService.STATIC_TOKEN_DOCUMENTARY_KEY_PATROCINADOR\r\n\t\t) {\r\n\t\t\treturn dataFormApplication.pliPromocion.pliPrograma.pliPatrocinador.patNombreCorto;\r\n\t\t} else if (\r\n\t\t\ttokenDocumentaryKey ===\r\n\t\t\t\tConfigurationDocumentService.STATIC_TOKEN_DOCUMENTARY_KEY_FECHA_ACTUAL ||\r\n\t\t\ttokenDocumentaryKey ===\r\n\t\t\t\tConfigurationDocumentService.STATIC_TOKEN_DOCUMENTARY_KEY_RUTA_DOCUMENTO ||\r\n\t\t\ttokenDocumentaryKey ===\r\n\t\t\t\tConfigurationDocumentService.STATIC_TOKEN_DOCUMENTARY_KEY_CONSECUTIVO ||\r\n\t\t\ttokenDocumentaryKey ===\r\n\t\t\t\tConfigurationDocumentService.STATIC_TOKEN_DOCUMENTARY_KEY_TIPO_ARCHIVO\r\n\t\t) {\r\n\t\t\treturn tokenDocumentaryKey;\r\n\t\t}\r\n\t}\r\n\r\n\t/** It clones the KeysAssignation via PPP */\r\n\tsaveClonning(promCodigoInit: number, promCodigoFinal: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'keys-assignation/saveClonning',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigoInit', promCodigoInit.toString())\r\n\t\t\t\t\t.set('promCodigoFinal', promCodigoFinal.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { AuthenticationService } from './authentication.service';\r\nimport { Observable } from 'rxjs';\r\nimport { PliCnfLetterCampaing } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class LetterCampaingService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(\r\n\t\t@Inject('environment') private environment,\r\n\t\tprivate httpClient: HttpClient,\r\n\t\tprivate authService: AuthenticationService\r\n\t) {}\r\n\r\n\t/** It saves a letter-template */\r\n\tsave(letterCampaing: PliCnfLetterCampaing): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'letter-campaing',\r\n\t\t\tletterCampaing,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the letter campaign types */\r\n\tgetTypes(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice + 'letter-campaing/getTypes'\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the letter campaign by promCodigo */\r\n\tfindAllByPromCodigo(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice + 'letter-campaing/findAllByPromCodigo',\r\n\t\t\t{ params: new HttpParams().set('promCodigo', promCodigo.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/*It returns a letter campaign by Id*/\r\n\tgetById(id: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice + 'letter-campaing/getById',\r\n\t\t\t{ params: new HttpParams().set('id', id.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\tgetLetterCampaignRulesByIdCampaign(idCampaign: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice +\r\n\t\t\t\t'letter-campaing/getLetterCampaignRulesByIdCampaign',\r\n\t\t\t{ params: new HttpParams().set('idCampaign', idCampaign.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It deletes a form by id */\r\n\tdelete(id): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.backoffice + 'letter-campaing',\r\n\t\t\t{ params: new HttpParams().set('id', id) }\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpHeaders, HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class LogService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\t/** It returns all list of log */\r\n\tgetAll(): Observable<any> {\r\n\t\treturn this.httpClient.get(this.environment.host.backend.backoffice + 'log/getAll');\r\n\t}\r\n\r\n\t/** It returns all list of log by promCodigo */\r\n\tgetByPromCodigo(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice + 'log/getByPromCodigo',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('promCodigo', promCodigo.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns all list of log by promCodigo */\r\n\tgetByPromCodigoAndProNombre(promCodigo: number, proNombre: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice + 'log/getByPromCodigoAndProNombre',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigo', promCodigo.toString())\r\n\t\t\t\t\t.set('proNombre', proNombre.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PageService {\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\t/** It returns the list of pages */\r\n\tgetAll(): Observable<any> {\r\n\t\treturn this.httpClient.get(this.environment.host.backend.configuration + 'page/getAll');\r\n\t}\r\n\r\n\t/** It returns the list of pages sections */\r\n\tgetAllSection(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'page/getAllSection'\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns list of page permission ordered */\r\n\tgetAllPagePermissionOrder(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'page/getAllPagePermissionOrder'\r\n\t\t);\r\n\t}\r\n\r\n\t/** Get name page */\r\n\tgetPageNameByPageKey(pageKey: String): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'page/getPageNameByPageKey',\r\n\t\t\t{ params: new HttpParams().set('pageKey', pageKey.toString()) }\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfPageSubProcessService {\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\t/** It returns the list of pages */\r\n\tgetAll(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'PliCnfPageSubProcess/getAll'\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PermissionService {\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\t/** It returns the list of permissions */\r\n\tgetAll(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'permission/getAll'\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the list of type permissions */\r\n\tgetAllTypePermission(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'permission/getAllTypePermission'\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { PliCnfAppCardFilter } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfAppCardFilterService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\t/** It returns all dimension */\r\n\tgetAllCardFilterDimension(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfCardFilterDimension/getAllCardFilterDimension'\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns all Card filter sets */\r\n\tgetAllAppCardFilter(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfAppCardFilter/getAllAppCardFilter'\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves a entity */\r\n\tsave(pliCnfAppCardFilter: PliCnfAppCardFilter): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfAppCardFilter/save',\r\n\t\t\tpliCnfAppCardFilter,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It deletes a entity by id */\r\n\tdelete(id): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfAppCardFilter/delete',\r\n\t\t\t{ params: new HttpParams().set('id', id) }\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { PliCnfCommitteeVisualizationMode } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfCommitteeVisualizationModeService {\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\tpublic getByPromCode(promCode: number): Observable<any> {\r\n\t\tlet httpParams = new HttpParams();\r\n\t\thttpParams = httpParams.set('promCode', String(promCode));\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfCommitteeVisualizationMode/getByPromCode`,\r\n\t\t\t{ params: (httpParams = httpParams) }\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getByCommittee(id: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfCommitteeVisualizationMode/getByCommittee?idCommittee=${id}`\r\n\t\t);\r\n\t}\r\n\r\n\tpublic save(\r\n\t\tpliCnfCommitteeVisualizationMode: PliCnfCommitteeVisualizationMode\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfCommitteeVisualizationMode/save',\r\n\t\t\tpliCnfCommitteeVisualizationMode\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getById(id: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfCommitteeVisualizationMode/getById?id=${id}`\r\n\t\t);\r\n\t}\r\n\r\n\tpublic delete(id: number): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfCommitteeVisualizationMode/delete?id=${id}`\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getConfigCloningCVisualization(\r\n\t\tlVisualCommitte: PliCnfCommitteeVisualizationMode[]\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfCommitteeVisualizationMode/getConfigCloningCVisualization`,\r\n\t\t\tlVisualCommitte\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { PliCnfEvaluationTemplate } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfEvaluationTemplateService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\t/** Returns a PliCnfEvaluationTemplate by id */\r\n\tgetById(id: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'evaluationtemplate/getById',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('id', id.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** Returns a list of PliCnfEvaluationTemplate by ids\r\n\t * @param ids id per template\r\n\t */\r\n\tgetByIds(ids: number[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'evaluationtemplate/getByIdIn',\r\n\t\t\tids\r\n\t\t);\r\n\t}\r\n\r\n\t/** Returns a list of PliCnfEvaluationTemplate by promCode */\r\n\tgetAllByPromCode(promCode: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'evaluationtemplate/getAllByPromCode',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('promCode', promCode.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * Returns a list of PliCnfEvaluationTemplate by promCode and active\r\n\t * @param promCode\r\n\t * @param active define if get templates actives or inactives\r\n\t */\r\n\tgetAllByPromCodeAndActve(promCode: number, active: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'evaluationtemplate/getAllByPromCodeAndActive',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('promCode', promCode.toString()).set('active', active)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * Returns a valpro PliCnfEvaluationTemplate by promCode\r\n\t * @param promCode\r\n\t */\r\n\tgetByPromCodeAndisValpro(promCode: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'evaluationtemplate/getByPromCodeAndIsValpro',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('promCode', promCode.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** Saves a template with its associated document and form records */\r\n\tsave(pliCnfEvaluationTemplate: PliCnfEvaluationTemplate): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'evaluationtemplate/save',\r\n\t\t\tpliCnfEvaluationTemplate,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** Deletes a template with its associated document and form records,\r\n\t * unless there is another configuration using the specified evaluation template */\r\n\tdelete(id: number): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.configuration + 'evaluationtemplate/delete',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('id', id.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** Returns a list of mongo forms by promCode */\r\n\tgetMongoFormByEvaluationTemplateId(evaluationTemplateId: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'evaluationtemplate/mongoForm/getByEvaluationTemplateId',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set(\r\n\t\t\t\t\t'evaluationTemplateId',\r\n\t\t\t\t\tevaluationTemplateId.toString()\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** Returns a list of mongo forms by promCode */\r\n\tgetAllMongoFormsByPromCode(promCode: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'evaluationtemplate/mongoForm/getAllByPromCode',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('promCode', promCode.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** Saves a template with its associated document and form records */\r\n\tsaveMongoForm(mongoForm: any): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'evaluationtemplate/mongoForm/save',\r\n\t\t\tmongoForm,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** Saves a template array with its associated document and form records */\r\n\tsaveAll(lEvaluationTemplate: PliCnfEvaluationTemplate[], promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'evaluationtemplate/saveAll',\r\n\t\t\t{ lEvaluationTemplate, promCodigo },\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpHeaders, HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { PliCnfIndicator } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfIndicatorService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\t/** get by username */\r\n\tpublic getByUsername(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfIndicator/getByUsername'\r\n\t\t);\r\n\t}\r\n\r\n\t/** save */\r\n\tpublic save(pliCnfIndicator: PliCnfIndicator): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfIndicator/save',\r\n\t\t\tpliCnfIndicator,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** save multiple */\r\n\tsaveMultiple(listPliCnfIndicator: PliCnfIndicator[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfIndicator/saveMultiple',\r\n\t\t\tlistPliCnfIndicator,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** delete a record */\r\n\tpublic delete(id: number): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfIndicator/delete',\r\n\t\t\t{ params: new HttpParams().set('id', id.toString()) }\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { PliCnfInteraction } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfInteractionService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\t/** It returns the list by prom codigo */\r\n\tgetByPromCodigo(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfInteraction/getByPromCodigo',\r\n\t\t\t{ params: new HttpParams().set('promCodigo', promCodigo.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves a entity */\r\n\tsave(pliCnfInteraction: PliCnfInteraction): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfInteraction/save',\r\n\t\t\tpliCnfInteraction,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the entity */\r\n\tgetById(id: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfInteraction/getById',\r\n\t\t\t{ params: new HttpParams().set('id', id.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the list */\r\n\tgetAllTypeInteraction(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfInteraction/getAllTypeInteraction'\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the list */\r\n\tgetAllTypeStaticInteraction(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfInteraction/getAllTypeStaticInteraction'\r\n\t\t);\r\n\t}\r\n\r\n\tgetUnUsedStaticInteractions(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfInteraction/getUnUsedStaticInteractions',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('promCodigo', promCodigo.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the list of interaction by promcodigo and type statci interaction id */\r\n\tgetByPromCodigoAndTypeStaticInteractionId(\r\n\t\tpromCodigo: number,\r\n\t\tIdTypeInteraction: number\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfInteraction/getByPromCodigoAndTypeStaticInteractionId',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigo', promCodigo.toString())\r\n\t\t\t\t\t.set('IdTypeInteraction', IdTypeInteraction.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the list of interaction by promcodigo and type statci interaction id */\r\n\tgetByPromCodigoAndTypeStaticInteractionIdAndCommitteeId(\r\n\t\tpromCodigo: number,\r\n\t\tIdTypeInteraction: number,\r\n\t\tcommitteeId: number\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfInteraction/getByPromCodigoAndTypeStaticInteractionIdAndCommitteeId',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigo', promCodigo.toString())\r\n\t\t\t\t\t.set('IdTypeInteraction', IdTypeInteraction.toString())\r\n\t\t\t\t\t.set('committeeId', committeeId.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the list of interaction by promcodigo and no status flow */\r\n\tgetByPromCodigoAndStatusFlowNull(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfInteraction/getByPromCodigoAndStatusFlowNull',\r\n\t\t\t{ params: new HttpParams().set('promCodigo', promCodigo.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves a entity */\r\n\tsaveAll(pliCnfInteraction: PliCnfInteraction[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfInteraction/saveAll',\r\n\t\t\tpliCnfInteraction,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\r\nimport { PliCnfProfileUser } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfProfileUserService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\t/** It returns the user by id */\r\n\tgetByUserLogin(userLogin: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfProfileUser/getByUserLogin',\r\n\t\t\t{ params: new HttpParams().set('userLogin', userLogin) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves a profile */\r\n\tsave(listProfileUser: PliCnfProfileUser[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfProfileUser/save',\r\n\t\t\tlistProfileUser,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves the profile to the user accorfint to patCodigo */\r\n\tsaveProfileByPatrocinador(patCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfProfileUser/saveProfileByPatrocinador',\r\n\t\t\t{ patCodigo: patCodigo },\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It deletes a form by id */\r\n\tdeleteById(id): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfProfileUser/deleteById',\r\n\t\t\t{ params: new HttpParams().set('id', id) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It deletes a form by id */\r\n\tdeleteByListId(listProfileUserId): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfProfileUser/deleteByListId',\r\n\t\t\t{ params: new HttpParams().set('listProfileUserId', listProfileUserId) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It deletes a form by userId, patCodigo, idProfile */\r\n\tdeleteByUserIdAndPatCodigoAndProfileId(listProfileUser: PliCnfProfileUser[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfProfileUser/deleteByUserIdAndPatCodigoAndProfileId',\r\n\t\t\tlistProfileUser,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { PliCnfScenario } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfScenarioService {\r\n\tservice_path = 'pli-cnf-scenario';\r\n\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\t/** Returns a PliCnfScenario by id */\r\n\tgetById(id: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + this.service_path + '/' + id.toString()\r\n\t\t);\r\n\t}\r\n\r\n\t/** Returns a list of PliCnfScenario by promCode */\r\n\tgetAllByPromCode(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\tthis.service_path +\r\n\t\t\t\t'/prom-codigo/' +\r\n\t\t\t\tpromCodigo\r\n\t\t);\r\n\t}\r\n\r\n\t/** Saves a PliCnfScenario */\r\n\tsave(pliCnfScenario: PliCnfScenario): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + this.service_path,\r\n\t\t\tpliCnfScenario,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** Deletes a PliCnfScenario with its associated task records (except tasks themselves) */\r\n\tdelete(id: number): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.configuration + this.service_path + '/' + id.toString()\r\n\t\t);\r\n\t}\r\n\r\n\t/** Saves a PliCnfScenario array */\r\n\tsaveAll(pliCnfScenario: PliCnfScenario[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + this.service_path + '/saveAll',\r\n\t\t\tpliCnfScenario,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { PliCnfSegmentation, PliCnfSegmentationCategory, PliPromocion } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfSegmentationService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\t/** It returns all PliCnfSegmentation*/\r\n\tgetAll(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfSegmentation/getAll'\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns all PliCnfSegmentation*/\r\n\tgetAllByPatCodigo(patCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfSegmentation/getAllByPatCodigo',\r\n\t\t\t{ params: new HttpParams().set('patCodigo', patCodigo.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns PliCnfSegmentation by key field*/\r\n\tgetByKey(key: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfSegmentation/getByKey',\r\n\t\t\t{ params: new HttpParams().set('key', key) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves a entity */\r\n\tsave(pliCnfSegmentation: PliCnfSegmentation): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfSegmentation/save',\r\n\t\t\tpliCnfSegmentation,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves a list of entities */\r\n\tsaveAll(lPliCnfSegmentation: PliCnfSegmentation[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfSegmentation/saveAll',\r\n\t\t\tlPliCnfSegmentation,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves a list of entities */\r\n\tconfigCloningSegmentation(\r\n\t\tmapForms: any,\r\n\t\tmapBudgets: any,\r\n\t\tmapTask: any,\r\n\t\tpromCodigoOld: number,\r\n\t\tpromocion: PliPromocion\r\n\t): Observable<any> {\r\n\t\tlet request = {\r\n\t\t\tmapForms,\r\n\t\t\tmapBudgets,\r\n\t\t\tmapTask,\r\n\t\t\toldPPP: promCodigoOld,\r\n\t\t\tpromocion\r\n\t\t};\r\n\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfSegmentation/configCloningSegmentation',\r\n\t\t\trequest,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns all PliCnfTypeInput*/\r\n\tgetAllTypeInput(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfTypeInput/getAll'\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns all PliCnfSegmentationCategory*/\r\n\tgetAllSegmentationCategory(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfSegmentation/category/getAll'\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves a entity of category */\r\n\tsaveCategory(pliCnfSegmentationCategory: PliCnfSegmentationCategory): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfSegmentation/category/save',\r\n\t\t\tpliCnfSegmentationCategory,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns a list of segmentation tasks with valpro values or best scenario conditions ,according to list of prom codigo */\r\n\tgetSegTasksByValproValuesAndBestSegmentation(listPromCod: Array<number>): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfSegmentation/task/getValproValuesAndBestSegmentationTasks',\r\n\t\t\t{ params: new HttpParams().set('listPromCodigo', listPromCod.toString()) }\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpHeaders, HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { HEADER_JSON, PliCnfStatusFlowInteraction } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfStatusFlowInteractionService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\t/** It returns all list of status by prom code */\r\n\tgetByStatusFlowId(statusFlowId: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfStatusFlowInteraction/getByStatusFlowId',\r\n\t\t\t{ params: new HttpParams().set('statusFlowId', statusFlowId.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns all list of status by prom code */\r\n\tgetByInteractionPromCodigo(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfStatusFlowInteraction/getByInteractionPromCodigo',\r\n\t\t\t{ params: new HttpParams().set('promCodigo', promCodigo.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\tsave(lPliCnfStatusFlowInteraction: PliCnfStatusFlowInteraction[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfStatusFlowInteraction/save',\r\n\t\t\tlPliCnfStatusFlowInteraction,\r\n\t\t\tHEADER_JSON\r\n\t\t);\r\n\t}\r\n\r\n\t/** It delete all status flow interaction by ids */\r\n\tdeleteByStatusFlowIdAndInteractionIdAndPositive(\r\n\t\tstatusFlowId,\r\n\t\tinteractionId,\r\n\t\tpositive\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfStatusFlowInteraction/deleteByStatusFlowIdAndInteractionIdAndPositive',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('statusFlowId', statusFlowId)\r\n\t\t\t\t\t.set('interactionId', interactionId)\r\n\t\t\t\t\t.set('positive', positive)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** It delete a status flow interaction by list id */\r\n\tdeleteByListId(lPliCnfStatusFlowInteraction: PliCnfStatusFlowInteraction[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfStatusFlowInteraction/deleteByListId',\r\n\t\t\tlPliCnfStatusFlowInteraction,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It delete a status flow interaction by id */\r\n\tdeleteById(statusFlowInteractionId): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfStatusFlowInteraction/deleteById',\r\n\t\t\t{ params: new HttpParams().set('statusFlowInteractionId', statusFlowInteractionId) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns all list of status by prom code, status id and list of profile id */\r\n\tgetByPromCodigoAndStatusIdAndProfileIdIn(\r\n\t\tpliCnfStatusFlowInteraction: PliCnfStatusFlowInteraction\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfStatusFlowInteraction/getByPromCodigoAndStatusIdAndProfileIdIn',\r\n\t\t\tpliCnfStatusFlowInteraction,\r\n\t\t\tHEADER_JSON\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns all list of status by prom code, status id and list of profile id */\r\n\tgetByStatusStarIdAndInteractionId(\r\n\t\tstatusStartId: number,\r\n\t\tinteractionId: number,\r\n\t\tpositive: boolean\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfStatusFlowInteraction/getByStatusStarIdAndInteractionId',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('statusStartId', statusStartId.toString())\r\n\t\t\t\t\t.set('interactionId', interactionId.toString())\r\n\t\t\t\t\t.set('positive', positive.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tsaveAll(lPliCnfStatusFlowInteraction: PliCnfStatusFlowInteraction[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfStatusFlowInteraction/saveAll',\r\n\t\t\tlPliCnfStatusFlowInteraction,\r\n\t\t\tHEADER_JSON\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpHeaders, HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthenticationService } from './authentication.service';\r\nimport { HEADER_JSON, PliCnfStatusFlow, PliCnfStatusEmail } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfStatusFlowService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(\r\n\t\t@Inject('environment') private environment: any,\r\n\t\tprivate httpClient: HttpClient,\r\n\t\tprivate authService: AuthenticationService\r\n\t) {}\r\n\r\n\t/** It returns all list of status by prom code */\r\n\tgetById(statusFlowId: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfStatusFlow/getById',\r\n\t\t\t{ params: new HttpParams().set('statusFlowId', statusFlowId.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns all list of status by prom code */\r\n\tgetAllByPromCode(promCode: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfStatusFlow/getAllByPromCode',\r\n\t\t\t{ params: new HttpParams().set('promCodigo', promCode.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns all list of status by prom code */\r\n\tgetAllActiveByPromCode(promCode: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfStatusFlow/getAllActiveByPromCode',\r\n\t\t\t{ params: new HttpParams().set('promCodigo', promCode.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\tgetMailConfiguration(statusFlow: number): Observable<PliCnfStatusEmail> {\r\n\t\treturn this.httpClient.get<PliCnfStatusEmail>(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfStatusFlowMailing/getByStatusFlow/${statusFlow}`\r\n\t\t);\r\n\t}\r\n\r\n\tsaveMailConfiguration(conf: PliCnfStatusEmail): Observable<PliCnfStatusEmail> {\r\n\t\treturn this.httpClient.post<PliCnfStatusEmail>(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfStatusFlowMailing`,\r\n\t\t\tconf\r\n\t\t);\r\n\t}\r\n\r\n\tsave(cnfStatusFlow: PliCnfStatusFlow): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfStatusFlow/save',\r\n\t\t\tcnfStatusFlow,\r\n\t\t\tHEADER_JSON\r\n\t\t);\r\n\t}\r\n\r\n\tsaveAll(cnfStatusFlow: PliCnfStatusFlow[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfStatusFlow/saveAll',\r\n\t\t\tcnfStatusFlow,\r\n\t\t\tHEADER_JSON\r\n\t\t);\r\n\t}\r\n\r\n getAllActiveByStatusEndId(statusEnd: number): Observable<any> {\r\n return this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfStatusFlow/getAllActiveByStatusEnd',\r\n\t\t\t{ params: new HttpParams().set('statusEndId', statusEnd.toString()) }\r\n\t\t);\r\n }\r\n\r\n sendEmail(statusFlowId: number, listApplicationId: Array<String>) {\r\n return this.httpClient.post(\r\n this.environment.host.backend.configuration + 'pliCnfStatusFlowMailing/sendEmail/' + statusFlowId,\r\n\t\t\tlistApplicationId,\r\n\t\t\tHEADER_JSON\r\n );\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { PliCnfSupportDocument } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfSupportDocumentService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\tprivate urlBase = this.environment.host.backend.configuration;\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\t/** It returns all by prom codigo */\r\n\tgetByPromCodigo(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(this.urlBase + 'pliCnfSupportDocument/getByPromCodigo', {\r\n\t\t\tparams: new HttpParams().set('promCodigo', promCodigo.toString())\r\n\t\t});\r\n\t}\r\n\r\n\t/** It returns all actives by prom codigo */\r\n\tgetActivesByPromCodigo(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.urlBase + 'pliCnfSupportDocument/getByPromCodigoAndActive',\r\n\t\t\t{ params: new HttpParams().set('promCodigo', promCodigo.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves a entity */\r\n\tsave(pliCnfSupportDocument: PliCnfSupportDocument): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.urlBase + 'pliCnfSupportDocument/save',\r\n\t\t\tpliCnfSupportDocument,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It deletes a entity by id */\r\n\tdelete(id): Observable<any> {\r\n\t\treturn this.httpClient.delete(this.urlBase + 'pliCnfSupportDocument/delete', {\r\n\t\t\tparams: new HttpParams().set('id', id)\r\n\t\t});\r\n\t}\r\n\r\n\tgetConfigClonedSupportDocument(oldPPP: number, newPPP: number) {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.urlBase}pliCnfSupportDocument/getConfigClonedSupportDocument`,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('oldPPP', oldPPP.toString())\r\n\t\t\t\t\t.set('newPPP', newPPP.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tfindTagsByApplications(applicationId: string) {\r\n\t\treturn this.httpClient.get(this.urlBase + 'pliCnfSupportDocument/getTagsByApplication', {\r\n\t\t\tparams: new HttpParams().set('applicationId', applicationId)\r\n\t\t});\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { PliCnfText } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfTextService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\t/** It returns by prom codigo and id type text*/\r\n\tgetByPromCodigoAndidTypeText(promCodigo: number, idTypeText: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfText/getByPromCodigoAndidTypeText',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigo', promCodigo.toString())\r\n\t\t\t\t\t.set('idTypeText', idTypeText.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns by prom codigo and id type text*/\r\n\tgetByPromCodigoAndidTypeTextIn(promCodigo: number, idTypeTextList: number[]): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfText/getByPromCodigoAndidTypeTextIn',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigo', promCodigo.toString())\r\n\t\t\t\t\t.set('idTypeTextList', idTypeTextList.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetByPromCodigoInAndidTypeText(promCodigos: number[], idTypeText: number): Observable<any> {\r\n\t\tconst params = new HttpParams()\r\n\t\t\t.set('promCodigos', promCodigos.toString())\r\n\t\t\t.set('idTypeText', idTypeText.toString());\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfText/getByPromCodigoInAndidTypeText`,\r\n\t\t\t{ params }\r\n\t\t);\r\n\t}\r\n\r\n\tgetByPromCodigo(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfText/getByPromCodigo',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('promCodigo', promCodigo.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves a entity */\r\n\tsave(pliCnfText: PliCnfText): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfText/save',\r\n\t\t\tpliCnfText,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tgetConfigCloningText(oldPPP: number, newPPP: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfText/getConfigCloningText',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('oldPPP', oldPPP.toString())\r\n\t\t\t\t\t.set('newPPP', newPPP.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { PliCnfUserWorkspace } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfUserWorkspaceService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\t/** It returns all by userName */\r\n\tgetByUserName(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfUserWorkspace/getByUserName'\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves a entity */\r\n\tsave(pliCnfUserWorkspace: PliCnfUserWorkspace): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfUserWorkspace/save',\r\n\t\t\tpliCnfUserWorkspace,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It deletes a entity by id */\r\n\tdelete(id): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.configuration + 'PliCnfUserWorkspace/delete',\r\n\t\t\t{ params: new HttpParams().set('id', id) }\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { PliCnfValproKeys } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfValproKeysService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\t/** It returns the list of configuration by prom codigo */\r\n\tgetByPromCodigo(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfValProKeys/getByPromCodigo',\r\n\t\t\t{ params: new HttpParams().set('promCodigo', promCodigo.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves the configuration */\r\n\tsave(pliCnfValproKeys: PliCnfValproKeys): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfValProKeys/save',\r\n\t\t\tpliCnfValproKeys,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\t/** It saves an array of valpro keys*/\r\n\tsaveAll(pliCnfValproKeys: PliCnfValproKeys[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfValProKeys/saveAll',\r\n\t\t\tpliCnfValproKeys,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { PliCnfWorkspaceSegmentation } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfWorkspaceSegmentationService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\t/** It saves a entity */\r\n\tsave(pliCnfWorkspaceSegmentation: PliCnfWorkspaceSegmentation): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfWorkspaceSegmentation/save',\r\n\t\t\tpliCnfWorkspaceSegmentation,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the unique configuration*/\r\n\tgetFirst(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfWorkspaceSegmentation/getFirst'\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { AuthenticationService } from './authentication.service';\r\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { Document, DataTableParameters } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliMultipleValueFilterService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\t/** It returns the config filter by id */\r\n\tgetById(id: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.segmentation + 'pliMultipleValueFilter/getById',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('id', id.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the filter by the keyField specified */\r\n\tgetByKeyField(keyField: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.segmentation + 'pliMultipleValueFilter/getByKeyField',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('keyField', keyField.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns All the filter configured */\r\n\tgetAll(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.segmentation + 'pliMultipleValueFilter/getAll'\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpHeaders, HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { PliPromocionUsername } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliPromocionUsernameService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\t/** get by promcodigo */\r\n\tpublic getByPromCodigo(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliPromocionUsername/getByPromCodigo',\r\n\t\t\t{ params: new HttpParams().set('promCodigo', promCodigo.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** get by promcodigo */\r\n\tpublic getByUsernameAndPromCodigoIn(listIds: Array<number>): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliPromocionUsername/getByUsernameAndPromCodigoIn',\r\n\t\t\t{ params: new HttpParams().set('listIds', listIds.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** get usernames not in promCodigo */\r\n\tpublic getUsernamesNotInPromCodigo(\r\n\t\tlistUsername: Array<String>,\r\n\t\tpromCodigo: number\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliPromocionUsername/getUsernamesNotInPromCodigo',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('listUsername', listUsername.toString())\r\n\t\t\t\t\t.set('promCodigo', promCodigo.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** save */\r\n\tpublic save(pliPromocionUsername: PliPromocionUsername): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliPromocionUsername/save',\r\n\t\t\tpliPromocionUsername,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** save multiple */\r\n\tpublic saveMultiple(listPliPromocionUsername: PliPromocionUsername[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliPromocionUsername/saveMultiple',\r\n\t\t\tlistPliPromocionUsername,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** delete by id */\r\n\tpublic delete(id: number): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliPromocionUsername/delete',\r\n\t\t\t{ params: new HttpParams().set('id', id.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** delete by list id */\r\n\tpublic deleteMultiple(listId: number[]): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliPromocionUsername/deleteMultiple',\r\n\t\t\t{ params: new HttpParams().set('listId', listId.toString()) }\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\r\n\r\nimport { AuthenticationService } from './authentication.service';\r\nimport { Observable } from 'rxjs';\r\nimport {\r\n\tDataTableParameters,\r\n\tPliSegSearch,\r\n\tPliSegList,\r\n\tIndicatorRequest,\r\n\tStatisticRequest,\r\n\tSegmentationColorRequestDto\r\n} from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliSegmentationService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(\r\n\t\t@Inject('environment') private environment: any,\r\n\t\tprivate httpClient: HttpClient,\r\n\t\tprivate authService: AuthenticationService\r\n\t) {}\r\n\r\n\t/** It returns all list of status by prom code */\r\n\tgetByDataTablesParameters(dataTableParameters: DataTableParameters): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.segmentation +\r\n\t\t\t\t'PlicSegmentationTableController/getByDataTablesParameters',\r\n\t\t\tdataTableParameters,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns all list of status by prom code */\r\n\tgenerateIndicator(indicatorRequest: IndicatorRequest): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.segmentation +\r\n\t\t\t\t'PlicSegmentationTableController/generateIndicator',\r\n\t\t\tindicatorRequest,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns an indicator response for pli-datatable component */\r\n\tgenerateGenericIndicator(indicatorRequest: IndicatorRequest[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.segmentation +\r\n\t\t\t\t'PlicSegmentationTableController/generateGenericIndicator',\r\n\t\t\tindicatorRequest,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns all list of status by prom code */\r\n\tgenerateStatistic(statisticRequest: StatisticRequest): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.segmentation +\r\n\t\t\t\t'PlicSegmentationTableController/generateStatistic',\r\n\t\t\tstatisticRequest,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns list columns by pat code */\r\n\tgetColumnsByPatCodigo(patCodigo: number): Observable<any> {\r\n\t\tlet patCodigoS = patCodigo ? patCodigo.toString() : '';\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.segmentation +\r\n\t\t\t\t'PlicSegmentationTableController/getColumnsByPatCodigo',\r\n\t\t\t{ params: new HttpParams().set('patCodigo', patCodigoS) }\r\n\t\t);\r\n\t}\r\n\r\n\tgetCards(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.segmentation + 'PlicSegmentationCard/getCards'\r\n\t\t);\r\n\t}\r\n\r\n\t/*******************/\r\n\t/* SEARCH Services */\r\n\t/*******************/\r\n\tgetSearchByUserTopFive(userId: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.segmentation +\r\n\t\t\t\t'PlicSegmentationTableController/getSearchByUserTopFive',\r\n\t\t\t{ params: new HttpParams().set('userId', userId.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\tupdatePositionSearch(lPliSegSearch: PliSegSearch[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.segmentation +\r\n\t\t\t\t'PlicSegmentationTableController/updatePositionSearch',\r\n\t\t\tlPliSegSearch,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tsaveAllSearch(lPliSegSearch: PliSegSearch[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.segmentation +\r\n\t\t\t\t'PlicSegmentationTableController/saveAllSearch',\r\n\t\t\tlPliSegSearch,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It deletes a search object by id */\r\n\tdeleteSearch(id): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.segmentation +\r\n\t\t\t\t'PlicSegmentationTableController/deleteSearch',\r\n\t\t\t{ params: new HttpParams().set('id', id) }\r\n\t\t);\r\n\t}\r\n\r\n\tchangeTopFiveSearch(userId: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.segmentation +\r\n\t\t\t\t'PlicSegmentationTableController/changeTopFiveSearch',\r\n\t\t\t{ params: new HttpParams().set('userId', userId.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\tshowEllipsisSearchByUser(userId: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.segmentation +\r\n\t\t\t\t'PlicSegmentationTableController/showEllipsisSearchByUser',\r\n\t\t\t{ params: new HttpParams().set('userId', userId.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\tgetSearchByIdOrderByName(userId: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.segmentation +\r\n\t\t\t\t'PlicSegmentationTableController/getSearchByIdOrderByName',\r\n\t\t\t{ params: new HttpParams().set('userId', userId.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\tgetPublicSearch(lastNHours: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.segmentation +\r\n\t\t\t\t'PlicSegmentationTableController/getPublicSearch',\r\n\t\t\t{ params: new HttpParams().set('lastNHours', lastNHours.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/*****************/\r\n\t/* LIST Services */\r\n\t/*****************/\r\n\tgetListByUserTopFive(userId: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.segmentation +\r\n\t\t\t\t'PlicSegmentationTableController/getListByUserTopFive',\r\n\t\t\t{ params: new HttpParams().set('userId', userId.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\tupdatePositionList(lPliSegList: PliSegList[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.segmentation +\r\n\t\t\t\t'PlicSegmentationTableController/updatePositionList',\r\n\t\t\tlPliSegList,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tsaveAllList(lPliSegList: PliSegList[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.segmentation +\r\n\t\t\t\t'PlicSegmentationTableController/saveAllList',\r\n\t\t\tlPliSegList,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It deletes a List object by id */\r\n\tdeleteList(id): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.segmentation +\r\n\t\t\t\t'PlicSegmentationTableController/deleteList',\r\n\t\t\t{ params: new HttpParams().set('id', id) }\r\n\t\t);\r\n\t}\r\n\r\n\tchangeTopFiveList(userId: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.segmentation +\r\n\t\t\t\t'PlicSegmentationTableController/changeTopFiveList',\r\n\t\t\t{ params: new HttpParams().set('userId', userId.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\tshowEllipsisListByUser(userId: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.segmentation +\r\n\t\t\t\t'PlicSegmentationTableController/showEllipsisListByUser',\r\n\t\t\t{ params: new HttpParams().set('userId', userId.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\tgetListByIdOrderByName(userId: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.segmentation +\r\n\t\t\t\t'PlicSegmentationTableController/getListByIdOrderByName',\r\n\t\t\t{ params: new HttpParams().set('userId', userId.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\tgetPublicList(lastNHours: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.segmentation +\r\n\t\t\t\t'PlicSegmentationTableController/getPublicList',\r\n\t\t\t{ params: new HttpParams().set('lastNHours', lastNHours.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\tchangeColor(segmentationColorRequestDto: SegmentationColorRequestDto): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.segmentation +\r\n\t\t\t\t'PlicSegmentationTableController/changeColor',\r\n\t\t\tsegmentationColorRequestDto,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpHeaders, HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { PliTag, TagTo } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliTagService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\t/** It returns a list of tag by name */\r\n\tgetTagByNameLike(nameLike: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.segmentation + 'plicSegmentationTag/getByNameLike',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('name', nameLike)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** Saves a tag with its associated segmentation records */\r\n\tsave(tag: PliTag, applicationIds: string[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.segmentation + 'plicSegmentationTag/save',\r\n\t\t\t{\r\n\t\t\t\ttag: tag,\r\n\t\t\t\tapplicationIds: applicationIds\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tsaveTagQueue(tag: TagTo): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.queue + 'tag/save',\r\n\t\t\ttag,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** Deletes a tag from its associated segmentation records */\r\n\tdeleteTagFromSegmentationList(tagName: string, applicationIds: string[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.segmentation +\r\n\t\t\t\t'plicSegmentationTag/deleteTagFromSegmentationList',\r\n\t\t\t{\r\n\t\t\t\ttagName: tagName,\r\n\t\t\t\tapplicationIds: applicationIds\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** Deletes a list of tags from an associated segmentation record */\r\n\tdeleteTagsFromSegmentation(applicationId: string, tagNames: string[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.segmentation +\r\n\t\t\t\t'plicSegmentationTag/deleteTagsFromSegmentation',\r\n\t\t\t{\r\n\t\t\t\tapplicationId: applicationId,\r\n\t\t\t\ttagNames: tagNames\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\r\nimport { PliUser } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliUserService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\t/** It returns the list */\r\n\tgetAll(): Observable<any> {\r\n\t\treturn this.httpClient.get(this.environment.host.backend.configuration + 'pliUser/getAll');\r\n\t}\r\n\r\n\t/** It deletes a form by id */\r\n\tdelete(id): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliUser/delete',\r\n\t\t\t{ params: new HttpParams().set('id', id) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the user by id */\r\n\tgetById(id: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliUser/getById',\r\n\t\t\t{ params: new HttpParams().set('id', id.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the user by id */\r\n\tgetByLogin(login: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliUser/getByLogin',\r\n\t\t\t{ params: new HttpParams().set('login', login) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves a user */\r\n\tsave(user: PliUser): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliUser/save',\r\n\t\t\tuser,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the list of users by patCodigo and list of profiles id */\r\n\tgetByPatCodigoAndProfileIdList(patCodigo: number, listProfileId: number[]): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliUser/getByPatCodigoAndProfileIdList',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('patCodigo', patCodigo.toString())\r\n\t\t\t\t\t.set('listProfileId', listProfileId.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\r\nimport { PliCnfProfile } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class ProfileService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\t/** It returns the profile by id */\r\n\tgetAll(): Observable<any> {\r\n\t\treturn this.httpClient.get(this.environment.host.backend.configuration + 'profile/getAll');\r\n\t}\r\n\r\n\t/** It returns the profile by id */\r\n\tgetById(id: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'profile/getById',\r\n\t\t\t{ params: new HttpParams().set('id', id.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the profile by userId and patCodigo */\r\n\tgetByUserIdAndPatCodigo(\r\n\t\tuserId: number,\r\n\t\tpatCodigo: number,\r\n\t\tcargarListas: boolean\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'profile/getByUserIdAndPatCodigo',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('userId', userId.toString())\r\n\t\t\t\t\t.set('patCodigo', patCodigo.toString())\r\n\t\t\t\t\t.set('cargarListas', cargarListas.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the profile by patCodigo */\r\n\tgetByPatCodigo(patCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'profile/getByPatCodigo',\r\n\t\t\t{ params: new HttpParams().set('patCodigo', patCodigo.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the profile by form id */\r\n\tgetByFormId(formId: string, cargarListas: boolean): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'profile/getByFormId',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('formId', formId)\r\n\t\t\t\t\t.set('cargarListas', cargarListas.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves a profile */\r\n\tsave(profile: PliCnfProfile): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'profile/save',\r\n\t\t\tprofile,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It deletes a form by id */\r\n\tdelete(id): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.configuration + 'profile/delete',\r\n\t\t\t{ params: new HttpParams().set('id', id) }\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { SegmentationUser } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class SegmentationUserService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\tgetSegmentationByUserTopFive(username: string, type: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.segmentation +\r\n\t\t\t\t'PlicSegmentationUserController/getSegmentationByUserTopFive',\r\n\t\t\t{ params: new HttpParams().set('username', username).set('type', type.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\tupdatePositionSegmentation(lSegmentationUser: SegmentationUser[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.segmentation +\r\n\t\t\t\t'PlicSegmentationUserController/updatePositionSegmentation',\r\n\t\t\tlSegmentationUser,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tsaveAllSegmentation(lSegmentationUser: SegmentationUser[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.segmentation +\r\n\t\t\t\t'PlicSegmentationUserController/saveAllSegmentation',\r\n\t\t\tlSegmentationUser,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It deletes a search object by id */\r\n\tdeleteSegmentation(id): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.segmentation +\r\n\t\t\t\t'PlicSegmentationUserController/deleteSegmentation',\r\n\t\t\t{ params: new HttpParams().set('id', id) }\r\n\t\t);\r\n\t}\r\n\r\n\tchangeTopFiveSegmentation(username: string, type: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.segmentation +\r\n\t\t\t\t'PlicSegmentationUserController/changeTopFiveSegmentation',\r\n\t\t\t{ params: new HttpParams().set('username', username).set('type', type.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\tshowEllipsisSegmentationByUser(username: string, type: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.segmentation +\r\n\t\t\t\t'PlicSegmentationUserController/showEllipsisSegmentationByUser',\r\n\t\t\t{ params: new HttpParams().set('username', username).set('type', type.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\tgetSegmentationGreaterThanPosition(\r\n\t\tusername: string,\r\n\t\ttype: number,\r\n\t\tposition: number\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.segmentation +\r\n\t\t\t\t'PlicSegmentationUserController/getSegmentationGreaterThanPosition',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('username', username)\r\n\t\t\t\t\t.set('type', type.toString())\r\n\t\t\t\t\t.set('position', position.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetSegmentationByIdOrderByName(username: string, type: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.segmentation +\r\n\t\t\t\t'PlicSegmentationUserController/getSegmentationByIdOrderByName',\r\n\t\t\t{ params: new HttpParams().set('username', username).set('type', type.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\tgetSegmentationById(segmentationId: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.segmentation +\r\n\t\t\t\t'PlicSegmentationUserController/getSegmentationById',\r\n\t\t\t{ params: new HttpParams().set('segmentationId', segmentationId) }\r\n\t\t);\r\n\t}\r\n\r\n\tgetAllSegmentationByLoginAndType(username: string, type: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.segmentation +\r\n\t\t\t\t'PlicSegmentationUserController/getAllSegmentationByLoginAndType',\r\n\t\t\t{ params: new HttpParams().set('username', username).set('type', type.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\tgetPublicSegmentation(lastNHours: number, type: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.segmentation +\r\n\t\t\t\t'PlicSegmentationUserController/getPublicSegmentation',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('lastNHours', lastNHours.toString())\r\n\t\t\t\t\t.set('type', type.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetSegColumn(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.segmentation +\r\n\t\t\t\t'PlicSegmentationUserController/getSegColumn',\r\n\t\t\t{ params: new HttpParams() }\r\n\t\t);\r\n\t}\r\n\r\n\tgetSegmentationByName(username: string, type: number, name: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.segmentation +\r\n\t\t\t\t'PlicSegmentationUserController/getSegmentationByName',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('username', username)\r\n\t\t\t\t\t.set('type', type.toString())\r\n\t\t\t\t\t.set('name', name)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { SegmentationTO } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class SegmentationService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\t/** It send the email */\r\n\tsend(segmentation: SegmentationTO): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.queue + 'segmentation/send',\r\n\t\t\tsegmentation,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\t/** It send the email */\r\n\tsendMultiple(listSegmentation: SegmentationTO[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.queue + 'segmentation/sendMassive',\r\n\t\t\tlistSegmentation,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { TokenService } from './token.service';\r\nimport { EmailService } from './email.service';\r\nimport { InteractionApplicationUserService } from './interaction-application-user.service';\r\nimport {\r\n\tApplication,\r\n\tBudgetData,\r\n\tConfigurationDocument,\r\n\tSendApplication,\r\n\tETipoPresupuesto,\r\n\tEBudgetBuildType,\r\n\tEBudgetError,\r\n\tDocument,\r\n\tEDocumentState,\r\n\tEmail,\r\n\tInteractionApplicationUser,\r\n\tPliCnfStatusFlowInteraction,\r\n\tETypeStaticInteraction,\r\n\tPliCnfStatus,\r\n\tPliCnfStatusPageSection,\r\n\tAuthenticationUtil,\r\n\tECnfPageSection\r\n} from 'ng-pli-util';\r\nimport { FormioUtil } from '../utils/formio-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class SendApplicationService {\r\n\t/** This observable allows to get the porcentage */\r\n\tprivate percentageSubject = new BehaviorSubject<number>(0);\r\n\r\n\tconstructor(\r\n\t\t@Inject('environment') private environment,\r\n\t\tprivate tokenService: TokenService,\r\n\t\tprivate emailService: EmailService,\r\n\t\tprivate interactionApplicationUserService: InteractionApplicationUserService\r\n\t) {}\r\n\r\n\t/** It has an observable to notify if the percentage is changed */\r\n\tpublic onChangePercentage(): Observable<number> {\r\n\t\treturn this.percentageSubject.asObservable();\r\n\t}\r\n\r\n\t/** it defines the value for percentage */\r\n\tpublic setPercentage(current: number, total: number) {\r\n\t\tif (current && total) {\r\n\t\t\tconst percentage = (current / total) * 100;\r\n\t\t\tthis.percentageSubject.next(percentage);\r\n\t\t} else {\r\n\t\t\tthis.resetPercentage();\r\n\t\t}\r\n\t}\r\n\r\n\t/** it resets the percentage */\r\n\tpublic resetPercentage() {\r\n\t\tthis.percentageSubject.next(0);\r\n\t}\r\n\r\n\t/**\r\n\t * It send email masively\r\n\t * @param application\r\n\t * @param i current idnex\r\n\t * @param length length\r\n\t * @param sendApplication\r\n\t */\r\n\tsendEmailMassively(application: Application) {\r\n\t\tlet email: Email = new Email();\r\n\t\temail.addTo('pruebaconvo@ben.colfuturo.org');\r\n\t\t// uncomment when the environment\r\n\t\temail.setSubject('Envío de solicitud ' + application.id);\r\n\t\temail.setBody('Cordial saludo, <br/>Hemos enviado la solicitud ' + application.id);\r\n\t\treturn this.emailService.send(email);\r\n\t}\r\n\r\n\t/** Send email application */\r\n\tsendEmail(application: Application) {\r\n\t\tlet email: Email = new Email();\r\n\t\temail.addTo('pruebaconvo@ben.colfuturo.org');\r\n\t\t// uncomment when the environment\r\n\t\temail.setSubject('Envío de solicitud ' + application.id);\r\n\t\temail.setBody('Cordial saludo, <br/>Has enviado la solicitud ' + application.id);\r\n\t\treturn this.emailService.send(email);\r\n\t}\r\n\r\n\t/** It saves the interaction */\r\n\tsaveInteraction(\r\n\t\tapplicationId: string,\r\n\t\tpromCodigo: number,\r\n\t\tpliCnfStatusFlowInteraction: PliCnfStatusFlowInteraction,\r\n\t\tobservation?: string\r\n\t): Observable<any> {\r\n\t\tlet interactionAppUser: InteractionApplicationUser = new InteractionApplicationUser();\r\n\t\tinteractionAppUser.applicationId = applicationId;\r\n\t\tinteractionAppUser.promCodigo = promCodigo;\r\n\r\n\t\tif (\r\n\t\t\tpliCnfStatusFlowInteraction.pliCnfInteraction &&\r\n\t\t\tpliCnfStatusFlowInteraction.pliCnfInteraction.id\r\n\t\t)\r\n\t\t\tinteractionAppUser.pliCnfInteractionId =\r\n\t\t\t\tpliCnfStatusFlowInteraction.pliCnfInteraction.id;\r\n\t\tif (\r\n\t\t\tpliCnfStatusFlowInteraction.pliCnfStatusFlow &&\r\n\t\t\tpliCnfStatusFlowInteraction.pliCnfStatusFlow.id\r\n\t\t)\r\n\t\t\tinteractionAppUser.pliCnfStatusFlowId = pliCnfStatusFlowInteraction.pliCnfStatusFlow.id;\r\n\t\tif (pliCnfStatusFlowInteraction.id)\r\n\t\t\tinteractionAppUser.pliCnfStatusFlowInteractionId = pliCnfStatusFlowInteraction.id;\r\n\r\n\t\tinteractionAppUser.interactionStaticId = ETypeStaticInteraction.SEND_APPLICATION;\r\n\t\tinteractionAppUser.pliUserId = AuthenticationUtil.getPliUsuario()\r\n\t\t\t? AuthenticationUtil.getPliUsuario().usuCodigo\r\n\t\t\t: null;\r\n\t\tinteractionAppUser.positive = true;\r\n\t\tinteractionAppUser.observation = observation ? observation : 'Envío de solicitud';\r\n\t\treturn this.interactionApplicationUserService.save(interactionAppUser);\r\n\t}\r\n\r\n\tsaveInteractionInformation(\r\n\t\tinteractionAppUser: InteractionApplicationUser,\r\n\t\tresolve: any,\r\n\t\treject: any\r\n\t) {\r\n\t\tthis.interactionApplicationUserService.save(interactionAppUser).subscribe(\r\n\t\t\t(result: InteractionApplicationUser) => {\r\n\t\t\t\tresolve(result);\r\n\t\t\t},\r\n\t\t\t(error) => {\r\n\t\t\t\tconsole.error(\r\n\t\t\t\t\t'ERROR - saveInteraction - interactionApplicationUserService.save ',\r\n\t\t\t\t\terror\r\n\t\t\t\t);\r\n\t\t\t\treject(error);\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * It validates the data\r\n\t * @param listApplication\r\n\t * @param listForm\r\n\t * @param listDataForm\r\n\t * @param listBudgetSetting\r\n\t * @param listBudget\r\n\t * @param listConfigurationDocument\r\n\t * @param listDocument\r\n\t * @param validateJustRequired eg. when the screern require get just require documents (send application)\r\n\t */\r\n\tpublic validate(\r\n\t\tlistTotalStatus: PliCnfStatus[],\r\n\t\tlistApplication: Application[],\r\n\t\tlistForm: any[],\r\n\t\tlistDataForm: any[],\r\n\t\tlistBudgetSetting: any[],\r\n\t\tlistBudget: BudgetData[],\r\n\t\tlistConfigurationDocument: ConfigurationDocument[],\r\n\t\tlistDocument: Document[],\r\n\t\tcallback: any,\r\n\t\tvalidateJustRequired: boolean,\r\n\t\tvalidateSummarizedBudget?: boolean\r\n\t): Array<SendApplication> {\r\n\t\tlet listSendApplication: Array<SendApplication> = [];\r\n\t\t// reset percentage\r\n\t\t// this.resetPercentage();\r\n\t\tif (listApplication && listApplication.length > 0) {\r\n\t\t\t// iterate over listApplication\r\n\t\t\tfor (let i = 0; i < listApplication.length; i++) {\r\n\t\t\t\t// define application\r\n\t\t\t\tconst application = listApplication[i];\r\n\t\t\t\t// create send application object\r\n\t\t\t\tlet sendApplication: SendApplication = new SendApplication();\r\n\t\t\t\t// define applicationId\r\n\t\t\t\tsendApplication.applicationId = application.id;\r\n\r\n\t\t\t\tlet currentStatus: any = [];\r\n\t\t\t\tif (\r\n\t\t\t\t\tlistTotalStatus &&\r\n\t\t\t\t\tlistTotalStatus.length &&\r\n\t\t\t\t\tapplication.stateId &&\r\n\t\t\t\t\tlistForm &&\r\n\t\t\t\t\tlistForm.length\r\n\t\t\t\t)\r\n\t\t\t\t\t// get the list page section according to statusId\r\n\t\t\t\t\tfor (const status of listTotalStatus)\r\n\t\t\t\t\t\tif (status.id == application.stateId) {\r\n\t\t\t\t\t\t\tcurrentStatus = status;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t// define the listForm that can be valdiated according to status\r\n\t\t\t\tconst listFormActivated = this.getListFormsByStatus(currentStatus, listForm);\r\n\t\t\t\t// get validated list form\r\n\t\t\t\tsendApplication.listValidatedForm = this.getValidatedFormList(\r\n\t\t\t\t\tlistFormActivated,\r\n\t\t\t\t\tlistDataForm,\r\n\t\t\t\t\tsendApplication.applicationId\r\n\t\t\t\t);\r\n\r\n\t\t\t\t// get validated list budget\r\n\t\t\t\tif (!validateSummarizedBudget) {\r\n\t\t\t\t\tsendApplication.listValidatedBudget = this.getValidatedBudget(\r\n\t\t\t\t\t\tlistBudgetSetting,\r\n\t\t\t\t\t\tlistBudget,\r\n\t\t\t\t\t\tsendApplication.applicationId,\r\n\t\t\t\t\t\tcurrentStatus\r\n\t\t\t\t\t);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tsendApplication.listValidatedBudget = this.getValidatedBudgetSummarized(\r\n\t\t\t\t\t\tlistBudgetSetting,\r\n\t\t\t\t\t\tlistBudget,\r\n\t\t\t\t\t\tsendApplication.applicationId,\r\n\t\t\t\t\t\tcurrentStatus\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// get validated list document\r\n\t\t\t\tsendApplication.listValidatedDocument = this.getValidatedDocument(\r\n\t\t\t\t\tcurrentStatus,\r\n\t\t\t\t\tlistConfigurationDocument,\r\n\t\t\t\t\tlistDocument,\r\n\t\t\t\t\tapplication,\r\n\t\t\t\t\tlistDataForm,\r\n\t\t\t\t\tvalidateJustRequired\r\n\t\t\t\t);\r\n\r\n\t\t\t\t// resolve validation - no listValidatedDoc - listValidatedBudget - listValidatedForm\r\n\t\t\t\tsendApplication.validation =\r\n\t\t\t\t\t!sendApplication.listValidatedDocument.length &&\r\n\t\t\t\t\t!sendApplication.listValidatedBudget.length &&\r\n\t\t\t\t\t!sendApplication.listValidatedForm.length;\r\n\t\t\t\t// add to array\r\n\t\t\t\tlistSendApplication.push(sendApplication);\r\n\t\t\t\t// call callback\r\n\t\t\t\tif (callback) callback(sendApplication, application, i, listApplication.length);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn listSendApplication;\r\n\t}\r\n\r\n\t/** it returns the forms that are activated according to status */\r\n\tgetListFormsByStatus(currentStatus: PliCnfStatus, listForm: any[]): any[] {\r\n\t\tlet listActivatedForm: any[] = [];\r\n\t\tlet listPliCnfStatusPageSection: PliCnfStatusPageSection[] =\r\n\t\t\tcurrentStatus.listPliCnfStatusPageSection;\r\n\t\tif (listPliCnfStatusPageSection && listPliCnfStatusPageSection.length)\r\n\t\t\t// fill the list activated form\r\n\t\t\tfor (const form of listForm)\r\n\t\t\t\tfor (const section of listPliCnfStatusPageSection)\r\n\t\t\t\t\tif (section.idForm == form.id) {\r\n\t\t\t\t\t\tlistActivatedForm.push(form);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\treturn listActivatedForm;\r\n\t}\r\n\r\n\t/** it returns the validated document list */\r\n\tgetValidatedDocument(\r\n\t\tcurrentStatus: any,\r\n\t\tlistConfigurationDocument,\r\n\t\tlistDocument,\r\n\t\tapplication: Application,\r\n\t\tlistDataForm,\r\n\t\tvalidateJustRequired: boolean\r\n\t): any[] {\r\n\t\tlet listValidatedDocument = [];\r\n\t\tif (listConfigurationDocument) {\r\n\t\t\t// it contains the documents that are visible\r\n\t\t\tlet listConfigurationDocumentVisible = [];\r\n\r\n\t\t\t//checkIfShouldValidate\r\n\t\t\tlet shouldValidateDocuments: boolean = false;\r\n\t\t\tlet listPliCnfStatusPageSection: PliCnfStatusPageSection[] =\r\n\t\t\t\tcurrentStatus.listPliCnfStatusPageSection;\r\n\t\t\tif (listPliCnfStatusPageSection && listPliCnfStatusPageSection.length)\r\n\t\t\t\tfor (const section of listPliCnfStatusPageSection)\r\n\t\t\t\t\tif (section.pliCnfPageSection)\r\n\t\t\t\t\t\tswitch (section.pliCnfPageSection.keyLabel) {\r\n\t\t\t\t\t\t\tcase 'documentos': {\r\n\t\t\t\t\t\t\t\tshouldValidateDocuments = true;\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\tif (!shouldValidateDocuments) return listValidatedDocument;\r\n\r\n\t\t\t// resolve the configuration that is visible\r\n\t\t\tif (listConfigurationDocument) {\r\n\t\t\t\tfor (const configurationDocument of listConfigurationDocument) {\r\n\t\t\t\t\tlet visible: boolean = true;\r\n\t\t\t\t\tif (configurationDocument.formula && configurationDocument.formula.length) {\r\n\t\t\t\t\t\tlet formula = '';\r\n\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\tlet data = { statusname: application.stateName };\r\n\t\t\t\t\t\t\tif (listDataForm)\r\n\t\t\t\t\t\t\t\tfor (const dataForm of listDataForm)\r\n\t\t\t\t\t\t\t\t\tfor (const property in dataForm.data)\r\n\t\t\t\t\t\t\t\t\t\tdata[property.toLowerCase()] = dataForm.data[property];\r\n\t\t\t\t\t\t\tformula = this.tokenService.replaceTokensFromListObject(\r\n\t\t\t\t\t\t\t\tconfigurationDocument.name,\r\n\t\t\t\t\t\t\t\tconfigurationDocument.formula,\r\n\t\t\t\t\t\t\t\tdata\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tlet result = eval(formula);\r\n\t\t\t\t\t\t\tif (result !== true) {\r\n\t\t\t\t\t\t\t\tvisible = false;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} catch (error) {\r\n\t\t\t\t\t\t\tvisible = false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (visible) {\r\n\t\t\t\t\t\tlistConfigurationDocumentVisible.push(configurationDocument);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// resolve the list of documents\r\n\t\t\tif (listConfigurationDocumentVisible) {\r\n\t\t\t\tfor (let i = 0; i < listConfigurationDocumentVisible.length; i++) {\r\n\t\t\t\t\tlet configurationDocument = listConfigurationDocumentVisible[i];\r\n\t\t\t\t\tlet document: Document = this.getDocumentByConfigurationId(\r\n\t\t\t\t\t\tconfigurationDocument.id,\r\n\t\t\t\t\t\tlistDocument,\r\n\t\t\t\t\t\tapplication.id\r\n\t\t\t\t\t);\r\n\t\t\t\t\tif (validateJustRequired) {\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t(!document ||\r\n\t\t\t\t\t\t\t\t(document && document.listArchive.length == 0) ||\r\n\t\t\t\t\t\t\t\tthis.automaticDocumentsValidated(\r\n\t\t\t\t\t\t\t\t\tconfigurationDocument,\r\n\t\t\t\t\t\t\t\t\tlistDataForm,\r\n\t\t\t\t\t\t\t\t\tdocument\r\n\t\t\t\t\t\t\t\t)) &&\r\n\t\t\t\t\t\t\tconfigurationDocument.required\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tthis.fillListValidateDocumentDefault(\r\n\t\t\t\t\t\t\t\tlistValidatedDocument,\r\n\t\t\t\t\t\t\t\tapplication,\r\n\t\t\t\t\t\t\t\tconfigurationDocument\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tif (document) {\r\n\t\t\t\t\t\t\tif (document.state == EDocumentState.PENDIENTE) {\r\n\t\t\t\t\t\t\t\tlistValidatedDocument.push(document);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tthis.fillListValidateDocumentDefault(\r\n\t\t\t\t\t\t\t\tlistValidatedDocument,\r\n\t\t\t\t\t\t\t\tapplication,\r\n\t\t\t\t\t\t\t\tconfigurationDocument\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn listValidatedDocument;\r\n\t}\r\n\r\n\tprivate fillListValidateDocumentDefault(\r\n\t\tlistValidatedDocument,\r\n\t\tapplication,\r\n\t\tconfigurationDocument\r\n\t) {\r\n\t\tlet document = new Document();\r\n\t\tdocument.applicationId = application.id;\r\n\t\tdocument.promCodigo = configurationDocument.promCodigo;\r\n\t\tdocument.state = EDocumentState.PENDIENTE;\r\n\t\tdocument.configurationDocumentId = configurationDocument.id;\r\n\t\tdocument.listArchive = [];\r\n\t\tlistValidatedDocument.push(document);\r\n\t}\r\n\r\n\t/** It gets document by configuration Id */\r\n\tprivate getDocumentByConfigurationId(\r\n\t\tconfigurationDocumentId: number,\r\n\t\tlist: Array<Document>,\r\n\t\tapplicationId: string\r\n\t): Document {\r\n\t\tif (list)\r\n\t\t\tfor (const document of list)\r\n\t\t\t\tif (\r\n\t\t\t\t\tdocument.configurationDocumentId === configurationDocumentId &&\r\n\t\t\t\t\tdocument.applicationId === applicationId\r\n\t\t\t\t)\r\n\t\t\t\t\treturn document;\r\n\r\n\t\treturn null;\r\n\t}\r\n\r\n\t/** get the budget application by type budget and budget setup id */\r\n\tprivate getValidatedBudgetApplication(\r\n\t\tbudgetSetting: any,\r\n\t\ttypeBudget: any,\r\n\t\tlistBudget: BudgetData[],\r\n\t\tapplicationId\r\n\t): any {\r\n\t\tif (listBudget)\r\n\t\t\tfor (const budget of listBudget)\r\n\t\t\t\tif (\r\n\t\t\t\t\tbudget.tag == typeBudget &&\r\n\t\t\t\t\tbudgetSetting.cpreCodigo == budget.budgetSetupId &&\r\n\t\t\t\t\tbudget.applicationId == applicationId\r\n\t\t\t\t) {\r\n\t\t\t\t\treturn this.validateBudget(budget, budgetSetting, typeBudget);\r\n\t\t\t\t}\r\n\r\n\t\treturn this.validateBudget(null, budgetSetting, typeBudget);\r\n\t}\r\n\r\n\t/** It validates the budget */\r\n\tprivate validateBudget(budget: any, budgetSetting: any, type: any) {\r\n\t\tif (!budget || !budget.summary || !budget.summary.budgetTotal)\r\n\t\t\t// validate if there is a budget object\r\n\t\t\treturn {\r\n\t\t\t\tbudget: budget,\r\n\t\t\t\ttype: type,\r\n\t\t\t\tbudgetSetting: budgetSetting,\r\n\t\t\t\terror: EBudgetError.NO_OBJECT\r\n\t\t\t};\r\n\t\telse if (\r\n\t\t\t(type === EBudgetBuildType.financing || type === EBudgetBuildType.mixed) &&\r\n\t\t\tbudget.summary.budgetTotal > budgetSetting.cpreMontoTotal\r\n\t\t)\r\n\t\t\t// validate if amount total overcomes the maximum\r\n\t\t\treturn {\r\n\t\t\t\tbudget: budget,\r\n\t\t\t\ttype: type,\r\n\t\t\t\tbudgetSetting: budgetSetting,\r\n\t\t\t\terror: EBudgetError.OVERCOME_MAXIMUM_AMOUNT\r\n\t\t\t};\r\n\t\telse if (\r\n\t\t\ttype === EBudgetBuildType.financing &&\r\n\t\t\t(!budget.financingStart || !budget.financingEnd)\r\n\t\t)\r\n\t\t\t// validate if financing dates are defined\r\n\t\t\treturn {\r\n\t\t\t\tbudget: budget,\r\n\t\t\t\ttype: type,\r\n\t\t\t\tbudgetSetting: budgetSetting,\r\n\t\t\t\terror: EBudgetError.FINANCING_DATES\r\n\t\t\t};\r\n\t\treturn null;\r\n\t}\r\n\r\n\tprivate validateSummarizedBudget(budgetSetting: any, type: any, budget: any) {\r\n\t\tif (!budget || !budget.summary || !budget.summary.budgetTotal) {\r\n\t\t\t// validate if there is a budget object\r\n\t\t\treturn {\r\n\t\t\t\tbudget: budget,\r\n\t\t\t\ttype: type,\r\n\t\t\t\tbudgetSetting: budgetSetting,\r\n\t\t\t\terror: EBudgetError.NO_OBJECT\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\treturn null;\r\n\t}\r\n\r\n\tvalidateCompleteBudget(listBudgetSetting, listBudget, applicationId): any[] {\r\n\t\treturn this.getValidatedBudget(listBudgetSetting, listBudget, applicationId);\r\n\t}\r\n\r\n\t/** it returns the validated budget list */\r\n\tprivate getValidatedBudget(\r\n\t\tlistBudgetSetting,\r\n\t\tlistBudget,\r\n\t\tapplicationId,\r\n\t\tcurrentStatus?\r\n\t): any[] {\r\n\t\tlet listValidatedBudget: any[] = [];\r\n\t\tif (listBudgetSetting) {\r\n\t\t\tlet shouldValidateTotalBudget: boolean = false;\r\n\t\t\tlet shouldValidateFinancingBudget: boolean = false;\r\n\t\t\tif (currentStatus) {\r\n\t\t\t\tlet listPliCnfStatusPageSection: PliCnfStatusPageSection[] =\r\n\t\t\t\t\tcurrentStatus.listPliCnfStatusPageSection;\r\n\t\t\t\tif (listPliCnfStatusPageSection && listPliCnfStatusPageSection.length)\r\n\t\t\t\t\tfor (const section of listPliCnfStatusPageSection)\r\n\t\t\t\t\t\tif (section.pliCnfPageSection)\r\n\t\t\t\t\t\t\tswitch (section.pliCnfPageSection.keyLabel) {\r\n\t\t\t\t\t\t\t\tcase 'presupuesto.total': {\r\n\t\t\t\t\t\t\t\t\tshouldValidateTotalBudget = true;\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tcase 'presupuesto.financiacion': {\r\n\t\t\t\t\t\t\t\t\tshouldValidateFinancingBudget = true;\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tshouldValidateTotalBudget = true;\r\n\t\t\t\tshouldValidateFinancingBudget = true;\r\n\t\t\t}\r\n\r\n\t\t\t// iterate over listBudgetSetting\r\n\t\t\tfor (const budgetSetting of listBudgetSetting) {\r\n\t\t\t\t// skip general budget\r\n\t\t\t\tif (budgetSetting.pliTipoPresupuesto.tpresCodigo == ETipoPresupuesto.GENERAL)\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t// budget total\r\n\t\t\t\tconst budgetDataTotal = this.getValidatedBudgetApplication(\r\n\t\t\t\t\tbudgetSetting,\r\n\t\t\t\t\tEBudgetBuildType.total,\r\n\t\t\t\t\tlistBudget,\r\n\t\t\t\t\tapplicationId\r\n\t\t\t\t);\r\n\t\t\t\tif (budgetDataTotal && shouldValidateTotalBudget)\r\n\t\t\t\t\tlistValidatedBudget.push(budgetDataTotal);\r\n\t\t\t\t// if it has own funds, so it validates total and financing\r\n\t\t\t\tif (budgetSetting.cpreEsFondosPropios) {\r\n\t\t\t\t\tconst budgetDataFinancing = this.getValidatedBudgetApplication(\r\n\t\t\t\t\t\tbudgetSetting,\r\n\t\t\t\t\t\tEBudgetBuildType.financing,\r\n\t\t\t\t\t\tlistBudget,\r\n\t\t\t\t\t\tapplicationId\r\n\t\t\t\t\t);\r\n\t\t\t\t\tif (budgetDataFinancing && shouldValidateFinancingBudget)\r\n\t\t\t\t\t\tlistValidatedBudget.push(budgetDataFinancing);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn listValidatedBudget;\r\n\t}\r\n\r\n\t/** It returns the validated form list */\r\n\tprivate getValidatedFormList(listForm, listDataForm, applicationId): any[] {\r\n\t\tlet listValidatedForm: any[] = [];\r\n\t\tif (listForm) {\r\n\t\t\t// iterate over listform\r\n\t\t\tfor (const form of listForm) {\r\n\t\t\t\t// get errors by formId and ApplicationId\r\n\t\t\t\tconst errors = this.getErrorsByFormIdAndApplicationId(\r\n\t\t\t\t\tlistDataForm,\r\n\t\t\t\t\tform.id,\r\n\t\t\t\t\tapplicationId\r\n\t\t\t\t);\r\n\r\n\t\t\t\tif (errors && errors.length) {\r\n\t\t\t\t\tconst components = FormioUtil.getComponents(form.components);\r\n\r\n\t\t\t\t\t// generate the error components according to errors\r\n\t\t\t\t\tlet errorComponent = [];\r\n\t\t\t\t\tfor (const error of errors) {\r\n\t\t\t\t\t\tif (error && error.component && error.component.key && components) {\r\n\t\t\t\t\t\t\tfor (const component of components) {\r\n\t\t\t\t\t\t\t\tif (component.key == error.component.key) {\r\n\t\t\t\t\t\t\t\t\terrorComponent.push(component);\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (errorComponent && errorComponent.length) {\r\n\t\t\t\t\t\t// organizing by panels\r\n\t\t\t\t\t\tconst panels = FormioUtil.getFormattedComponentsByPanel(errorComponent);\r\n\t\t\t\t\t\t// add to listValidatedForm\r\n\t\t\t\t\t\tlistValidatedForm.push({\r\n\t\t\t\t\t\t\tid: form.id,\r\n\t\t\t\t\t\t\tname: form.title,\r\n\t\t\t\t\t\t\tpanels: panels,\r\n\t\t\t\t\t\t\ttoggle: false\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// verify if data is completed\r\n\t\t\t\t\t// get data by form id and app id\r\n\t\t\t\t\tconst data = this.getDataByFormIdAndApplicationId(\r\n\t\t\t\t\t\tlistDataForm,\r\n\t\t\t\t\t\tform.id,\r\n\t\t\t\t\t\tapplicationId\r\n\t\t\t\t\t);\r\n\t\t\t\t\t// get components are required according to data\r\n\t\t\t\t\tconst components = FormioUtil.getRequiredComponentsByData(\r\n\t\t\t\t\t\tform.components,\r\n\t\t\t\t\t\tdata\r\n\t\t\t\t\t);\r\n\t\t\t\t\tif (components && components.length) {\r\n\t\t\t\t\t\t// organizing by panels\r\n\t\t\t\t\t\tconst panels = FormioUtil.getFormattedComponentsByPanel(components);\r\n\t\t\t\t\t\t// add to listValidatedForm\r\n\t\t\t\t\t\tlistValidatedForm.push({\r\n\t\t\t\t\t\t\tid: form.id,\r\n\t\t\t\t\t\t\tname: form.title,\r\n\t\t\t\t\t\t\tpanels: panels,\r\n\t\t\t\t\t\t\ttoggle: false\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn listValidatedForm;\r\n\t}\r\n\r\n\t/** It returns the data by formId and ApplicationId */\r\n\tprivate getErrorsByFormIdAndApplicationId(listDataForm, formId, applicationId): any {\r\n\t\tif (listDataForm && formId && applicationId)\r\n\t\t\tfor (const data of listDataForm)\r\n\t\t\t\tif (data.formId == formId && data.applicationId == applicationId)\r\n\t\t\t\t\treturn data.errors;\r\n\t\treturn null;\r\n\t}\r\n\r\n\t/** It returns the data by formId and ApplicationId */\r\n\tprivate getDataByFormIdAndApplicationId(listDataForm, formId, applicationId): any {\r\n\t\tif (listDataForm && formId && applicationId)\r\n\t\t\tfor (const data of listDataForm)\r\n\t\t\t\tif (data.formId == formId && data.applicationId == applicationId) return data.data;\r\n\t\treturn null;\r\n\t}\r\n\r\n\tgetValidatedBudgetSummarized(\r\n\t\tlistBudgetSetting,\r\n\t\tlistBudget,\r\n\t\tapplicationId,\r\n\t\tcurrentStatus\r\n\t): any[] {\r\n\t\tlet listValidatedBudget: any[] = [];\r\n\t\tif (listBudgetSetting) {\r\n\t\t\tlet shouldValidateTotalBudget: boolean = false;\r\n\t\t\tif (currentStatus) {\r\n\t\t\t\tlet listPliCnfStatusPageSection: PliCnfStatusPageSection[] =\r\n\t\t\t\t\tcurrentStatus.listPliCnfStatusPageSection;\r\n\t\t\t\tif (listPliCnfStatusPageSection && listPliCnfStatusPageSection.length)\r\n\t\t\t\t\tfor (const section of listPliCnfStatusPageSection)\r\n\t\t\t\t\t\tif (section.pliCnfPageSection)\r\n\t\t\t\t\t\t\tswitch (section.pliCnfPageSection.keyLabel) {\r\n\t\t\t\t\t\t\t\tcase ECnfPageSection.presupuestoResumido: {\r\n\t\t\t\t\t\t\t\t\tshouldValidateTotalBudget = true;\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tshouldValidateTotalBudget = true;\r\n\t\t\t}\r\n\t\t\tconst budgetDataTotal = this.validateSummarizedBudget(\r\n\t\t\t\tlistBudgetSetting[0],\r\n\t\t\t\tEBudgetBuildType.total,\r\n\t\t\t\tlistBudget[0]\r\n\t\t\t);\r\n\t\t\tif (budgetDataTotal && shouldValidateTotalBudget)\r\n\t\t\t\tlistValidatedBudget.push(budgetDataTotal);\r\n\t\t}\r\n\t\treturn listValidatedBudget;\r\n\t}\r\n\r\n\tautomaticDocumentsValidated(\r\n\t\tconfigDocument: ConfigurationDocument,\r\n\t\tlistDataForm: any[],\r\n\t\tdocument: Document\r\n\t) {\r\n\t\tif (\r\n\t\t\tconfigDocument.formulaValidateMultiple &&\r\n\t\t\tconfigDocument.formulaValidateMultiple.length > 0\r\n\t\t) {\r\n\t\t\tlet data = { statusname: '' };\r\n\t\t\tif (listDataForm)\r\n\t\t\t\tfor (const dataForm of listDataForm)\r\n\t\t\t\t\tfor (const property in dataForm.data)\r\n\t\t\t\t\t\tdata[property.toLowerCase()] = dataForm.data[property];\r\n\t\t\tlet formula = this.tokenService.replaceTokensFromListObject(\r\n\t\t\t\tconfigDocument.name,\r\n\t\t\t\tconfigDocument.formulaValidateMultiple,\r\n\t\t\t\tdata\r\n\t\t\t);\r\n\t\t\tlet result = eval(formula);\r\n\t\t\tif (result) {\r\n\t\t\t\tlet resultArray = JSON.parse(result);\r\n\r\n\t\t\t\tif (resultArray && resultArray.length > 0) {\r\n\t\t\t\t\t//Then document must have archives\r\n\t\t\t\t\tif (!document || document.listArchive.length !== resultArray.length) {\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { SesionForm } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class SesionFormService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\t/** It returns the list of form by prom codigo */\r\n\tgetByPromCodigo(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'sesionForm/getByPromCodigo',\r\n\t\t\t{ params: new HttpParams().set('promCodigo', promCodigo.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves a form */\r\n\tsave(sesionForm: SesionForm): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'sesionForm/save',\r\n\t\t\tsesionForm,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpHeaders, HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { sesion } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class SesionService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\t/** It returns the list of sesion by login */\r\n\tgetByLogin(login: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'sesion/getByLogin',\r\n\t\t\t{ params: new HttpParams().set('login', login) }\r\n\t\t);\r\n\t}\r\n\r\n\tgetEmailByLogin(login: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'sesion/getEmailByLogin',\r\n\t\t\t{ params: new HttpParams().set('login', login) }\r\n\t\t);\r\n\t}\r\n\r\n\tgetIngresoExterno(login: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'sesion/getIngresoExterno',\r\n\t\t\t{ params: new HttpParams().set('login', login) }\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * @description if login has a session returns true else false\r\n\t * @param login identification number\r\n\t * @return Boolean\r\n\t */\r\n\tgetHasSession(login: string) {\r\n\t\treturn this.httpClient.get<Boolean>(\r\n\t\t\t`${this.environment.host.backend.configuration}sesion/hasSession`,\r\n\t\t\t{ params: new HttpParams().set('login', login) }\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * It returns list of inactive users\r\n\t * @return list of sesions\r\n\t */\r\n\tgetInactiveUsers(): Observable<sesion[]> {\r\n\t\treturn this.httpClient.get<sesion[]>(\r\n\t\t\t`${this.environment.host.backend.configuration}sesion/inactive-users`\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpHeaders, HttpClient, HttpParams } from '@angular/common/http';\r\nimport { AuthenticationService } from './authentication.service';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { SponsorshipLetter } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class SponsorshipLetterService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(\r\n\t\t@Inject('environment') private environment,\r\n\t\tprivate httpClient: HttpClient,\r\n\t\tprivate authService: AuthenticationService\r\n\t) {}\r\n\r\n\tprivate subjectValidateSponsorshipLetter = new Subject<boolean>();\r\n\r\n\t/** It returns the sponsorship letter by promCodigo */\r\n\tgetListByPromCodigo(id: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'sponsorship-letter/getByPromCodigo',\r\n\t\t\t{ params: new HttpParams().set('promCodigo', id.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the sponsorship letter by id */\r\n\tgetById(id: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'sponsorship-letter/getById',\r\n\t\t\t{ params: new HttpParams().set('id', id.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It deletes a form by id */\r\n\tdelete(id): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.configuration + 'sponsorship-letter/delete',\r\n\t\t\t{ params: new HttpParams().set('id', id) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves a sponsorship-letter */\r\n\tsave(sponsorshipLetter: SponsorshipLetter): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'sponsorship-letter/save',\r\n\t\t\tsponsorshipLetter,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\t/**\r\n\t * It returns the html by combination of number, promCodigo and id sponsorshipletter {html : '<html>..</html>'}\r\n\t * @param promCodigo prom code\r\n\t * @param number number of the applicationthis is NOT the application id\r\n\t * @param id sponsorship-letter id\r\n\t */\r\n\tgetHtmlByNumberAndPromCodigo(promCodigo: number, number: string, id: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'sponsorship-letter/getHtmlByNumberAndPromCodigo',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigo', promCodigo.toString())\r\n\t\t\t\t\t.set('id', id.toString())\r\n\t\t\t\t\t.set('number', number)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetSubjectValidateSponsorshipLetter(): Observable<boolean> {\r\n\t\treturn this.subjectValidateSponsorshipLetter.asObservable();\r\n\t}\r\n\r\n\tsetSubjectValidateSponsorshipLetter(getSubjectValidateSponsorshipLetter: boolean = false) {\r\n\t\tthis.subjectValidateSponsorshipLetter.next(getSubjectValidateSponsorshipLetter);\r\n\t}\r\n\r\n\t/** It saves a sponsorship-letter array */\r\n\tsaveAll(sponsorshipLetter: SponsorshipLetter[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'sponsorship-letter/saveAll',\r\n\t\t\tsponsorshipLetter,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class UserService {\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\t/** It returns the list of users */\r\n\tgetAll(cargarListas: boolean): Observable<any> {\r\n\t\treturn this.httpClient.get(this.environment.host.backend.plis + 'config/usuario/getAll', {\r\n\t\t\tparams: new HttpParams().set('cargarListas', cargarListas.toString())\r\n\t\t});\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { PliCnfText } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfBudgetService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\t/** It remove the redis cache of budget by cpreCode and promCode */\r\n\tremoveFromCache(cpreCode: number, promCode: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfBudget/removeFromCache',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('cpreCode', cpreCode.toString())\r\n\t\t\t\t\t.set('promCode', promCode.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpHeaders, HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { BudgetSimulation, BudgetSimulatorCalculationInput } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class BudgetSimulationService {\r\n\treadonly PREFIX = 'budget_simulation/';\r\n\treadonly PREFIX_BUDGET = 'budget/';\r\n\treadonly URLS = {\r\n\t\tfindByPromCodigo: this.PREFIX + 'find/prom_codigo',\r\n\t\tfindByApplicationId: this.PREFIX + 'find/application',\r\n\t\tsave: this.PREFIX + 'save',\r\n\t\tsaveAll: this.PREFIX + 'save_all',\r\n\t\tfindById: this.PREFIX + 'find',\r\n\t\tfindByApplications: this.PREFIX + 'find/applications',\r\n\t\tgetBudgetSimulatorCalculation: this.PREFIX_BUDGET + 'getBudgetSimulatorCalculation'\r\n\t};\r\n\treadonly headerJson = {\r\n\t\theaders: new HttpHeaders({\r\n\t\t\t'Content-Type': 'application/json'\r\n\t\t})\r\n\t};\r\n\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\tgetByPromCodigo(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice + this.URLS.findByPromCodigo,\r\n\t\t\t{ params: new HttpParams().set('promCodigo', promCodigo.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\tgetByApplicationId(applicationId: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice + this.URLS.findByApplicationId,\r\n\t\t\t{ params: new HttpParams().set('applicationId', applicationId) }\r\n\t\t);\r\n\t}\r\n\r\n\tgetById(id: string): Observable<any> {\r\n\t\treturn this.httpClient.get(this.environment.host.backend.frontoffice + this.URLS.findById, {\r\n\t\t\tparams: new HttpParams().set('id', id)\r\n\t\t});\r\n\t}\r\n\r\n\tgetByApplications(lApplicationId: string[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + this.URLS.findByApplications,\r\n\t\t\tlApplicationId,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tsave(budgetSimulation: BudgetSimulation): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + this.URLS.save,\r\n\t\t\tbudgetSimulation,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tsaveAll(budgetSimulations: BudgetSimulation[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + this.URLS.saveAll,\r\n\t\t\tbudgetSimulations,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tgetBudgetSimulatorCalculation(\r\n\t\tbudgetSimulations: BudgetSimulatorCalculationInput\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + this.URLS.getBudgetSimulatorCalculation,\r\n\t\t\tbudgetSimulations,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { PliCnfAcuityFields } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfAcuityFieldsService {\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\tget(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfAcuityFields/get`\r\n\t\t);\r\n\t}\r\n\r\n\tgetPliCnfAcuityFieldsByOwnerId(ownerId: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfAcuityFields/getPliCnfAcuityFieldsByOwnerId',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('ownerId', String(ownerId))\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tsave(pliCnfAcuityFields: PliCnfAcuityFields): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfAcuityFields/save`,\r\n\t\t\tpliCnfAcuityFields\r\n\t\t);\r\n\t}\r\n\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { Application, Codebtor, Guarantee } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class GuaranteeService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tprivate subjectValidateSignDocument = new Subject<boolean>();\r\n\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\tsendNotificationToCodebtors(application: Application, codebtor: Codebtor): Observable<any> {\r\n\t\tlet body = { application: application, codebtor: codebtor };\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'guarantee/sendNotificationToCodebtor',\r\n\t\t\tbody,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tsaveGuaranteeDocumentsGenerated(applicationId: string, guarantee: Guarantee): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice +\r\n\t\t\t\t'guarantee/saveGuaranteeDocumentsGenerated?applicationId=' +\r\n\t\t\t\tapplicationId,\r\n\t\t\tguarantee\r\n\t\t);\r\n\t}\r\n\r\n\tverifyTransaction(transactionId: string) {\r\n\t\tlet headers = {\r\n\t\t\theaders: new HttpHeaders({\r\n\t\t\t\tapiKey: this.environment.ado.key,\r\n\t\t\t\treturnDocuments: 'true'\r\n\t\t\t})\r\n\t\t};\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.ado.url +\r\n\t\t\t\t'api/' +\r\n\t\t\t\tthis.environment.ado.projectName +\r\n\t\t\t\t'/Validation/' +\r\n\t\t\t\ttransactionId +\r\n\t\t\t\t'?returnImages=false',\r\n\t\t\theaders\r\n\t\t);\r\n\t}\r\n\r\n\tgetSubjectValidateSignDocument(): Observable<boolean> {\r\n\t\treturn this.subjectValidateSignDocument.asObservable();\r\n\t}\r\n\r\n\tsetSubjectValidateSignDocument(getSubjectValidateSignDocument: boolean = false) {\r\n\t\tthis.subjectValidateSignDocument.next(getSubjectValidateSignDocument);\r\n\t}\r\n\r\n\tsave(applicationId: string, guarantee: Guarantee): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'guarantee/save',\r\n\t\t\tguarantee,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('applicationId', String(applicationId))\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tsaveInitGuarantee(applicationId: string): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'guarantee/saveInitGuarantee',\r\n\t\t\tnull,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('applicationId', String(applicationId))\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tsaveGuaranteeCalculated(applicationId: string, guarantee: Guarantee): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'guarantee/saveGuaranteeCalculated',\r\n\t\t\tguarantee,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('applicationId', String(applicationId))\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tsaveGuaranteeCalculatedByAppList(\r\n\t\tlApplicationId: string[],\r\n\t\tguarantee: Guarantee\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice +\r\n\t\t\t\t'guarantee/saveGuaranteeCalculatedByAppList',\r\n\t\t\t{\r\n\t\t\t\tguarantee: guarantee,\r\n\t\t\t\tlApplicationId: lApplicationId\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tdelete(applicationId: string): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'guarantee/delete',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('applicationId', String(applicationId))\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the new status by transactionId */\r\n\tverifyStatusTransactionId(transactionId: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'integrationADO/verifyStatus',\r\n\t\t\t{ params: new HttpParams().set('transactionId', transactionId) }\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * Create a form and call ADO with the applications Id\r\n\t * @param applicationIds\r\n\t * @param keyAdo\r\n\t * @param projectNameAdo\r\n\t * @param callbackAdo\r\n\t * @param urlAdo\r\n\t */\r\n\tsendFormWithSignDocuments(\r\n\t\tapplicationIds: string,\r\n\t\tpromCodigo: number,\r\n\t\tkeyAdo: string,\r\n\t\tprojectNameAdo: string,\r\n\t\tcallbackAdo: string,\r\n\t\turlAdo: string\r\n\t): Promise<any> {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\ttry {\r\n\t\t\t\tconst form = document.createElement('form');\r\n\t\t\t\tform.method = 'post';\r\n\t\t\t\tform.action = urlAdo + 'validar-persona';\r\n\t\t\t\tlet params = {\r\n\t\t\t\t\tcallback: callbackAdo,\r\n\t\t\t\t\tkey: keyAdo,\r\n\t\t\t\t\tprojectName: projectNameAdo,\r\n\t\t\t\t\tproduct: 2,\r\n\t\t\t\t\tParameters:\r\n\t\t\t\t\t\t'{\"applicationId\":\"' +\r\n\t\t\t\t\t\tapplicationIds +\r\n\t\t\t\t\t\t'\",\"promCodigo\":\"' +\r\n\t\t\t\t\t\tpromCodigo +\r\n\t\t\t\t\t\t'\"}'\r\n\t\t\t\t};\r\n\r\n\t\t\t\tfor (let key in params) {\r\n\t\t\t\t\tif (params.hasOwnProperty(key)) {\r\n\t\t\t\t\t\tconst hiddenField = document.createElement('input');\r\n\t\t\t\t\t\thiddenField.type = 'hidden';\r\n\t\t\t\t\t\thiddenField.name = key;\r\n\t\t\t\t\t\thiddenField.value = params[key];\r\n\r\n\t\t\t\t\t\tform.appendChild(hiddenField);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tdocument.body.appendChild(form);\r\n\t\t\t\tform.submit();\r\n\t\t\t\tresolve(applicationIds);\r\n\t\t\t} catch (error) {\r\n\t\t\t\treject(error);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}\r\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport {\r\n\tApplication,\r\n\tChangeStatusByCategoryDto,\r\n\tCodebtor,\r\n\tCreditReviewerObservation,\r\n\tDocument\r\n} from 'ng-pli-util';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class CreditStudyService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tprivate creditStudySubjectValidation = new Subject<any>();\r\n\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\tgetCreditStudySubjectValidation(): Observable<any> {\r\n\t\treturn this.creditStudySubjectValidation.asObservable();\r\n\t}\r\n\r\n\tsetCreditStudySubjectValidation(isComplete: boolean, pageSectionKey: string) {\r\n\t\tthis.creditStudySubjectValidation.next({ isComplete, pageSectionKey });\r\n\t}\r\n\r\n\tgetCreditStudyByApplicationId(applicationId: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'creditStudy/getCreditStudy',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('applicationId', applicationId)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetListCodebtors(applicationId: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'creditStudy/getCodebtors',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('applicationId', applicationId)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetCodebtorByIdentification(applicationId: string, identification: string) {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'creditStudy/getCodebtorByIdentification',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('applicationId', applicationId)\r\n\t\t\t\t\t.set('identification', identification)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetCodebtorByApplicationIdAndIdentification(\r\n\t\tapplicationId: string,\r\n\t\tidentification: string\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice +\r\n\t\t\t\t'creditStudy/getCodebtorByApplicationIdAndIdentification',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('applicationId', applicationId)\r\n\t\t\t\t\t.set('identification', identification)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tsaveCodebtorDocument(applicationId: string, identification: string, doc: Document) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'creditStudy/saveCodebtorDocument',\r\n\t\t\tdoc,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('applicationId', applicationId)\r\n\t\t\t\t\t.set('identification', identification),\r\n\t\t\t\theaders: this.headerJson.headers\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tsaveSelectedReviewerDocument(applicationId: string, doc: Document) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'creditStudy/saveSelectedReviewerDocument',\r\n\t\t\tdoc,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('applicationId', applicationId),\r\n\t\t\t\theaders: this.headerJson.headers\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tsaveCodebtorResponsabilitiesAnswer(\r\n\t\tapplicationId: string,\r\n\t\tidentification: string,\r\n\t\tanswer: boolean\r\n\t) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice +\r\n\t\t\t\t'creditStudy/saveCodebtorResponsabilitiesAnswer',\r\n\t\t\t{},\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('applicationId', applicationId)\r\n\t\t\t\t\t.set('identification', identification)\r\n\t\t\t\t\t.set('answer', answer.toString()),\r\n\t\t\t\theaders: this.headerJson.headers\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tremoveCodebtorResponsabilitiesAnswer(applicationId: string, identification: string) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice +\r\n\t\t\t\t'creditStudy/removeCodebtorResponsabilitiesAnswer',\r\n\t\t\t{},\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('applicationId', applicationId)\r\n\t\t\t\t\t.set('identification', identification),\r\n\t\t\t\theaders: this.headerJson.headers\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tsaveCodebtorHabeasDataAnswer(applicationId: string, identification: string, answer: boolean) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'creditStudy/saveCodebtorHabeasDataAnswer',\r\n\t\t\t{},\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('applicationId', applicationId)\r\n\t\t\t\t\t.set('identification', identification)\r\n\t\t\t\t\t.set('answer', answer.toString()),\r\n\t\t\t\theaders: this.headerJson.headers\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tsaveCreditReviewerDocument(applicationId: string, identification: string, doc: Document) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'creditStudy/saveCreditReviewerDocument',\r\n\t\t\tdoc,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('applicationId', applicationId)\r\n\t\t\t\t\t.set('identification', identification),\r\n\t\t\t\theaders: this.headerJson.headers\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetSelectedCreditReviewerDocuments(applicationId: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice +\r\n\t\t\t\t'creditStudy/getSelectedCreditReviewerDocuments',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('applicationId', applicationId.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetSelectedCreditReviewerDocumentByConfigurationDocumentId(\r\n\t\tapplicationId: string,\r\n\t\tconfigurationDocumentId: number\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice +\r\n\t\t\t\t'creditStudy/getSelectedCreditReviewerDocumentByConfigurationDocumentId',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('applicationId', applicationId.toString())\r\n\t\t\t\t\t.set('configurationDocumentId', configurationDocumentId.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetCodebtorDocuments(applicationId: string, identification: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'creditStudy/getCodebtorDocuments',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('applicationId', applicationId.toString())\r\n\t\t\t\t\t.set('identification', identification.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetCodebtorDocumentByConfigurationDocumentId(\r\n\t\tapplicationId: string,\r\n\t\tidentification: string,\r\n\t\tconfigurationDocumentId: number\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice +\r\n\t\t\t\t'creditStudy/getCodebtorDocumentByConfigurationDocumentId',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('applicationId', applicationId.toString())\r\n\t\t\t\t\t.set('identification', identification.toString())\r\n\t\t\t\t\t.set('configurationDocumentId', configurationDocumentId.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetCodebtorCreditReviewerDocuments(\r\n\t\tapplicationId: string,\r\n\t\tidentification: string\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice +\r\n\t\t\t\t'creditStudy/getCodebtorCreditReviewerDocuments',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('applicationId', applicationId.toString())\r\n\t\t\t\t\t.set('identification', identification.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetCodebtorCreditReviewerDocumentByConfigurationDocumentId(\r\n\t\tapplicationId: string,\r\n\t\tidentification: string,\r\n\t\tconfigurationDocumentId: number\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice +\r\n\t\t\t\t'creditStudy/getCodebtorCreditReviewerDocumentByConfigurationDocumentId',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('applicationId', applicationId.toString())\r\n\t\t\t\t\t.set('identification', identification.toString())\r\n\t\t\t\t\t.set('configurationDocumentId', configurationDocumentId.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tsaveCodebtorCreditReviewerObservation(\r\n\t\tapplicationId: string,\r\n\t\tidentification: string,\r\n\t\tcodebtor: Codebtor\r\n\t) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice +\r\n\t\t\t\t'creditStudy/saveCodebtorCreditReviewerObservation',\r\n\t\t\tcodebtor,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('applicationId', applicationId)\r\n\t\t\t\t\t.set('identification', identification),\r\n\t\t\t\theaders: this.headerJson.headers\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tsaveCodebtorFormData(applicationId: string, codebtor: Codebtor) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'creditStudy/saveCodebtorFormData',\r\n\t\t\tcodebtor,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('applicationId', applicationId),\r\n\t\t\t\theaders: this.headerJson.headers\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tupdateCodebtorState(applicationId: string, codebtor: Codebtor) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'creditStudy/updateCodebtorState',\r\n\t\t\tcodebtor,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('applicationId', applicationId),\r\n\t\t\t\theaders: this.headerJson.headers\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tupdateCompletedFlag(application: Application, completed: boolean, idFlag: number) {\r\n\t\treturn this.httpClient.put(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'creditStudy/updateCompletedFlag',\r\n\t\t\tapplication,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('completed', completed.toString())\r\n\t\t\t\t\t.set('idFlag', idFlag.toString()),\r\n\t\t\t\theaders: this.headerJson.headers\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tacceptConsultation(application: Application, response: boolean) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'creditStudy/acceptConsultation',\r\n\t\t\tapplication,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('response', response.toString()),\r\n\t\t\t\theaders: this.headerJson.headers\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tsaveCodebtor(applicationId: string, codebtor: Codebtor) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'creditStudy/saveCodebtor',\r\n\t\t\tcodebtor,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('applicationId', applicationId),\r\n\t\t\t\theaders: this.headerJson.headers\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tremoveCodebtor(applicationId: string, identification: string) {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'creditStudy/removeCodebtor',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('applicationId', applicationId)\r\n\t\t\t\t\t.set('identification', identification.toString()),\r\n\t\t\t\theaders: this.headerJson.headers\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tsaveCodebtorCheckSum(applicationId: string, codebtor: Codebtor) {\r\n\t\treturn this.httpClient.put(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'creditStudy/saveCodebtorCheckSum',\r\n\t\t\tcodebtor,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('applicationId', applicationId),\r\n\t\t\t\theaders: this.headerJson.headers\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tupdateCodebtorDateForm(applicationId: string, codebtor: Codebtor) {\r\n\t\treturn this.httpClient.put(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'creditStudy/updateCodebtorDateForm',\r\n\t\t\tcodebtor,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('applicationId', applicationId),\r\n\t\t\t\theaders: this.headerJson.headers\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tsaveAllCodebtors(applicationId: string, lCodebtor: Codebtor[]) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'creditStudy/saveAllCodebtors',\r\n\t\t\tlCodebtor,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('applicationId', applicationId),\r\n\t\t\t\theaders: this.headerJson.headers\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tcodebtorsSendInitialEmail(applicationId: string) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'creditStudy/codebtorsSendInitialEmail',\r\n\t\t\tnull,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('applicationId', applicationId),\r\n\t\t\t\theaders: this.headerJson.headers\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tsaveBeneficiaryCreditReviewerObservation(\r\n\t\tapplicationId: string,\r\n\t\tlObservations: CreditReviewerObservation[]\r\n\t) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice +\r\n\t\t\t\t'creditStudy/saveBeneficiaryCreditReviewerObservation',\r\n\t\t\tlObservations,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('applicationId', applicationId),\r\n\t\t\t\theaders: this.headerJson.headers\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetBeneficiaryCreditReviewerObservation(applicationId: string) {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice +\r\n\t\t\t\t'creditStudy/getBeneficiaryCreditReviewerObservation',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('applicationId', applicationId),\r\n\t\t\t\theaders: this.headerJson.headers\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\tacceptConsultationCodebtor(\r\n\t\tapplication: Application,\r\n\t\tcodebtorIdentification: string,\r\n\t\tresponse: boolean\r\n\t) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'creditStudy/acceptConsultationCodebtor',\r\n\t\t\tapplication,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('response', response.toString())\r\n\t\t\t\t\t.set('codebtorIdentification', codebtorIdentification.toString()),\r\n\t\t\t\theaders: this.headerJson.headers\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tenableCodebtor(\r\n\t\tapplicationId: string,\r\n\t\tcodebtor: string,\r\n\t\tchangeStatusByCategoryDto: ChangeStatusByCategoryDto\r\n\t) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'creditStudy/enableCodebtor',\r\n\t\t\tchangeStatusByCategoryDto,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('applicationId', applicationId)\r\n\t\t\t\t\t.set('codebtor', codebtor),\r\n\t\t\t\theaders: this.headerJson.headers\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tcompleteCreditStudyInfo(applicationId: string) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'creditStudy/completeCreditStudyInfo',\r\n\t\t\tnull,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('applicationId', applicationId),\r\n\t\t\t\theaders: this.headerJson.headers\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetApprovedCodebtors(applicationId: string, promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'creditStudy/getApprovedCodebtors',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('applicationId', String(applicationId))\r\n\t\t\t\t\t.set('promCodigo', String(promCodigo))\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetApprovedCodebtorsByAppId(lAppId: string[], promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'creditStudy/getApprovedCodebtorsByAppId',\r\n\t\t\tlAppId,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('promCodigo', promCodigo.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tcheckCreditStudyFinalStatus(applicationId: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'creditStudy/checkCreditStudyFinalStatus',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('applicationId', applicationId)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tupdateCreditStudyDocuments(lCreditStudyDocumentTO: any[]): Observable<any> {\r\n\t\treturn this.httpClient.put(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'creditStudy/updateCreditStudyDocuments',\r\n\t\t\tlCreditStudyDocumentTO,\r\n\t\t\t{\r\n\t\t\t\theaders: this.headerJson.headers\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\texternalReviewerRejectCreditStudy(\r\n\t\tapplicationId: string,\r\n\t\tpromCodigo: number,\r\n\t\tchangeStatusByCategoryDto: ChangeStatusByCategoryDto\r\n\t) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice +\r\n\t\t\t\t'creditStudy/externalReviewerRejectCreditStudy',\r\n\t\t\tchangeStatusByCategoryDto,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('applicationId', applicationId)\r\n\t\t\t\t\t.set('promCodigo', promCodigo.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { GuaranteeDocument, ResponsableGuarantee } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class GuaranteeDocumentService {\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\tgenerateDocument(guaranteeDocument: GuaranteeDocument[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'guaranteeDocument/generateDocument',\r\n\t\t\tguaranteeDocument\r\n\t\t);\r\n\t}\r\n\r\n\tupdateDocuments(guaranteeDocument: GuaranteeDocument[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'guaranteeDocument/updateDocuments',\r\n\t\t\tguaranteeDocument\r\n\t\t);\r\n\t}\r\n\r\n\tgetDocuments(applicationId: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'guaranteeDocument/getDocuments',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('applicationId', String(applicationId))\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetStatusNameByIdentification(applicationId: string, identification: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice +\r\n\t\t\t\t'guaranteeDocument/getStatusNameByApplicationIdAndIdentification',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('applicationId', String(applicationId))\r\n\t\t\t\t\t.set('identification', String(identification))\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tdeleteDocuments(applicationId: string): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'guaranteeDocument/deleteDocuments',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('applicationId', String(applicationId))\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tsaveSignatureProcessStarted(\r\n\t\tapplicationId: string,\r\n\t\tresponsableGuarantee: ResponsableGuarantee\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice +\r\n\t\t\t\t'guaranteeDocument/saveSignatureProcessStarted',\r\n\t\t\tresponsableGuarantee,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('applicationId', String(applicationId))\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { HEADER_JSON } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class CommonInfoService {\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\t/**\r\n\t * Get properties info\r\n\t */\r\n\tgetBackofficePropertyNames(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice + 'common-info/getPropertyNames'\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * Get properties info\r\n\t */\r\n\tgetConfigurationPropertyNames(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'common-info/getPropertyNames'\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * Get properties info\r\n\t */\r\n\tgetFrontofficePropertyNames(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'common-info/getPropertyNames'\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * Get properties info\r\n\t */\r\n\tgetSegmentationPropertyNames(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.segmentation + 'common-info/getPropertyNames'\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * Get properties info\r\n\t */\r\n\tgetCommunicationPropertyNames(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.communication + 'common-info/getPropertyNames'\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { HEADER_JSON, PliCnfMenuForm } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfMenuFormService {\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\t/** It returns all list of status by prom code */\r\n\tgetById(statusId: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfMenuForm/getById',\r\n\t\t\t{ params: new HttpParams().set('statusId', statusId.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns all list of status by prom code */\r\n\tgetAllByPromCode(promCode: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfMenuForm/getAllByPromCode',\r\n\t\t\t{ params: new HttpParams().set('promCodigo', promCode.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\tsave(lPliCnfMenuForm: PliCnfMenuForm[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfMenuForm/save',\r\n\t\t\tlPliCnfMenuForm,\r\n\t\t\tHEADER_JSON\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpHeaders, HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { PliCnfGuaranteeDocumentsTemplate } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfGuaranteeDocumentsTemplateService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\tgetAllByPromCodigo(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfGuaranteeDocumentsTemplate/getAllByPromCodigo',\r\n\t\t\t{ params: new HttpParams().set('promCodigo', promCodigo.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\tsave(pliCnfGuaranteeDocumentsTemplate: PliCnfGuaranteeDocumentsTemplate): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfGuaranteeDocumentsTemplate/save',\r\n\t\t\tpliCnfGuaranteeDocumentsTemplate,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tdelete(id: number): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfGuaranteeDocumentsTemplate/delete',\r\n\t\t\t{ params: new HttpParams().set('id', id.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\tgetById(id: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfGuaranteeDocumentsTemplate/getById',\r\n\t\t\t{ params: new HttpParams().set('id', id.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\tconfigCloningGDocuments(lGdocs: PliCnfGuaranteeDocumentsTemplate[]) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfGuaranteeDocumentsTemplate/configCloningGDocuments`,\r\n\t\t\tlGdocs\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { ResponsableGuarantee } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class IntegrationADOService {\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\tsaveTransactionAndState(\r\n\t\tapplicationId: string,\r\n\t\tresponsableGuarantee: ResponsableGuarantee\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'integrationADO/saveTransactionAndState',\r\n\t\t\tresponsableGuarantee,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('applicationId', String(applicationId))\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tsaveTransactionAndStateByAppList(\r\n\t\tlApplicationId: string[],\r\n\t\tresponsableGuarantee: ResponsableGuarantee\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice +\r\n\t\t\t\t'integrationADO/saveTransactionAndStateByAppList',\r\n\t\t\t{\r\n\t\t\t\tresponsableGuarantee: responsableGuarantee,\r\n\t\t\t\tlApplicationId: lApplicationId\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tsaveSignedDocuments(\r\n\t\tapplicationId: string,\r\n\t\tcarta: string,\r\n\t\tcontrato: string,\r\n\t\tpagare: string\r\n\t): Observable<any> {\r\n\t\tlet body = {\r\n\t\t\tapplicationId: applicationId,\r\n\t\t\tcarta: carta,\r\n\t\t\tcontrato: contrato,\r\n\t\t\tpagare: pagare\r\n\t\t};\r\n\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'integrationADO/saveSignedDocuments',\r\n\t\t\tbody\r\n\t\t);\r\n\t}\r\n\r\n\tsaveTransactionAndStateManual(\r\n\t\tapplicationId: string,\r\n\t\tcarta: string,\r\n\t\tcontrato: string,\r\n\t\tpagare: string,\r\n\t\tconfigurationDocumentId: number\r\n\t): Observable<any> {\r\n\t\tlet body = {\r\n\t\t\tapplicationId: applicationId,\r\n\t\t\tcarta: carta,\r\n\t\t\tcontrato: contrato,\r\n\t\t\tpagare: pagare,\r\n\t\t\tconfigurationDocumentId: configurationDocumentId\r\n\t\t};\r\n\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice +\r\n\t\t\t\t'integrationADO/saveTransactionAndStateManual',\r\n\t\t\tbody\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { GuaranteeEnrollment } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class GuaranteeEnrollmentService {\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\tsave(guaranteeEnrollment: GuaranteeEnrollment): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'guaranteeEnrollment/save',\r\n\t\t\tguaranteeEnrollment\r\n\t\t);\r\n\t}\r\n\r\n\tgetGuaranteeEnrollmentByIdentificationAndPatCodigo(\r\n\t\tidentification: string,\r\n\t\tpatCodigo: number\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice +\r\n\t\t\t\t'guaranteeEnrollment/getGuaranteeEnrollmentByIdentificationAndPatCodigo',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('identification', String(identification))\r\n\t\t\t\t\t.set('patCodigo', String(patCodigo))\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tupdateGuaranteeEnrollment(guaranteeEnrollment: GuaranteeEnrollment): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice +\r\n\t\t\t\t'guaranteeEnrollment/updateGuaranteeEnrollment',\r\n\t\t\tguaranteeEnrollment\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { PliCnfTextOption } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfTextOptionService {\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\tsave(pliCnfTextOption: PliCnfTextOption[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfTextOption/save',\r\n\t\t\tpliCnfTextOption\r\n\t\t);\r\n\t}\r\n\r\n\tgetOptionsByPliCnfTextId(pliCnfTextId: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfTextOption/getOptionsByPliCnfTextId',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('pliCnfTextId', pliCnfTextId.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tdeleteOptionList(deletePliCnfTextOptions: PliCnfTextOption[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfTextOption/deleteOptionList',\r\n\t\t\tdeletePliCnfTextOptions\r\n\t\t);\r\n\t}\r\n\r\n\tdeleteById(id: number): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfTextOption/deleteById',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('id', id.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { ConfigurationMinisiteTo } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class ConfigurationMinisiteService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\tsaveMinisiteData(configurationMinisiteTo: ConfigurationMinisiteTo): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.queue + 'configuration-minisite/saveMinisiteData',\r\n\t\t\tconfigurationMinisiteTo,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpHeaders, HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { PliTagAssignment } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliTagAssignmentService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\tsave(pliTagAssignment: PliTagAssignment): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.segmentation + 'pliTagAssignment/save',\r\n\t\t\tpliTagAssignment\r\n\t\t);\r\n\t}\r\n\r\n\tgetByUsernameAndActive(username: string, active: boolean): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.segmentation + 'pliTagAssignment/getByUsernameAndActive',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('username', username.toString())\r\n\t\t\t\t\t.set('active', active.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tchangeToDisabled(pliTagAssignment: PliTagAssignment): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.segmentation + 'pliTagAssignment/changeToDisabled',\r\n\t\t\tpliTagAssignment\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpHeaders, HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { DataTableParameters, HEADER_JSON, University } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class UniversityService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\t/** It returns the university by id */\r\n\tgetById(id: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'university/getById',\r\n\t\t\t{ params: new HttpParams().set('id', id) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the university by fullname */\r\n\tgetUniversitiesByFullname(fullname: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'university/getUniversitiesByFullname',\r\n\t\t\t{ params: new HttpParams().set('fullname', fullname) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the university by nativeName */\r\n\tgetUniversitiesByNativeName(nativeName: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'university/getUniversitiesByNativeName',\r\n\t\t\t{ params: new HttpParams().set('nativeName', nativeName) }\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * Save the university\r\n\t * @param university\r\n\t */\r\n\tsave(university: University): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'university/save',\r\n\t\t\tuniversity,\r\n\t\t\tHEADER_JSON\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * get multiple records\r\n\t * @param dataTableParameters\r\n\t */\r\n\tgetByDataTablesParameters(dataTableParameters: DataTableParameters) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'university/getByDataTablesParameters',\r\n\t\t\tdataTableParameters,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport { ProgressBar, HEADER_JSON, EProjectFrom } from 'ng-pli-util';\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class ProgressBarService {\r\n\turlBase: string = this.environment.host.backend.configuration;\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\tsaveProgress(data: ProgressBar, projectFrom: number = EProjectFrom.PLI): Observable<any> {\r\n\t\tif (projectFrom == EProjectFrom.GIC) {\r\n\t\t\tthis.urlBase = this.environment.host.backend.gicConfiguration;\r\n\t\t}\r\n\t\treturn this.httpClient.post(this.urlBase + 'progressBar/saveProgress', data, HEADER_JSON);\r\n\t}\r\n\r\n\tgetProgress(\r\n\t\tprocessId: number,\r\n\t\tprocessType: number,\r\n\t\tprojectFrom: number = EProjectFrom.PLI\r\n\t): Observable<any> {\r\n\t\tif (projectFrom == EProjectFrom.GIC) {\r\n\t\t\tthis.urlBase = this.environment.host.backend.gicConfiguration;\r\n\t\t}\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.urlBase + 'progressBar/getProgressByProcessIdAndProcessType',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('processId', processId.toString())\r\n\t\t\t\t\t.set('processType', processType.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { EProjectFrom, ProgressBar } from 'ng-pli-util';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ProgressBarService } from '../../services/progress-bar.service';\r\n\r\n@Component({\r\n\tselector: 'pli-progress-bar',\r\n\ttemplateUrl: './progress-bar.component.html',\r\n\tstyleUrls: ['./progress-bar.component.css']\r\n})\r\nexport class ProgressBarComponent implements OnInit, OnDestroy {\r\n\t/** */\r\n\t@Input() processId: number;\r\n\t/** */\r\n\t@Input() processType: number;\r\n\t/** */\r\n\t@Input() percentage: number;\r\n\t/** */\r\n\t@Input() current: number;\r\n\t/** */\r\n\t@Input() end: number;\r\n\r\n\t// Desde que proyecto se consulta a la barra. 1 Para PLI, 2 GIC\r\n\t@Input() projectFrom: number = EProjectFrom.PLI; // Enumerado\r\n\r\n\t@Output() finishProcess = new EventEmitter<any>();\r\n\r\n\tsetTimeOutValue: any;\r\n\r\n\tconstructor(\r\n\t\tprivate toastrService: ToastrService,\r\n\t\tprivate progressBarService: ProgressBarService\r\n\t) {\r\n\t\tthis.setTimeOutValue = 0;\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\twindow.addEventListener('beforeunload', this.closeTabCallback);\r\n\t\tthis.setTimeOutValue = setTimeout(() => {\r\n\t\t\tthis.initNoIn();\r\n\t\t}, 1000);\r\n\t}\r\n\r\n\tasync initNoIn() {\r\n\t\tlet processActual;\r\n\t\tif (typeof this.processType !== 'undefined') {\r\n\t\t\tprocessActual = await this.handleProgress();\r\n\t\t}\r\n\t\tif (this.percentage === 100) {\r\n\t\t\tthis.toastrService.success('El proceso se completó con éxito!', 'Proceso completado');\r\n\t\t\tthis.clearActualTimeout();\r\n\t\t\tthis.finishProcess.emit(processActual);\r\n\t\t} else {\r\n\t\t\tthis.setTimeOutValue = setTimeout(() => {\r\n\t\t\t\tthis.initNoIn();\r\n\t\t\t}, 500);\r\n\t\t}\r\n\t}\r\n\r\n\tasync handleProgress() {\r\n\t\tlet processActual = await this.progressBarService\r\n\t\t\t.getProgress(this.processId, this.processType, this.projectFrom)\r\n\t\t\t.toPromise();\r\n\t\tlet process: ProgressBar;\r\n\t\tif (processActual == null) {\r\n\t\t\tprocess.processId = null;\r\n\t\t\tprocess.processType = this.processType;\r\n\t\t\tprocess.percentage = 0;\r\n\t\t\tprocess.state = '';\r\n\t\t\tprocess.current = this.current;\r\n\t\t\tprocess.end = this.end;\r\n\t\t\tprocessActual = await this.progressBarService\r\n\t\t\t\t.saveProgress(process, this.projectFrom)\r\n\t\t\t\t.toPromise();\r\n\t\t}\r\n\t\tthis.processId = processActual.processId;\r\n\t\tthis.percentage = processActual.percentage;\r\n\r\n\t\treturn processActual;\r\n\t}\r\n\r\n\tclearActualTimeout() {\r\n\t\twindow.removeEventListener('beforeunload', this.closeTabCallback);\r\n\t\tclearTimeout(this.setTimeOutValue);\r\n\t\tthis.setTimeOutValue = null;\r\n\t}\r\n\r\n\tcloseTabCallback(e) {\r\n\t\tconst confirmationMessage = 'o/';\r\n\t\te.returnValue = confirmationMessage; // Gecko, Trident, Chrome 34+\r\n\t\treturn confirmationMessage; // Gecko, WebKit, Chrome <34\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.clearActualTimeout();\r\n\t}\r\n}\r\n","<div class=\"progress\">\r\n <div class=\"progress-bar progress-bar-striped active\" role=\"progressbar\" aria-valuemin=\"0\" aria-valuemax=\"100\" [ngStyle]=\"{ width: percentage + '%' }\">\r\n {{ percentage }}%\r\n </div>\r\n</div>","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { PliCnfSurveyPdf } from 'ng-pli-util';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfSurveyPdfService {\r\n constructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n \r\n save(pliCnfSurveyPdf: PliCnfSurveyPdf): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfSurveyPdf/save',\r\n\t\t\tpliCnfSurveyPdf\r\n\t\t);\r\n\t}\r\n\r\n getBySurveyId(id: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfSurveyPdf/getBySurveyId',\r\n\t\t\t{ params: new HttpParams().set('id', String(id)) }\r\n\t\t);\r\n\t}\r\n\r\n\tgetById(id: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfSurveyPdf/getById',\r\n\t\t\t{ params: new HttpParams().set('id', String(id)) }\r\n\t\t);\r\n\t}\r\n\r\n\tclone(pliCnfSurveyPdf: PliCnfSurveyPdf): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfSurveyPdf/clone',\r\n\t\t\tpliCnfSurveyPdf\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { SegmentationTokenTO } from 'ng-pli-util';\r\nimport { Observable } from 'rxjs';\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class SegmentationTokensService {\r\n\tcontrollerName = 'segmentation-token';\r\n\tstatic SURVEY_TOKENS_CATEGORY = 'Encuesta estáticos';\r\n\tstatic FORM_TOKENS_CATEGORY = 'Encuesta formulario - ';\r\n\tstatic SEGMENTATION_TOKENS_PREFIX = 'seg_';\r\n\tstatic STATIC_TOKENS_PREFIX = 'estatico_';\r\n\tstatic FORM_TOKENS_PREFIX = 'frm_';\r\n\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\tgetTokenSintax(key) {\r\n\t\treturn '${' + key + '}';\r\n\t}\r\n\r\n\tgetLogicalTokenSintax(key) {\r\n\t\treturn '$[[' + key + ']]';\r\n\t}\r\n\r\n\tgetHierarchicalTokenSintax(key) {\r\n\t\treturn '$((' + key + '))';\r\n\t}\r\n\r\n\tgetSurveyStaticTokens(): Observable<any[]> {\r\n\t\treturn this.httpClient.get<any[]>(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t`${this.controllerName}/getSurveyStaticTokens`\r\n\t\t);\r\n\t}\r\n\r\n\ttransform(sTokenTO: SegmentationTokenTO): Observable<SegmentationTokenTO> {\r\n\t\treturn this.httpClient.post<SegmentationTokenTO>(\r\n\t\t\tthis.environment.host.backend.configuration + `${this.controllerName}/transform`,\r\n\t\t\tsTokenTO\r\n\t\t);\r\n\t}\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { UtilString } from 'ng-pli-util';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { SegmentationTokensService } from '../../services/segmentation-tokens.service';\r\n// import { SegmentationTokensService } from 'ng-pli-commons';\r\n\r\n@Component({\r\n\tselector: 'app-tokens-calculator',\r\n\ttemplateUrl: './tokens-calculator.component.html',\r\n\tstyleUrls: ['./tokens-calculator.component.css']\r\n})\r\nexport class TokensCalculatorComponent implements OnInit {\r\n\t// Required input (array of visible columns)\r\n\t@Input() comboColumnWorkInput: any[];\r\n\tcomboColumnWork: any[];\r\n\r\n\tEQ_OPERATOR = '==';\r\n\tNEQ_OPERATOR = '!=';\r\n\r\n\tsource: any[];\r\n\ttarget: any[];\r\n\r\n\tstatic CONDITIONAL_TOKEN_TYPE = 1;\r\n\tstatic HIERARCHICAL_TOKEN_TYPE = 2;\r\n\tstatic HIERARCHICAL_CATEGORY = 'Jerárquicos';\r\n\r\n\tkeyToCalculate: string;\r\n\tvalueToCompare: string;\r\n\tpositiveValue: string;\r\n\tnegativeValue: string;\r\n\thierarchicalName: string;\r\n\ttokenType: string;\r\n\toperator: string;\r\n\r\n\tconstructor(private sTokensService: SegmentationTokensService, private toastr: ToastrService) {\r\n\t\tthis.tokenType = this.conditionalTokenType;\r\n\t\tthis.operator = this.EQ_OPERATOR;\r\n\t\tthis.hierarchicalName = '';\r\n\t\tthis.positiveValue = '';\r\n\t\tthis.negativeValue = '';\r\n\t\tthis.source = [];\r\n\t\tthis.target = [];\r\n\t}\r\n\r\n\tget conditionalTokenType() {\r\n\t\treturn TokensCalculatorComponent.CONDITIONAL_TOKEN_TYPE.toString();\r\n\t}\r\n\tget hierarchicalTokenType() {\r\n\t\treturn TokensCalculatorComponent.HIERARCHICAL_TOKEN_TYPE.toString();\r\n\t}\r\n\r\n\tget isConditionalToken() {\r\n\t\treturn this.conditionalTokenType == this.tokenType;\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tif (!Array.isArray(this.comboColumnWorkInput)) return;\r\n\t\tconst categories = JSON.parse(JSON.stringify(this.comboColumnWorkInput));\r\n\t\tcategories.forEach((cat) =>\r\n\t\t\tcat.items.forEach((c) => (c.value = this.sTokensService.getTokenSintax(c.value)))\r\n\t\t);\r\n\t\tthis.comboColumnWork = categories;\r\n\t\tthis.buildSource();\r\n\t}\r\n\r\n\tbuildSource() {\r\n\t\tconst options = [];\r\n\t\tfor (const category of this.comboColumnWorkInput) {\r\n\t\t\tfor (const field of category.items) {\r\n\t\t\t\toptions.push({\r\n\t\t\t\t\tcategory: category.label,\r\n\t\t\t\t\tlabel: field.label,\r\n\t\t\t\t\tvalue: this.sTokensService.getTokenSintax(field.value)\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.source = options;\r\n\t}\r\n\r\n\tgenerateConditionalToken() {\r\n\t\tlet calculatedToken = `'${this.keyToCalculate}' ${this.operator} '${this.valueToCompare}'`;\r\n\t\tcalculatedToken += ` ? '${this.positiveValue}' : '${this.negativeValue}'`;\r\n\r\n\t\tcalculatedToken = this.sTokensService.getLogicalTokenSintax(calculatedToken);\r\n\t\tUtilString.copyMessage(calculatedToken);\r\n\t}\r\n\r\n\tgenerateHierarchicalTokenType() {\r\n\t\tif (this.target.length < 2) {\r\n\t\t\tthis.toastr.error('Es necesario al menos dos campos a evaluar');\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tlet calculatedToken = this.target.map((t) => `'${t.value}'`).join(' || ');\r\n\t\tcalculatedToken = this.sTokensService.getHierarchicalTokenSintax(calculatedToken);\r\n\t\tUtilString.copyMessage(calculatedToken);\r\n\t\treturn calculatedToken;\r\n\t}\r\n\r\n\tuseCondition() {\r\n\t\tif (this.hierarchicalName.length < 1) {\r\n\t\t\tthis.toastr.error('Para usar como condición es necesario un nombre');\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst item = {\r\n\t\t\tlabel: this.hierarchicalName,\r\n\t\t\tvalue: this.generateHierarchicalTokenType()\r\n\t\t};\r\n\t\tconst category = this.comboColumnWork.find(\r\n\t\t\t(cw) => cw.label == TokensCalculatorComponent.HIERARCHICAL_CATEGORY\r\n\t\t);\r\n\t\tthis.hierarchicalToConditional(category, item);\r\n\t\tthis.resetValues(true);\r\n\t\tthis.tokenType = this.conditionalTokenType.toString();\r\n\t\tthis.keyToCalculate = item.value;\r\n\t}\r\n\r\n\thierarchicalToConditional(category, item) {\r\n\t\tif (category) {\r\n\t\t\tconst it = category.items.find((i) => i.label == item.label);\r\n\t\t\tif (it) {\r\n\t\t\t\tit.value = item.value;\r\n\t\t\t} else {\r\n\t\t\t\tcategory.items.push(item);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.comboColumnWork.push({\r\n\t\t\t\tlabel: TokensCalculatorComponent.HIERARCHICAL_CATEGORY,\r\n\t\t\t\titems: [item]\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tresetValues(resetPickList = false) {\r\n\t\tthis.hierarchicalName = '';\r\n\t\tthis.keyToCalculate = '';\r\n\t\tthis.valueToCompare = '';\r\n\t\tthis.positiveValue = '';\r\n\t\tthis.negativeValue = '';\r\n\r\n\t\tif (resetPickList) {\r\n\t\t\tconst el = document.querySelector(\r\n\t\t\t\t\"button[icon='pi pi-angle-double-left']\"\r\n\t\t\t) as HTMLElement;\r\n\t\t\tif (el) el.click();\r\n\t\t}\r\n\t}\r\n}\r\n","<div class=\"flex\" style=\"margin-bottom: 11px; width: fit-content\">\r\n\t<label class=\"radio-inline\">\r\n\t\t<input\r\n\t\t\ttype=\"radio\"\r\n\t\t\t[(ngModel)]=\"tokenType\"\r\n\t\t\t[value]=\"conditionalTokenType\"\r\n\t\t\t(click)=\"resetValues(true)\"\r\n\t\t/>\r\n\t\tCondicional\r\n\t</label>\r\n\t<label class=\"radio-inline\">\r\n\t\t<input\r\n\t\t\ttype=\"radio\"\r\n\t\t\t[(ngModel)]=\"tokenType\"\r\n\t\t\t[value]=\"hierarchicalTokenType\"\r\n\t\t\t(click)=\"resetValues()\"\r\n\t\t/>\r\n\t\tJerárquico\r\n\t</label>\r\n</div>\r\n\r\n<ng-container *ngIf=\"isConditionalToken\">\r\n\t<div class=\"flex align-items-center\" style=\"margin-top: 15px\">\r\n\t\t<div class=\"mr-sm\">\r\n\t\t\t<label for=\"field\">Campo a evaluar</label>\r\n\t\t\t<p-dropdown\r\n\t\t\t\tid=\"field\"\r\n\t\t\t\tplaceholder=\"-- Seleccione opción\"\r\n\t\t\t\t[options]=\"comboColumnWork\"\r\n\t\t\t\t[group]=\"true\"\r\n\t\t\t\t[(ngModel)]=\"keyToCalculate\"\r\n\t\t\t\t[filter]=\"true\"\r\n\t\t\t\t[style]=\"{ width: '250px' }\"\r\n\t\t\t>\r\n\t\t\t</p-dropdown>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"mr-sm\">\r\n\t\t\t<label for=\"operator\">Operador</label>\r\n\t\t\t<select\r\n\t\t\t\tid=\"operator\"\r\n\t\t\t\tclass=\"form-control input-sm select-operation\"\r\n\t\t\t\tstyle=\"width: 80px\"\r\n\t\t\t\t[(ngModel)]=\"operator\"\r\n\t\t\t>\r\n\t\t\t\t<option [value]=\"EQ_OPERATOR\">Igual a</option>\r\n\t\t\t\t<option [value]=\"NEQ_OPERATOR\">Diferente a</option>\r\n\t\t\t</select>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"mr-sm\">\r\n\t\t\t<label for=\"compare\">Valor a comparar</label>\r\n\t\t\t<input\r\n\t\t\t\tid=\"compare\"\r\n\t\t\t\ttype=\"text\"\r\n\t\t\t\tclass=\"form-control input-value input-sm\"\r\n\t\t\t\t[(ngModel)]=\"valueToCompare\"\r\n\t\t\t\tplaceholder=\"valor\"\r\n\t\t\t\tstyle=\"width: 156px\"\r\n\t\t\t/>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div class=\"flex align-items-center\" style=\"margin-top: 15px\">\r\n\t\t<div class=\"mr-sm\">\r\n\t\t\t<label for=\"positive\">Valor positivo</label>\r\n\t\t\t<input\r\n\t\t\t\tid=\"positive\"\r\n\t\t\t\ttype=\"text\"\r\n\t\t\t\tclass=\"form-control input-value input-sm\"\r\n\t\t\t\t[(ngModel)]=\"positiveValue\"\r\n\t\t\t\tplaceholder=\"valor\"\r\n\t\t\t\tstyle=\"width: 250px\"\r\n\t\t\t/>\r\n\t\t</div>\r\n\t\t<div class=\"mr-sm\">\r\n\t\t\t<label for=\"negative\">Valor negativo</label>\r\n\t\t\t<input\r\n\t\t\t\tid=\"negative\"\r\n\t\t\t\ttype=\"text\"\r\n\t\t\t\tclass=\"form-control input-value input-sm\"\r\n\t\t\t\t[(ngModel)]=\"negativeValue\"\r\n\t\t\t\tplaceholder=\"valor\"\r\n\t\t\t\tstyle=\"width: 250px\"\r\n\t\t\t/>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div class=\"flex align-items-center\" style=\"margin-top: 15px\" *ngIf=\"valueToCompare\">\r\n\t\t<div class=\"mr-sm\">\r\n\t\t\t<label for=\"generate\">Resultado</label>\r\n\t\t\t<button\r\n\t\t\t\tid=\"generate\"\r\n\t\t\t\ttype=\"button\"\r\n\t\t\t\t(click)=\"generateConditionalToken()\"\r\n\t\t\t\ttitle=\"Copiar\"\r\n\t\t\t\tstyle=\"margin-left: 2px; width: 30px\"\r\n\t\t\t>\r\n\t\t\t\t<span class=\"fa fa-clipboard\"></span>\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t</div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"!isConditionalToken\">\r\n\t<div class=\"flex align-items-center\" style=\"margin-top: 13px; margin-bottom: 20px\">\r\n\t\t<div style=\"margin-right: 10px\">\r\n\t\t\t<label for=\"hierarchicalName\">Nombre</label>\r\n\t\t\t<input\r\n\t\t\t\tid=\"hierarchicalName\"\r\n\t\t\t\ttype=\"text\"\r\n\t\t\t\tclass=\"form-control input-value input-sm\"\r\n\t\t\t\t[(ngModel)]=\"hierarchicalName\"\r\n\t\t\t\tplaceholder=\"Nombre\"\r\n\t\t\t\tstyle=\"width: 226px\"\r\n\t\t\t/>\r\n\t\t</div>\r\n\t\t<div style=\"margin-right: 10px\">\r\n\t\t\t<label for=\"generate\">Acciones</label>\r\n\t\t\t<button\r\n\t\t\t\tid=\"generate\"\r\n\t\t\t\ttype=\"button\"\r\n\t\t\t\t(click)=\"generateHierarchicalTokenType()\"\r\n\t\t\t\ttitle=\"Copiar\"\r\n\t\t\t\tstyle=\"width: 30px\"\r\n\t\t\t>\r\n\t\t\t\t<span class=\"fa fa-clipboard\"></span>\r\n\t\t\t</button>\r\n\t\t\t \r\n\t\t\t<button\r\n\t\t\t\tid=\"generate\"\r\n\t\t\t\ttype=\"button\"\r\n\t\t\t\t(click)=\"useCondition()\"\r\n\t\t\t\ttitle=\"Volver condicional\"\r\n\t\t\t\tstyle=\"margin-left: -5px; width: 30px\"\r\n\t\t\t>\r\n\t\t\t\t<span class=\"fa fa-plus\"></span>\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t\t<div class=\"mr-sm\"></div>\r\n\t</div>\r\n\t<div class=\"flex align-items-center\" style=\"margin-top: 13px; margin-bottom: 20px\">\r\n\t\t<p-pickList\r\n\t\t\t[dragdrop]=\"true\"\r\n\t\t\tngDefaultControl\r\n\t\t\t[source]=\"source\"\r\n\t\t\t[target]=\"target\"\r\n\t\t\t[responsive]=\"true\"\r\n\t\t\tfilterBy=\"category,label\"\r\n\t\t\t[showSourceControls]=\"false\"\r\n\t\t\ttargetFilterPlaceholder=\" Buscar...\"\r\n\t\t\tsourceFilterPlaceholder=\" Buscar...\"\r\n\t\t>\r\n\t\t\t<!-- [sourceStyle]=\"{ width: '234px' }\"\r\n\t\t\t[targetStyle]=\"{ width: '234px' }\" -->\r\n\t\t\t<ng-template let-field pTemplate=\"item\">\r\n\t\t\t\t<div class=\"ui-helper-clearfix\">\r\n\t\t\t\t\t{{ field.label }} <br />\r\n\t\t\t\t\t<small>\r\n\t\t\t\t\t\t<b> {{ field.category }} </b>\r\n\t\t\t\t\t</small>\r\n\t\t\t\t</div>\r\n\t\t\t</ng-template>\r\n\t\t</p-pickList>\r\n\t</div>\r\n</ng-container>\r\n","import { Component, OnInit, Input, OnChanges, SimpleChanges } from '@angular/core';\r\n// import { FormioUtil, SegmentationTokensService } from 'ng-pli-commons';\r\nimport { SegColumn, UtilString, DatatableUtil } from 'ng-pli-util';\r\nimport { SegmentationTokensService } from '../../services/segmentation-tokens.service';\r\nimport { FormioUtil } from '../../utils/formio-util';\r\n\r\n@Component({\r\n\tselector: 'app-segmentation-tokens',\r\n\ttemplateUrl: './segmentation-tokens.component.html',\r\n\tstyleUrls: ['./segmentation-tokens.component.css']\r\n})\r\nexport class SegmentationTokensComponent implements OnInit, OnChanges {\r\n\tshowSegmentationTokens: boolean;\r\n\tshowTokensCalculator: boolean;\r\n\tshowCalculatedTokens: boolean;\r\n\tdisplayDialog: boolean;\r\n\tready: boolean;\r\n\r\n\tvarDisplayDiv: string;\r\n\tcolumnSearch: string;\r\n\r\n\t// Buttons\r\n\t@Input() showTokenCalculatorButton = false;\r\n\t@Input() showCalculatedTokenButton = true;\r\n\r\n\t// Optional input\r\n\t@Input() showSurveyTokens = false;\r\n\r\n\t// Optional input (transformed columns)\r\n\t@Input() comboColumnWorkInput: any[];\r\n\t// Optional input (formio object)\r\n\t@Input() surveyFormio: any;\r\n\t// Required input\r\n\t@Input() lSegColumn: SegColumn[];\r\n\r\n\t// Contains the transformed columns\r\n\tcomboColumnWork: any[];\r\n\r\n\t// Adittional columns\r\n\tsegColSurveyFormioTokens: SegColumn[];\r\n\tsegColSurveyTokens: SegColumn[];\r\n\tfullLSegColumn: SegColumn[];\r\n\r\n\tconstructor(private sTokensService: SegmentationTokensService) {\r\n\t\tthis.segColSurveyFormioTokens = [];\r\n\t\tthis.segColSurveyTokens = [];\r\n\t\tthis.fullLSegColumn = [];\r\n\t}\r\n\r\n\tasync ngOnInit() {\r\n\t\tthis.ready = false;\r\n\t\tthis.showSegmentationTokens = false;\r\n\t\tthis.showCalculatedTokens = false;\r\n\t\tthis.showTokensCalculator = false;\r\n\t\tthis.varDisplayDiv = 'overflow: auto;min-height: 600px; display: none;';\r\n\t}\r\n\r\n\tinitSurveyTokens() {\r\n\t\treturn new Promise<void>(async (resolve, reject) => {\r\n\t\t\ttry {\r\n\t\t\t\t// Static tokens\r\n\t\t\t\tif (this.showSurveyTokens && this.segColSurveyTokens.length < 1) {\r\n\t\t\t\t\tthis.segColSurveyTokens = await this.getSegColSurveyTokens();\r\n\t\t\t\t}\r\n\t\t\t\t// Formio logic\r\n\t\t\t\tif (typeof this.surveyFormio !== 'undefined') {\r\n\t\t\t\t\tthis.segColSurveyFormioTokens = this.getSegColSurveyFormioTokens();\r\n\t\t\t\t}\r\n\t\t\t\tresolve();\r\n\t\t\t} catch (error) {\r\n\t\t\t\treject(error);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tngOnChanges(changes: SimpleChanges) {\r\n\t\tif (changes.lSegColumn) {\r\n\t\t\tif (changes.lSegColumn.currentValue) {\r\n\t\t\t\tconst lSegColumn = this.handleSegColumns();\r\n\t\t\t\tthis.initComboColumnWork(lSegColumn);\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (changes.surveyFormio) {\r\n\t\t\tif (changes.surveyFormio.currentValue) {\r\n\t\t\t\tthis.surveyFormio = changes.surveyFormio.currentValue;\r\n\t\t\t\tconst lSegColumn = this.handleSegColumns();\r\n\t\t\t\tthis.initComboColumnWork(lSegColumn);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\thandleSegColumns() {\r\n\t\tconst lSegColumn = JSON.parse(JSON.stringify(this.lSegColumn));\r\n\t\tconst filteredColumns = lSegColumn.reduce(\r\n\t\t\t(acc, el) => ({\r\n\t\t\t\t...acc,\r\n\t\t\t\t[`${el.category}-${el.key}`]: el\r\n\t\t\t}),\r\n\t\t\t{}\r\n\t\t);\r\n\t\tconst columns = [];\r\n\t\tfor (const key in filteredColumns) {\r\n\t\t\tif (filteredColumns.hasOwnProperty(key)) {\r\n\t\t\t\tconst col = filteredColumns[key];\r\n\t\t\t\tcol.key = SegmentationTokensService.SEGMENTATION_TOKENS_PREFIX + col.key;\r\n\t\t\t\tcolumns.push(col);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn columns;\r\n\t}\r\n\r\n\tasync initComboColumnWork(lSegColumns) {\r\n\t\tif (Array.isArray(this.comboColumnWorkInput) && this.comboColumnWorkInput.length > 0) {\r\n\t\t\tthis.comboColumnWork = JSON.parse(JSON.stringify(this.comboColumnWorkInput));\r\n\t\t\tthis.ready = true;\r\n\t\t} else {\r\n\t\t\tif (Array.isArray(lSegColumns) && lSegColumns.length > 0) {\r\n\t\t\t\tawait this.initSurveyTokens();\r\n\t\t\t\tlSegColumns = [\r\n\t\t\t\t\t...lSegColumns,\r\n\t\t\t\t\t...this.segColSurveyFormioTokens,\r\n\t\t\t\t\t...this.segColSurveyTokens\r\n\t\t\t\t];\r\n\t\t\t\tthis.fullLSegColumn = lSegColumns.slice();\r\n\t\t\t\tthis.comboColumnWork = DatatableUtil.buildCombo(lSegColumns);\r\n\t\t\t\tthis.ready = true;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tgetSegColSurveyFormioTokens() {\r\n\t\tconst cols = [];\r\n\t\tif (this.surveyFormio.components) {\r\n\t\t\tconst surveyFormioTokens = FormioUtil.getFormattedComponentsByPanel(\r\n\t\t\t\tFormioUtil.getComponents(this.surveyFormio.components)\r\n\t\t\t);\r\n\t\t\tfor (const panel of surveyFormioTokens) {\r\n\t\t\t\tfor (const field of panel.items) {\r\n\t\t\t\t\tcols.push({\r\n\t\t\t\t\t\tlabel: field.label,\r\n\t\t\t\t\t\tkey: SegmentationTokensService.FORM_TOKENS_PREFIX + field.value,\r\n\t\t\t\t\t\tcategory: SegmentationTokensService.FORM_TOKENS_CATEGORY + ' ' + panel.label\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn cols;\r\n\t}\r\n\r\n\tasync getSegColSurveyTokens() {\r\n\t\tconst category = SegmentationTokensService.SURVEY_TOKENS_CATEGORY;\r\n\t\tconst surveyTokens = await this.sTokensService.getSurveyStaticTokens().toPromise();\r\n\t\treturn surveyTokens.map((st) => {\r\n\t\t\tst.key = SegmentationTokensService.STATIC_TOKENS_PREFIX + st.key;\r\n\t\t\tst.category = category;\r\n\t\t\treturn st;\r\n\t\t});\r\n\t}\r\n\r\n\tdisplaySegmentationTokensDiv() {\r\n\t\tthis.showSegmentationTokens = !this.showSegmentationTokens;\r\n\t\tthis.showCalculatedTokens = false;\r\n\t\tthis.showTokensCalculator = false;\r\n\t}\r\n\r\n\tdisplayCalculatedTokensDiv() {\r\n\t\tthis.showCalculatedTokens = !this.showCalculatedTokens;\r\n\t\tthis.showSegmentationTokens = false;\r\n\t\tthis.showTokensCalculator = false;\r\n\t}\r\n\r\n\tdisplayTokenCalculatorDiv() {\r\n\t\tthis.showTokensCalculator = !this.showCalculatedTokens;\r\n\t\tthis.showSegmentationTokens = false;\r\n\t\tthis.showCalculatedTokens = false;\r\n\t}\r\n\r\n\t/** it executes when the check of category has changed */\r\n\tchangeCategory(isChecked, category) {\r\n\t\tif (category) category.items.forEach((c) => (c.selected = isChecked));\r\n\t}\r\n\r\n\t/** it validates if it is visible or not */\r\n\tisVisibleCategory(category) {\r\n\t\tfor (const column of category.items) if (this.isVisibleColumn(column.label)) return true;\r\n\t\treturn false;\r\n\t}\r\n\r\n\t/** it validates if it is visible or not */\r\n\tisVisibleColumn(label) {\r\n\t\tif (!this.columnSearch) return true;\r\n\t\tif (label && label.toLowerCase().includes(this.columnSearch.toLowerCase())) return true;\r\n\t\treturn false;\r\n\t}\r\n\r\n\tcopyToken(idColumn) {\r\n\t\tconst column = this.getColumn(idColumn.toString());\r\n\t\tif (column) this.copyMessage(this.sTokensService.getTokenSintax(column.key));\r\n\t}\r\n\r\n\tcopyTokenCalc(value) {\r\n\t\tthis.copyMessage(value);\r\n\t}\r\n\r\n\tgetTitleToken(idColumn): string {\r\n\t\tconst column = this.getColumn(idColumn.toString());\r\n\t\tif (column) return '${' + column.key + '}';\r\n\t\treturn '';\r\n\t}\r\n\r\n\tgetColumn(searchVal) {\r\n\t\treturn this.fullLSegColumn.find((c) => c.idColumn == searchVal || c.key == searchVal);\r\n\t}\r\n\r\n\tcopyMessage(val: string) {\r\n\t\tUtilString.copyMessage(val);\r\n\t}\r\n}\r\n","<div *ngIf=\"ready\">\r\n\t<div class=\"panel panel-default\" class=\"overflow: auto;min-height: 600px; display: block;\">\r\n\t\t<div class=\"row\">\r\n\t\t\t<div class=\"col-md-12 row-margin\">\r\n\t\t\t\t<button\r\n\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t(click)=\"displayTokenCalculatorDiv()\"\r\n\t\t\t\t\tclass=\"btn btn-primary pull-right\"\r\n\t\t\t\t>\r\n\t\t\t\t\tCalculadora de tokens\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"col-md-12\">\r\n\t\t\t\t<input\r\n\t\t\t\t\ttype=\"input\"\r\n\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\tstyle=\"margin-bottom: 8px\"\r\n\t\t\t\t\tplaceholder=\"Busqueda de columnas\"\r\n\t\t\t\t\t[(ngModel)]=\"columnSearch\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<p-accordion [multiple]=\"true\">\r\n\t\t\t<ng-container *ngFor=\"let category of comboColumnWork\">\r\n\t\t\t\t<p-accordionTab *ngIf=\"isVisibleCategory(category)\" header=\"{{ category.label }}\">\r\n\t\t\t\t\t<div *ngFor=\"let column of category.items\" class=\"ui-g\">\r\n\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\tclass=\"ui-g-12 ui-md-6 ui-lg-3 cut-line\"\r\n\t\t\t\t\t\t\t*ngIf=\"isVisibleColumn(column.label)\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\t\t\t(click)=\"copyToken(column.value)\"\r\n\t\t\t\t\t\t\t\t[title]=\"getTitleToken(column.value)\"\r\n\t\t\t\t\t\t\t\tstyle=\"margin-right: 8px\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<span class=\"fa fa-clipboard\"></span>\r\n\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t<span title=\"{{ column.label }}\">{{ column.label }}</span>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</p-accordionTab>\r\n\t\t\t</ng-container>\r\n\t\t</p-accordion>\r\n\t</div>\r\n\r\n\t<p-dialog\r\n\t\tappendTo=\"body\"\r\n\t\theader=\"Calculadora de tokens\"\r\n\t\t[(visible)]=\"showTokensCalculator\"\r\n\t\t[modal]=\"true\"\r\n\t\t[contentStyle]=\"{\r\n\t\t\t'min-width': '600px',\r\n\t\t\t'max-width': '600px',\r\n\t\t\t'min-height': '420px',\r\n\t\t\t'max-height': '420px',\r\n\t\t\tbackground: 'white',\r\n\t\t\t'overflow-y': 'auto',\r\n\t\t\t'text-align': 'left'\r\n\t\t}\"\r\n\t\theight=\"420\"\r\n\t\twidth=\"600\"\r\n\t\tdismissableMask=\"true\"\r\n\t>\r\n\t\t<div class=\"container-fluid\">\r\n\t\t\t<app-tokens-calculator\r\n\t\t\t\t*ngIf=\"showTokensCalculator\"\r\n\t\t\t\t[comboColumnWorkInput]=\"comboColumnWork\"\r\n\t\t\t></app-tokens-calculator>\r\n\t\t</div>\r\n\t</p-dialog>\r\n</div>\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { PliCnfProjectSummary } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfProjectSummaryService {\r\n\tprivate service_path = 'project-summary/configuration';\r\n\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) { }\r\n\r\n\tgetByPatCodigoAndPromCodigo(patCodigo: number, promCodigo: number): Observable<PliCnfProjectSummary> {\r\n\t\tconst params = new HttpParams()\r\n\t\t\t.set('patCodigo', patCodigo.toString())\r\n\t\t\t.set('promCodigo', promCodigo.toString());\r\n\t\treturn this.httpClient.get<PliCnfProjectSummary>(\r\n\t\t\t`${this.environment.host.backend.configuration}${this.service_path}`,\r\n\t\t\t{ params }\r\n\t\t);\r\n\t}\r\n\r\n\tgetByPatCodigoAndPromCodigoIn(patCodigo: number, promCodigos: number[]): Observable<PliCnfProjectSummary[]> {\r\n\t\tconst request = { patCodigo, promCodigos };\r\n\t\treturn this.httpClient.post<PliCnfProjectSummary[]>(\r\n\t\t\t`${this.environment.host.backend.configuration}${this.service_path}/search-by-patCodigo-and-promCodigos`,\r\n\t\t\trequest\r\n\t\t);\r\n\t}\r\n\r\n\tsave(pliCnfProjectSummary: PliCnfProjectSummary): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\t`${this.environment.host.backend.configuration}${this.service_path}`,\r\n\t\t\tpliCnfProjectSummary\r\n\t\t);\r\n\t}\r\n\r\n\tupdate(id: number, pliCnfProjectSummary: PliCnfProjectSummary): Observable<any> {\r\n\t\treturn this.httpClient.patch(\r\n\t\t\t`${this.environment.host.backend.configuration}${this.service_path}/${id}`,\r\n\t\t\tpliCnfProjectSummary\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { PartnerTO } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PartnerService {\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\t/**\r\n\t * Obtiene la informacion del patrocinador a partir de un patCodigo\r\n\t * @param patCodigo El parametro es un numero en formato string\r\n\t */\r\n\tgetPartenerById(patCodigo: string): Observable<PartnerTO> {\r\n\t\treturn this.httpClient.get<PartnerTO>(\r\n\t\t\tthis.environment.host.backend.loginWSRest + 'patrocinador/getById',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('patCodigo', patCodigo)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tsave(partner): Observable<PartnerTO> {\r\n\t\treturn this.httpClient.post<PartnerTO>(\r\n\t\t\tthis.environment.host.backend.loginWSRest + 'patrocinador/save',\r\n\t\t\tpartner\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { PartnerSystemTO } from 'ng-pli-util';\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PartnerSystemService {\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\tgetByPatAndSystem(patCodigo: string, sysCodigo: string): Observable<PartnerSystemTO> {\r\n\t\treturn this.httpClient.get<PartnerSystemTO>(\r\n\t\t\tthis.environment.host.backend.loginWSRest + 'patrocinadorSistema/getByPatAndSystem',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('patCodigo', patCodigo).set('sysCodigo', sysCodigo)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tsave(partnerSystem): Observable<PartnerSystemTO> {\r\n\t\treturn this.httpClient.post<PartnerSystemTO>(\r\n\t\t\tthis.environment.host.backend.loginWSRest + 'patrocinadorSistema/save',\r\n\t\t\tpartnerSystem\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n//import { GoogleVisionParameters } from 'ng-pli-util';\r\n\r\nconst httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n })\r\n}\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PdfAnalyzerService {\r\n\r\n\r\n constructor(@Inject('environment') private environment, private httpClient: HttpClient) { }\r\n\r\n getTextOfImage(parameters: any): Observable<any> {\r\n return this.httpClient.post(\r\n this.environment.googleVision.url + '?key=' + this.environment.googleVision.key,\r\n parameters, {\r\n headers: httpOptions.headers\r\n }\r\n );\r\n }\r\n}\r\n","import {\r\n Component, OnInit, Input,\r\n Output,\r\n EventEmitter\r\n} from '@angular/core';\r\n//import { PDFDocumentProxy } from 'ng2-pdf-viewer';\r\n// import {\r\n// GoogleVisionParameters,\r\n// GoogleVisionRequest,\r\n// GoogleVisionResponse,\r\n// GoogleVisionResponseData\r\n// } from 'ng-pli-util';\r\nimport Cropper from 'cropperjs';\r\nimport html2canvas from 'html2canvas';\r\nimport \"jquery\";\r\nimport { PdfAnalyzerService } from '../../services/pdf-analyzer.service';\r\n\r\n@Component({\r\n selector: 'pli-pdf-analyzer',\r\n templateUrl: './pdf-analyzer.component.html',\r\n styleUrls: ['./pdf-analyzer.component.scss']\r\n})\r\nexport class PdfAnalyzerComponent implements OnInit {\r\n\r\n\r\n public totalPages: number = 0;\r\n public currentpage: number = 1;\r\n private cropper!: Cropper;\r\n public isCropImage: boolean = false;\r\n public capture: any;\r\n\r\n public instructivo: boolean = true;\r\n\r\n render_text: boolean = true;\r\n show_all: boolean = false;\r\n original_size: boolean = true;\r\n fit_to_page: boolean = false;\r\n\r\n @Input()\r\n pdfSrc: any = \"\";\r\n\r\n @Input()\r\n textToCompare: String = \"\";\r\n\r\n @Input()\r\n labelToCompare: String = \"\";\r\n\r\n // @Input()\r\n // textToCompare: String = \"\";\r\n\r\n // @Input()\r\n // textToCompare: String = \"\";\r\n\r\n @Output()\r\n documentAnalyzed: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n constructor(private pdfAnalyzerService: PdfAnalyzerService) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n // Zoom Out Image\r\n public zoomOut() {\r\n this.cropper.zoom(0.1)\r\n }\r\n\r\n // Zoom In Image\r\n public zoomIn() {\r\n this.cropper.zoom(-0.1)\r\n }\r\n\r\n // Range slider for zooming the image\r\n public onRange(event: any) {\r\n this.cropper.zoomTo(event.target.value)\r\n }\r\n\r\n // perform the rotate functionality on image\r\n public onRotate() {\r\n this.cropper.rotate(-90)\r\n }\r\n\r\n // show the previous page\r\n public previous() {\r\n if (this.currentpage > 0) {\r\n if (this.currentpage == 1) {\r\n this.currentpage = this.totalPages;\r\n } else {\r\n this.currentpage--;\r\n }\r\n }\r\n }\r\n\r\n // show the next page\r\n public next() {\r\n if (this.totalPages > this.currentpage) {\r\n this.currentpage++;\r\n } else {\r\n this.currentpage = 1;\r\n }\r\n }\r\n\r\n public crop() {\r\n html2canvas(document.querySelector(\".pdf-container\") as HTMLElement).then((canvas: any) => {\r\n let ctx = canvas.getContext('2d');\r\n ctx.scale(3, 3);\r\n let image = canvas.toDataURL(\"image/png\").replace(\"image/png\", \"image/png\");\r\n $(\"#cropper-img\").attr('src', image);\r\n $('#cropper-img').addClass('ready');\r\n this.isCropImage = true\r\n let cropImg: any = document.getElementById('cropper-img');\r\n this.cropper = new Cropper(cropImg, {\r\n zoomable: true,\r\n background: false,\r\n guides: false,\r\n highlight: false,\r\n movable: false,\r\n aspectRatio: 4 / 3,\r\n ready: (e) => {\r\n let cropper = this.cropper;\r\n },\r\n crop: (e) => {\r\n }\r\n });\r\n })\r\n }\r\n\r\n public saveCapture() {\r\n if (this.isCropImage) {\r\n let canvas = this.cropper.getCroppedCanvas();\r\n this.getCanvasToImage(canvas)\r\n } else {\r\n html2canvas(document.querySelector(\".pdf-container\") as HTMLElement).then((canvas: any) => {\r\n this.getCanvasToImage(canvas)\r\n })\r\n }\r\n }\r\n\r\n private getCanvasToImage(canvas: any) {\r\n let ctx = canvas.getContext('2d');\r\n ctx.scale(3, 3);\r\n let image = canvas.toDataURL(\"image/png\").replace(\"image/png\", \"image/png\");\r\n this.capture = image;\r\n console.log(image);\r\n }\r\n\r\n public reset() {\r\n this.isCropImage = false;\r\n this.capture = null;\r\n this.cropper.clear();\r\n this.cropper.destroy();\r\n }\r\n\r\n // afterLoadComplete(pdf: PDFDocumentProxy) {\r\n // this.totalPages = pdf.numPages;\r\n // }\r\n\r\n public validateImage() {\r\n let base64: String = (this.capture as String).substring(22, (this.capture as String).length);\r\n\r\n this.documentAnalyzed.emit(base64);\r\n // let parameters: any = {\r\n // requests: [\r\n // {\r\n // image: {\r\n // content: base64\r\n // },\r\n // features: [\r\n // {\r\n // type: \"TEXT_DETECTION\"\r\n // }\r\n // ]\r\n // }\r\n // ]\r\n // }\r\n\r\n // this.pdfAnalyzerService.getTextOfImage(parameters).subscribe((response: any) => {\r\n // let textDetected = response[0].fullTextAnnotation.text;\r\n\r\n // console.log(textDetected);\r\n // });\r\n\r\n }\r\n\r\n}\r\n\r\n","<div>\r\n\r\n <div class=\"checkInstructivo\">\r\n <label>\r\n <input type=\"checkbox\" [(ngModel)]=\"instructivo\" />Instructivo\r\n </label>\r\n </div>\r\n <div *ngIf=\"!instructivo\" class=\"description\">\r\n Seleccionar la parte del documento donde se encuentra <strong>{{labelToCompare}}</strong>\r\n\r\n </div>\r\n <div *ngIf=\"instructivo\" class=\"description\">\r\n 1. Darle clic en el botón <span class=\"fa fa-crop\"></span>\r\n <br> 2. Seleccionar la parte del documento donde se encuentra <strong>{{labelToCompare}}</strong> con el mouse dando clic y arrastrando hasta completar la selección o cambiando de tamaño el recuadro que aparece en pantalla\r\n <br> 3. Una vez seleccionado dar clic en el botón <span class=\"fa fa-camera\"></span> para previsualizarlo mejor\r\n <br> 4. En caso de haberse equivocado puede darle clic al botón rojo \"Reintentar\" o al botón <span class=\"fa fa-undo\"></span> para volver al paso 1\r\n <br> 5. Cuando ya este correcta la selección darle clic al botón verde \"Guardar Captura\" para proceder con el proceso\r\n </div>\r\n <div class=\"pdf-visualizer-controls\">\r\n <a href=\"Javascript:;\" title=\"Anterior\" data-toggle=\"tooltip\" data-placement=\"top\" class=\"btn btn-outline-secondary\" (click)=\"previous()\">\r\n <span class=\"fa fa-angle-left\"></span>\r\n </a>\r\n <span class=\"btn btn-outline-secondary\">Página: {{currentpage}} / {{totalPages}}</span>\r\n <a href=\"Javascript:;\" title=\"Siguiente\" data-toggle=\"tooltip\" data-placement=\"top\" class=\"btn btn-outline-secondary\" (click)=\"next()\">\r\n <span class=\"fa fa-angle-right\"></span>\r\n </a>\r\n\r\n <a href=\"Javascript:;\" title=\"Acercar\" data-toggle=\"tooltip\" data-placement=\"top\" class=\"btn btn-outline-secondary\" *ngIf=\"isCropImage && !capture\" (click)=\"zoomOut()\">\r\n <span class=\"fa fa-search-plus\"></span>\r\n </a>\r\n\r\n\r\n <a href=\"Javascript:;\" title=\"Alejar\" data-toggle=\"tooltip\" data-placement=\"top\" class=\"btn btn-outline-secondary\" *ngIf=\"isCropImage && !capture\" (click)=\"zoomIn()\">\r\n <span class=\"fa fa-search-minus\"></span>\r\n </a>\r\n </div>\r\n <div class=\"pdf-visualizer-controls\">\r\n <a href=\"Javascript:;\" title=\"Capturar\" data-toggle=\"tooltip\" data-placement=\"top\" class=\"btn btn-outline-secondary\" *ngIf=\"!isCropImage\" (click)=\"crop()\">\r\n <span class=\"fa fa-crop fa-2x\"></span>\r\n </a>\r\n <a href=\"Javascript:;\" title=\"Guardar Captura\" data-toggle=\"tooltip\" data-placement=\"top\" class=\"btn btn-outline-secondary\" *ngIf=\"isCropImage && !capture\" (click)=\"saveCapture()\">\r\n <span class=\"fa fa-camera fa-2x\"></span>\r\n </a>\r\n <a href=\"Javascript:;\" title=\"Deshacer\" data-toggle=\"tooltip\" data-placement=\"top\" class=\"btn btn-outline-secondary\" *ngIf=\"isCropImage\" (click)=\"reset()\">\r\n <span class=\"fa fa-undo fa-2x\"></span>\r\n </a>\r\n </div>\r\n\r\n\r\n <div class=\"pdf-visualizer-dashboard\" *ngIf=\"!capture\">\r\n <div class=\"pdf-container pdf-visualizer-canvas top-margin\" [hidden]=\"isCropImage\">\r\n <!-- <pdf-viewer [(src)]=\"pdfSrc\" [(render-text)]=\"render_text\" [(page)]=\"currentpage\" [(show-all)]=\"show_all\" [(original-size)]=\"original_size\" [(fit-to-page)]=\"fit_to_page\" (after-load-complete)=\"afterLoadComplete($event)\" style=\"display: block;\">\r\n </pdf-viewer> -->\r\n </div>\r\n\r\n <div class=\"img-container\" [hidden]=\"!isCropImage\">\r\n <img #image src=\"\" id=\"cropper-img\" crossorigin>\r\n </div>\r\n </div>\r\n\r\n <div class=\"img-visualizer-dashboard\" *ngIf=\"capture\">\r\n <img [src]=\"capture\">\r\n </div>\r\n <div class=\"img-visualizer-dashboard\" *ngIf=\"capture\">\r\n <button class=\"btns btn-success btn-lg\" (click)=\"validateImage()\" lang=\"es\">Guardar Captura</button>\r\n\r\n <button class=\"btnr btn-success btn-lg\" (click)=\"reset()\" lang=\"es\">Reintentar</button>\r\n </div>\r\n</div>","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { MessageTO } from 'ng-pli-util';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliMessageTypeService {\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\tgetAll(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliMessageType/getAll'\r\n\t\t);\r\n\t}\r\n\r\n\tsave(messageTO: MessageTO): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliMessageType/save',\r\n\t\t\tmessageTO\r\n\t\t);\r\n\t}\r\n\r\n\tdelete(id: number) {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliMessageType/delete',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('id', id)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetById(id: number, promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliMessageType/getById',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('id', id.toString())\r\n\t\t\t\t\t.set('promCodigo', promCodigo.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { CommonModule, CurrencyPipe } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { FirebaseAppModule } from '@angular/fire/app';\r\nimport { FirestoreModule } from '@angular/fire/firestore';\r\nimport { AuthModule } from '@angular/fire/auth';\r\nimport { FIREBASE_OPTIONS } from '@angular/fire/compat';\r\nimport { AngularFireModule } from '@angular/fire/compat';\r\nimport { AngularFireStorageModule } from '@angular/fire/compat/storage';\r\n\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n// import { FormioModule, FormioComponent } from 'angular-formio-proyectoscolfuturo';\r\nimport { FormioModule, FormioComponent } from 'formioangular-colfuturo';\r\n// import { TinymceModule } from 'angular2-tinymce';\r\nimport { EditorModule } from '@tinymce/tinymce-angular';\r\n// import { AngularFireAuthModule } from 'angularfire2/auth';\r\n// import { AngularFireStorageModule } from 'angularfire2/storage';\r\nimport { NgPliUtilModule } from 'ng-pli-util';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { DropdownModule } from 'primeng/dropdown';\r\n// import { SharedModule } from 'primeng/primeng';\r\nimport { AccordionModule } from 'primeng/accordion';\r\nimport { TableModule } from 'primeng/table';\r\nimport { TieredMenuModule } from 'primeng/tieredmenu';\r\nimport { PickListModule } from 'primeng/picklist';\r\n\r\nimport { ConfigurationTokenComponent } from './components/configuration-token/configuration-token.component';\r\nimport { DynamicFilterComponent } from './components/dynamic-filter/dynamic-filter.component';\r\nimport { ExcelToJsonComponent } from './components/excel-to-json/excel-to-json.component';\r\nimport { PdfConfigComponent } from './components/pdf-config/pdf-config.component';\r\nimport { PdfGeneratorComponent } from './components/pdf-generator/pdf-generator.component';\r\nimport { PdfVisualizerComponent } from './components/pdf-visualizer/pdf-visualizer.component';\r\nimport { PdfMergeVisualizerComponent } from './components/pdf-merge-visualizer/pdf-merge-visualizer.component';\r\nimport { SelectPppComponent } from './components/select-ppp/select-ppp.component';\r\nimport { ShowHideColumnsTableComponent } from './components/show-hide-columns/show-hide-columns-table.component';\r\nimport { TokenComponent } from './components/token/token.component';\r\nimport { CurrencyColfuturoFormatterDirective } from './directives/currency-colfuturo-formatter.directive';\r\nimport { CurrencyDecimalColfuturoFormatterDirective } from './directives/currency-decimal-colfuturo-formatter.directive';\r\nimport { CurrencyColfuturoPipe } from './pipes/currency-colfuturo.pipe';\r\nimport { CurrencyDecimalColfuturoPipe } from './pipes/currency-decimal-colfuturo.pipe';\r\nimport { CurrencyPrintColfuturoPipe } from './pipes/currency-print-colfuturo.pipe';\r\nimport { ThousandsPipe } from './pipes/thousands.pipe';\r\nimport { ApplicationTagService } from './services/application-tag.service';\r\nimport { SpinnerService } from './services/spinner.service';\r\nimport { ApplicationService } from './services/application.service';\r\nimport { AuthenticationService } from './services/authentication.service';\r\nimport { BudgetApplicationService } from './services/budget-application.service';\r\nimport { BudgetService } from './services/budget.service';\r\nimport { ConfigurationDocumentService } from './services/configuration-document.service';\r\nimport { DataFormService } from './services/data-form.service';\r\nimport { DocumentManagementService } from './services/document-management.service';\r\nimport { DocumentService } from './services/document.service';\r\nimport { DocumentaryTypeService } from './services/documentary.type.service';\r\nimport { EmailService } from './services/email.service';\r\nimport { CubeService } from './services/cube.service';\r\nimport { EvaluationService } from './services/evaluation.service';\r\nimport { ExportExcelService } from './services/export-excel.service';\r\nimport { FileService } from './services/file.service';\r\nimport { FormService } from './services/form.service';\r\nimport { GlobalShowTaskService } from './services/global.show.task.service';\r\nimport { ImportDataService } from './services/import-data.service';\r\nimport { InteractionApplicationUserService } from './services/interaction-application-user.service';\r\nimport { KeysAssignationService } from './services/keys-assignation.service';\r\nimport { LetterCampaingService } from './services/letter-campaing.service';\r\nimport { LogService } from './services/log.service';\r\nimport { PageService } from './services/page.service';\r\nimport { PliCnfPageSubProcessService } from './services/pli-cnf-page-sub-process.service';\r\nimport { PermissionService } from './services/permission.service';\r\nimport { PliCnfAppCardFilterService } from './services/pli-cnf-app-card-filter.service';\r\nimport { PliCnfCommitteeVisualizationModeService } from './services/pli-cnf-committee-visualization-mode.service';\r\nimport { PliCnfEvaluationTemplateService } from './services/pli-cnf-evaluation-template.service';\r\nimport { PliCnfHeaderService } from './services/pli-cnf-header.service';\r\nimport { PliCnfIndicatorService } from './services/pli-cnf-indicator.service';\r\nimport { PliCnfInteractionService } from './services/pli-cnf-interaction.service';\r\nimport { PliCnfLookAndFeelService } from './services/pli-cnf-look-and-feel.service';\r\nimport { PliCnfProfileUserService } from './services/pli-cnf-profile-user.service';\r\nimport { PliCnfScenarioService } from './services/pli-cnf-scenario.service';\r\nimport { PliCnfSegmentationService } from './services/pli-cnf-segmentation.service';\r\nimport { PliCnfStatusFlowInteractionService } from './services/pli-cnf-status-flow-interaction.service';\r\nimport { PliCnfStatusFlowService } from './services/pli-cnf-status-flow.service';\r\nimport { PliCnfSupportDocumentService } from './services/pli-cnf-support-document.service';\r\nimport { PliCnfTextService } from './services/pli-cnf-text.service';\r\nimport { PliCnfUserWorkspaceService } from './services/pli-cnf-user-workspace.service';\r\nimport { PliCnfValproKeysService } from './services/pli-cnf-valpro-keys.service';\r\nimport { PliCnfWorkspaceSegmentationService } from './services/pli-cnf-workspace-segmentation.service';\r\nimport { PliMultipleValueFilterService } from './services/pli-multiple-value-filter.service';\r\nimport { PliPromocionUsernameService } from './services/pli-promocion-username.service';\r\nimport { PliSegmentationService } from './services/pli-segmentation.service';\r\nimport { PliTagService } from './services/pli-tag.service';\r\nimport { PliUserService } from './services/pli-user.service';\r\nimport { PppService } from './services/ppp.service';\r\nimport { ProfileService } from './services/profile.service';\r\nimport { SegmentationUserService } from './services/segmentation-user-service.service';\r\nimport { SegmentationService } from './services/segmentation.service';\r\nimport { SendApplicationService } from './services/send-application.service';\r\nimport { SesionFormService } from './services/sesion-form.service';\r\nimport { SesionService } from './services/sesion.service';\r\nimport { SponsorshipLetterService } from './services/sponsorship-letter.service';\r\nimport { StatusService } from './services/status.service';\r\nimport { TasaCambioService } from './services/tasa.cambio.service';\r\nimport { TokenService } from './services/token.service';\r\nimport { TokenTransformationService } from './services/token-transformation.service';\r\nimport { UserService } from './services/user.service';\r\nimport { PliCnfBudgetService } from './services/pli-cnf-budget.service';\r\nimport { ConfigurationService } from './services/configuration.service';\r\nimport { SnapshotTokenComponent } from './components/configuration-token/snapshot-token/snapshot-token.component';\r\nimport { BudgetSimulationService } from './services/budget-simulation.service';\r\nimport { PliCnfAcuityFieldsService } from './services/pli-cnf-acuity-fields.service';\r\nimport { GuaranteeService } from './services/guarantee.service';\r\nimport { CreditStudyService } from './services/credit-study.service';\r\nimport { GuaranteeDocumentService } from './services/guarantee-document.service';\r\nimport { GuaranteeTokenComponent } from './components/configuration-token/guarantee-token/guarantee-token.component';\r\nimport { PliCnfGuaranteeTokenService } from './services/pli-cnf-guarantee-token.service';\r\nimport { CommonInfoService } from './services/common-info.service';\r\nimport { PliCnfMenuFormService } from './services/pli-cnf-menu-form.service';\r\nimport { PliCnfGuaranteeDocumentsTemplateService } from './services/pli-cnf-guarantee-documents-template.service';\r\nimport { IntegrationADOService } from './services/integration-ado.service';\r\nimport { GuaranteeEnrollmentService } from './services/guarantee-enrollment.service';\r\nimport { PliCnfTextOptionService } from './services/pli-cnf-text-option.service';\r\nimport { ConfigurationMinisiteService } from './services/configuration-minisite.service';\r\nimport { PliTagAssignmentService } from './services/pli-tag-assignment.service';\r\nimport { UniversityService } from './services/university.service';\r\nimport { ProgressBarComponent } from './components/progress-bar/progress-bar.component';\r\nimport { ProgressBarService } from './services/progress-bar.service';\r\nimport { PliCnfSurveyPdfService } from './services/pli-cnf-survey-pdf.service';\r\nimport { SegmentationTokensComponent } from './components/segmentation-tokens/segmentation-tokens.component';\r\nimport { TokensCalculatorComponent } from './components/tokens-calculator/tokens-calculator.component';\r\nimport { PliCnfProjectSummaryService } from './services/pli-cnf-project-summary.service';\r\nimport { HashService } from './services/hash.service';\r\n\r\nimport { PartnerService } from './services/partner.service';\r\nimport { PartnerSystemService } from './services/partner-system.service';\r\nimport { PdfAnalyzerComponent } from './components/pdf-analyzer/pdf-analyzer.component';\r\nimport { PdfAnalyzerService } from './services/pdf-analyzer.service';\r\nimport { PliMessageTypeService } from './services/pli-message-type.service';\r\n//import { PdfViewerModule } from 'ng2-pdf-viewer';\r\n\r\n@NgModule({\r\n\timports: [\r\n\t\tCommonModule,\r\n\t\tAngularFireModule,\r\n\t\tAngularFireStorageModule,\r\n\t\tEditorModule,\r\n\t\tFormioModule,\r\n\t\tHttpClientModule,\r\n\t\tFormsModule,\r\n\t\tAccordionModule,\r\n\t\tTableModule,\r\n\t\tTieredMenuModule,\r\n\t\tPickListModule,\r\n\t\tReactiveFormsModule,\r\n\t\tFirebaseAppModule,\r\n\t\tFirestoreModule,\r\n\t\tAuthModule,\r\n\t\tDropdownModule,\r\n\t\tDialogModule,\r\n\t\tNgPliUtilModule.forRoot()\r\n\t],\r\n\tdeclarations: [\r\n\t\tSelectPppComponent,\r\n\t\tCurrencyColfuturoPipe,\r\n\t\tCurrencyPrintColfuturoPipe,\r\n\t\tCurrencyDecimalColfuturoPipe,\r\n\t\tCurrencyColfuturoFormatterDirective,\r\n\t\tCurrencyDecimalColfuturoFormatterDirective,\r\n\t\tPdfVisualizerComponent,\r\n\t\tPdfMergeVisualizerComponent,\r\n\t\tPdfGeneratorComponent,\r\n\t\tTokenComponent,\r\n\t\tSegmentationTokensComponent,\r\n\t\tTokensCalculatorComponent,\r\n\t\tConfigurationTokenComponent,\r\n\t\tExcelToJsonComponent,\r\n\t\tThousandsPipe,\r\n\t\tDynamicFilterComponent,\r\n\t\tShowHideColumnsTableComponent,\r\n\t\tPdfConfigComponent,\r\n\t\tSnapshotTokenComponent,\r\n\t\tGuaranteeTokenComponent,\r\n\t\tProgressBarComponent,\r\n\t\tPdfAnalyzerComponent\r\n\t],\r\n\tentryComponents: [FormioComponent],\r\n\texports: [\r\n\t\tSelectPppComponent,\r\n\t\tPdfVisualizerComponent,\r\n\t\tPdfMergeVisualizerComponent,\r\n\t\tPdfGeneratorComponent,\r\n\t\tTokenComponent,\r\n\t\tSegmentationTokensComponent,\r\n\t\tTokensCalculatorComponent,\r\n\t\tCurrencyColfuturoPipe,\r\n\t\tCurrencyPrintColfuturoPipe,\r\n\t\tCurrencyDecimalColfuturoPipe,\r\n\t\tCurrencyColfuturoFormatterDirective,\r\n\t\tCurrencyDecimalColfuturoFormatterDirective,\r\n\t\tConfigurationTokenComponent,\r\n\t\tThousandsPipe,\r\n\t\tExcelToJsonComponent,\r\n\t\tDynamicFilterComponent,\r\n\t\tShowHideColumnsTableComponent,\r\n\t\tPdfConfigComponent,\r\n\t\tProgressBarComponent,\r\n\t\tPdfAnalyzerComponent\r\n\t]\r\n})\r\nexport class NgPliCommonsModule {\r\n\tstatic forRoot(environment: any): ModuleWithProviders<NgPliCommonsModule> {\r\n\t\treturn {\r\n\t\t\tngModule: NgPliCommonsModule,\r\n\t\t\tproviders: [\r\n\t\t\t\tCurrencyPipe,\r\n\t\t\t\tPppService,\r\n\t\t\t\tAuthenticationService,\r\n\t\t\t\tDataFormService,\r\n\t\t\t\tFormService,\r\n\t\t\t\tLogService,\r\n\t\t\t\tLetterCampaingService,\r\n\t\t\t\tApplicationService,\r\n\t\t\t\tApplicationTagService,\r\n\t\t\t\tSpinnerService,\r\n\t\t\t\tSponsorshipLetterService,\r\n\t\t\t\tBudgetService,\r\n\t\t\t\tBudgetApplicationService,\r\n\t\t\t\tTokenService,\r\n\t\t\t\tTokenTransformationService,\r\n\t\t\t\tUserService,\r\n\t\t\t\tEmailService,\r\n\t\t\t\tCubeService,\r\n\t\t\t\tPliCnfInteractionService,\r\n\t\t\t\tPliCnfIndicatorService,\r\n\t\t\t\tPliCnfHeaderService,\r\n\t\t\t\tDocumentManagementService,\r\n\t\t\t\tDocumentService,\r\n\t\t\t\tSegmentationService,\r\n\t\t\t\tPliCnfLookAndFeelService,\r\n\t\t\t\tFileService,\r\n\t\t\t\tPliUserService,\r\n\t\t\t\tPliCnfProfileUserService,\r\n\t\t\t\tDocumentaryTypeService,\r\n\t\t\t\tSendApplicationService,\r\n\t\t\t\tKeysAssignationService,\r\n\t\t\t\tConfigurationDocumentService,\r\n\t\t\t\tPermissionService,\r\n\t\t\t\tProfileService,\r\n\t\t\t\tPageService,\r\n\t\t\t\tPliCnfPageSubProcessService,\r\n\t\t\t\tStatusService,\r\n\t\t\t\tUniversityService,\r\n\t\t\t\tPliCnfMenuFormService,\r\n\t\t\t\tConfigurationService,\r\n\t\t\t\tCommonInfoService,\r\n\t\t\t\tPliCnfStatusFlowService,\r\n\t\t\t\tPliCnfStatusFlowInteractionService,\r\n\t\t\t\tSesionFormService,\r\n\t\t\t\tPliCnfTextService,\r\n\t\t\t\tPliCnfBudgetService,\r\n\t\t\t\tPliCnfSupportDocumentService,\r\n\t\t\t\tInteractionApplicationUserService,\r\n\t\t\t\tSesionService,\r\n\t\t\t\tPliCnfSegmentationService,\r\n\t\t\t\tPliCnfUserWorkspaceService,\r\n\t\t\t\tPliCnfAppCardFilterService,\r\n\t\t\t\tPliSegmentationService,\r\n\t\t\t\tPliTagService,\r\n\t\t\t\tSegmentationUserService,\r\n\t\t\t\tImportDataService,\r\n\t\t\t\tPliPromocionUsernameService,\r\n\t\t\t\tPliCnfWorkspaceSegmentationService,\r\n\t\t\t\tPliMultipleValueFilterService,\r\n\t\t\t\tEvaluationService,\r\n\t\t\t\tBudgetSimulationService,\r\n\t\t\t\tExportExcelService,\r\n\t\t\t\tGlobalShowTaskService,\r\n\t\t\t\tGuaranteeService,\r\n\t\t\t\tCreditStudyService,\r\n\t\t\t\tGuaranteeDocumentService,\r\n\t\t\t\tPliCnfEvaluationTemplateService,\r\n\t\t\t\tPliCnfCommitteeVisualizationModeService,\r\n\t\t\t\tPliCnfScenarioService,\r\n\t\t\t\tPliCnfValproKeysService,\r\n\t\t\t\tTasaCambioService,\r\n\t\t\t\tPliCnfAcuityFieldsService,\r\n\t\t\t\tPliCnfGuaranteeTokenService,\r\n\t\t\t\tPliCnfGuaranteeDocumentsTemplateService,\r\n\t\t\t\tIntegrationADOService,\r\n\t\t\t\tGuaranteeEnrollmentService,\r\n\t\t\t\tPliCnfTextOptionService,\r\n\t\t\t\tConfigurationMinisiteService,\r\n\t\t\t\tProgressBarService,\r\n\t\t\t\tPliCnfSurveyPdfService,\r\n\t\t\t\tPliTagAssignmentService,\r\n\t\t\t\tPliCnfProjectSummaryService,\r\n\t\t\t\tHashService,\r\n\t\t\t\tPartnerService,\r\n\t\t\t\tPartnerSystemService,\r\n\t\t\t\tPdfAnalyzerService,\r\n\t\t\t\tPliMessageTypeService,\r\n\t\t\t\t{\r\n\t\t\t\t\tprovide: 'environment',\r\n\t\t\t\t\tuseValue: environment\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tprovide: FIREBASE_OPTIONS,\r\n\t\t\t\t\tuseValue: environment.firebase\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t};\r\n\t}\r\n}\r\n","import { OnInit, ChangeDetectorRef, OnDestroy, Component } from '@angular/core';\r\nimport { CommonService } from '../services/common.service';\r\nimport { CommonListsComponent } from './common.lists.component';\r\nimport { SpinnerService } from '../services/spinner.service';\r\n\r\n@Component({\r\n selector: 'app-backoffice-commons',\r\n template: ''\r\n})\r\nexport abstract class BackofficeCommonsComponent\r\n\textends CommonListsComponent\r\n\timplements OnInit, OnDestroy\r\n{\r\n\tstatic readonly BEST_SCENARIO_COLUMN_ID = '-6';\r\n\tfullWidth: boolean = false;\r\n\r\n\tconstructor(protected commonService: CommonService, protected cdRef: ChangeDetectorRef) {\r\n\t\tsuper(commonService, cdRef);\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tsuper.ngOnInit();\r\n\t\tif (this.fullWidth) {\r\n\t\t\tconst element = document.getElementById('mainContainer');\r\n\t\t\tif (element) {\r\n\t\t\t\telement.classList.remove('container');\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tif (this.fullWidth) {\r\n\t\t\tconst element = document.getElementById('mainContainer');\r\n\t\t\tif (element) {\r\n\t\t\t\telement.classList.add('container');\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n","import { OnInit, ChangeDetectorRef, Component } from '@angular/core';\r\nimport { CommonService } from '../services/common.service';\r\nimport { DateUtil } from 'ng-pli-util';\r\nimport { CommonInfoService } from '../services/common-info.service';\r\n\r\n@Component({\r\n selector: 'app-dashboard-commons',\r\n template: ''\r\n})\r\nexport abstract class DashboardCommonsComponent implements OnInit {\r\n\t/** */\r\n\tversion: string;\r\n\t/** */\r\n\tbuildTimestamp: string;\r\n\t/** */\r\n\tcommonsVersion: string;\r\n\t/** */\r\n\tcommonsBuildTimestamp: string;\r\n\t/** */\r\n\tsecurityVersion: string;\r\n\t/** */\r\n\tsecurityBuildTimestamp: string;\r\n\t/** */\r\n\tutilVersion: string;\r\n\t/** */\r\n\tutilBuildTimestamp: string;\r\n\t/** */\r\n\tlProperties: any[];\r\n\t/** */\r\n\tlVersionInfo: any[];\r\n\r\n\tconstructor(\r\n\t\tprotected commonService: CommonService,\r\n\t\tprotected cdRef: ChangeDetectorRef,\r\n\t\tprotected commonInfoService: CommonInfoService\r\n\t) {}\r\n\r\n\tngOnInit() {\r\n\t\tthis.lVersionInfo = [];\r\n\t}\r\n\r\n\taddVersionProjectInfo() {\r\n\t\tthis.lVersionInfo.push({\r\n\t\t\tname: 'Proyecto Commons',\r\n\t\t\tversion: this.commonsVersion,\r\n\t\t\tbuild: this.commonsBuildTimestamp\r\n\t\t});\r\n\t\tthis.lVersionInfo.push({\r\n\t\t\tname: 'Proyecto Security',\r\n\t\t\tversion: this.securityVersion,\r\n\t\t\tbuild: this.securityBuildTimestamp\r\n\t\t});\r\n\t\tthis.lVersionInfo.push({\r\n\t\t\tname: 'Proyecto Util',\r\n\t\t\tversion: this.utilVersion,\r\n\t\t\tbuild: this.utilBuildTimestamp\r\n\t\t});\r\n\t}\r\n\r\n\tcreateVersionAndBuildTimeProject(version, buildTimestamp) {\r\n\t\tlet result = this.createVersionAndBuildTime(version, buildTimestamp);\r\n\t\tconsole.log('VersionAndBuildTime-Project', result);\r\n\t\tthis.version = result.version;\r\n\t\tthis.buildTimestamp = result.buildTimes;\r\n\t}\r\n\r\n\tcreateVersionAndBuildTimeCommons(version, buildTimestamp) {\r\n\t\tlet result = this.createVersionAndBuildTime(version, buildTimestamp);\r\n\t\tconsole.log('VersionAndBuildTime-Commons', result);\r\n\t\tthis.commonsVersion = result.version;\r\n\t\tthis.commonsBuildTimestamp = result.buildTimes;\r\n\t}\r\n\r\n\tcreateVersionAndBuildTimeSecurity(version, buildTimestamp) {\r\n\t\tlet result = this.createVersionAndBuildTime(version, buildTimestamp);\r\n\t\tconsole.log('VersionAndBuildTime-Security', result);\r\n\t\tthis.securityVersion = result.version;\r\n\t\tthis.securityBuildTimestamp = result.buildTimes;\r\n\t}\r\n\r\n\tcreateVersionAndBuildTimeUtil(version, buildTimestamp) {\r\n\t\tlet result = this.createVersionAndBuildTime(version, buildTimestamp);\r\n\t\tconsole.log('VersionAndBuildTime-Util', result);\r\n\t\tthis.utilVersion = result.version;\r\n\t\tthis.utilBuildTimestamp = result.buildTimes;\r\n\t}\r\n\r\n\tcreateVersionAndBuildTime(showVersion: string, showBuildTime: string): any {\r\n\t\tlet version: string, buildTimes: string;\r\n\t\tversion = null;\r\n\t\tif (showVersion) {\r\n\t\t\tversion = showVersion;\r\n\t\t}\r\n\t\tbuildTimes = null;\r\n\t\tif (showBuildTime) {\r\n\t\t\tlet momentValue = DateUtil.getMoment(showBuildTime).utcOffset(0, true);\r\n\t\t\tbuildTimes = momentValue\r\n\t\t\t\t.utcOffset(DateUtil.UTC_AMERICA_BOGOTA)\r\n\t\t\t\t.format('DD MMM YYYY HH:mm');\r\n\t\t}\r\n\t\treturn {\r\n\t\t\tversion: version,\r\n\t\t\tbuildTimes: buildTimes\r\n\t\t};\r\n\t}\r\n}\r\n","import { OnInit, ChangeDetectorRef, OnDestroy, Component } from '@angular/core';\r\nimport { CommonService } from '../services/common.service';\r\nimport { CommonListsComponent } from './common.lists.component';\r\nimport { ApplicationBudget, ApplicationBudgetTotal } from 'ng-pli-util';\r\n\r\n@Component({\r\n selector: 'app-frontoffice-commons',\r\n template: ''\r\n})\r\nexport abstract class FrontofficeCommonsComponent extends CommonListsComponent implements OnInit {\r\n\ttoastDuration: number = 10000;\r\n\t// True If actual date is before than end application date\r\n\tdateClose: boolean;\r\n\tpromCodigo: number;\r\n\tstateId: number;\r\n\tstateName: string;\r\n\r\n\tconstructor(protected commonService: CommonService, protected cdRef: ChangeDetectorRef) {\r\n\t\tsuper(commonService, cdRef);\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tsuper.ngOnInit();\r\n\t}\r\n\r\n\tcreateApplicationBudgetTotalAmount(\r\n\t\tapplicationId: string,\r\n\t\tbudget: ApplicationBudget,\r\n\t\tcreditAccepted: boolean,\r\n\t\ttotalAmount: number = undefined,\r\n\t\ttotalOwnFunds: number = undefined,\r\n\t\ttotalFinancing: number = undefined\r\n\t): any {\r\n\t\tconst budgetApp = this.createBudgetApplication(\r\n\t\t\tbudget,\r\n\t\t\tcreditAccepted,\r\n\t\t\ttotalAmount,\r\n\t\t\ttotalOwnFunds,\r\n\t\t\ttotalFinancing\r\n\t\t);\r\n\t\tbudget = budgetApp.budget;\r\n\t\tconst applicationBudgetTotalAmount = {\r\n\t\t\tapplicationBudgetTotal: budgetApp.applicationBudgetTotal,\r\n\t\t\tapplicationId: applicationId,\r\n\t\t\tcreditAccepted: creditAccepted\r\n\t\t};\r\n\t\treturn {\r\n\t\t\tapplicationBudgetTotalAmount: applicationBudgetTotalAmount,\r\n\t\t\tbudget: budget\r\n\t\t};\r\n\t}\r\n\r\n\tcreateBudgetApplication(\r\n\t\tbudget: ApplicationBudget,\r\n\t\tcreditAccepted: boolean,\r\n\t\ttotalAmount: number = undefined,\r\n\t\ttotalOwnFunds: number = undefined,\r\n\t\ttotalFinancing: number = undefined\r\n\t): any {\r\n\t\t// Choose if the total budget is from application or legalization process\r\n\t\tconst isApplicationProcess = creditAccepted == undefined || creditAccepted == false;\r\n\t\tlet appProcessBudgetTotal = isApplicationProcess\r\n\t\t\t? budget.applicationProcess\r\n\t\t\t: budget.legalizationProcess;\r\n\t\t// Init the amount or add new values\r\n\t\tif (appProcessBudgetTotal == undefined || appProcessBudgetTotal == null) {\r\n\t\t\ttotalAmount = totalAmount == undefined ? 0 : totalAmount;\r\n\t\t\ttotalOwnFunds = totalOwnFunds == undefined ? 0 : totalOwnFunds;\r\n\t\t\ttotalFinancing = totalFinancing == undefined ? 0 : totalFinancing;\r\n\t\t\tappProcessBudgetTotal = new ApplicationBudgetTotal();\r\n\t\t} else {\r\n\t\t\ttotalAmount =\r\n\t\t\t\ttotalAmount == undefined ? appProcessBudgetTotal.totalAmount : totalAmount;\r\n\t\t\ttotalOwnFunds =\r\n\t\t\t\ttotalOwnFunds == undefined ? appProcessBudgetTotal.totalOwnFunds : totalOwnFunds;\r\n\t\t\ttotalFinancing =\r\n\t\t\t\ttotalFinancing == undefined ? appProcessBudgetTotal.totalFinancing : totalFinancing;\r\n\t\t}\r\n\t\tappProcessBudgetTotal.totalAmount = totalAmount;\r\n\t\tappProcessBudgetTotal.totalOwnFunds = totalOwnFunds;\r\n\t\tappProcessBudgetTotal.totalFinancing = totalFinancing;\r\n\t\tif (isApplicationProcess) {\r\n\t\t\tbudget.applicationProcess = appProcessBudgetTotal;\r\n\t\t} else {\r\n\t\t\tbudget.legalizationProcess = appProcessBudgetTotal;\r\n\t\t}\r\n\t\treturn {\r\n\t\t\tapplicationBudgetTotal: appProcessBudgetTotal,\r\n\t\t\tbudget: budget\r\n\t\t};\r\n\t}\r\n\r\n\t/**\r\n\t * Call the validataion service\r\n\t * @param cnfIniStateId Initial config status id, if not exist, get the config status id from the service\r\n\t * @returns True if actual date is before than end application date and the stateAppId is equals of the cnfIniStateId\r\n\t */\r\n\tasync validateCloseApplicationProcess(cnfIniStateId?: number): Promise<any> {\r\n\t\tlet response = await this.commonService.validateCloseApplicationProcess(\r\n\t\t\tthis.promCodigo,\r\n\t\t\tthis.stateId,\r\n\t\t\tcnfIniStateId\r\n\t\t).toPromise();\r\n\t\tthis.dateClose = response.closeApplicationDate;\r\n\t\treturn new Promise((resolve) => {\r\n\t\t\tresolve(response.userAllowSave);\r\n\t\t});\r\n\t}\r\n}\r\n","import { Observable } from 'rxjs';\r\nimport { PliPromocion, DataFormApplication, EProceso, Archive } from 'ng-pli-util';\r\nimport { PppService } from './ppp.service';\r\nimport { FileService } from './file.service';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class UploadDocumentsService {\r\n\t/** It contains the prom codigo */\r\n\tresult: number;\r\n\tpromCodigo: number;\r\n\tpatCodigo: number;\r\n\tprogCodigo: number;\r\n\texecuteSubscribeApplication: boolean;\r\n\tdataFormApplication: DataFormApplication;\r\n\r\n\tconstructor(private fileService: FileService, private pppService: PppService) {}\r\n\r\n\tinitPpp(dataFormApplication: DataFormApplication): Observable<any> {\r\n\t\treturn Observable.create((initObserver) => {\r\n\t\t\tif (dataFormApplication.promCodigo) {\r\n\t\t\t\tthis.dataFormApplication = dataFormApplication;\r\n\t\t\t\tthis.promCodigo = dataFormApplication.promCodigo;\r\n\t\t\t\tthis.pppService\r\n\t\t\t\t\t.getPromocionById(this.promCodigo)\r\n\t\t\t\t\t.subscribe((prom: PliPromocion) => {\r\n\t\t\t\t\t\tif (prom) {\r\n\t\t\t\t\t\t\tthis.patCodigo = prom.pliPrograma.pliPatrocinador.patCodigo;\r\n\t\t\t\t\t\t\tthis.progCodigo = prom.pliPrograma.progCodigo;\r\n\t\t\t\t\t\t\tinitObserver.next();\r\n\t\t\t\t\t\t\tinitObserver.complete();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t\treturn { unsubscribe() {} };\r\n\t\t});\r\n\t}\r\n\r\n\tuploading(fileReturn: any, dataFormApplication: DataFormApplication): Observable<any> {\r\n\t\treturn Observable.create((observer) => {\r\n\t\t\tthis.initPpp(dataFormApplication).subscribe(() => {\r\n\t\t\t\tconst filePath = this.fileService.getPath(\r\n\t\t\t\t\tEProceso.CONVOCATORIA,\r\n\t\t\t\t\tthis.patCodigo,\r\n\t\t\t\t\tthis.progCodigo,\r\n\t\t\t\t\tthis.promCodigo,\r\n\t\t\t\t\tthis.dataFormApplication.applicationId,\r\n\t\t\t\t\tfileReturn.name\r\n\t\t\t\t);\r\n\t\t\t\tthis.fileService.upload(filePath, fileReturn).subscribe(\r\n\t\t\t\t\t(url) => {\r\n\t\t\t\t\t\tif (url) {\r\n\t\t\t\t\t\t\tlet archive = new Archive();\r\n\t\t\t\t\t\t\tarchive.name = fileReturn.name;\r\n\t\t\t\t\t\t\tarchive.url = url;\r\n\t\t\t\t\t\t\tarchive.documentManagementProcess = false;\r\n\t\t\t\t\t\t\tobserver.next(archive);\r\n\t\t\t\t\t\t\tobserver.complete();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\t(error) => {\r\n\t\t\t\t\t\tconsole.error('Error trying to upload: ', error);\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t});\r\n\t\t\treturn { unsubscribe() {} };\r\n\t\t});\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { ApplicationFillPercentageTO } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class ApplicationFillPercentageService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\t/** It send the email */\r\n\tsend(applicationFillPercentageTO: ApplicationFillPercentageTO): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.queue + 'applicationFillPercentage/send',\r\n\t\t\tapplicationFillPercentageTO,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tsendMultiple(applicationFillPercentageTO: ApplicationFillPercentageTO[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.queue + 'applicationFillPercentage/sendMultiple',\r\n\t\t\tapplicationFillPercentageTO,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { BlockedBeneficiary, DataTableParameters } from 'ng-pli-util';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class BlockedBeneficiaryService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\tgetByDataTablesParameters(dataTableParameters: DataTableParameters) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice +\r\n\t\t\t\t'blocked_beneficiary/getByDataTablesParameters',\r\n\t\t\tdataTableParameters,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves a BlockedBeneficiary */\r\n\tsave(blockedBeneficiary: BlockedBeneficiary): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'blocked_beneficiary/save',\r\n\t\t\tblockedBeneficiary,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tenableBeneficiary(blockedBeneficiary: BlockedBeneficiary): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'blocked_beneficiary/enableBeneficiary',\r\n\t\t\tblockedBeneficiary,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tgetByIdentificationAndPromCodigo(identification: string, promCodigo: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice +\r\n\t\t\t\t'blocked_beneficiary/getByIdentificationAndPromCodigo',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigo', promCodigo)\r\n\t\t\t\t\t.set('identification', identification)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { DataTableParameters, UpdateBankvisionRequestTO } from 'ng-pli-util';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class ClosureWalletService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\tgetTransactionsByDataTablesParameters(\r\n\t\tdataTableParameters: DataTableParameters\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicBackoffice +\r\n\t\t\t\t'closure-wallet/transactions/getByDataTablesParameters',\r\n\t\t\tdataTableParameters,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tgetDetailTransactionsByDataTablesParameters(\r\n\t\tdataTableParameters: DataTableParameters\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicBackoffice +\r\n\t\t\t\t'closure-wallet/detail-transactions/getByDataTablesParameters',\r\n\t\t\tdataTableParameters,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tgetMonthlyCausationByDataTablesParameters(\r\n\t\tdataTableParameters: DataTableParameters\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicBackoffice +\r\n\t\t\t\t'closure-wallet/monthlyCausation/getByDataTablesParameters',\r\n\t\t\tdataTableParameters,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tgetByDataTablesParameters(dataTableParameters: DataTableParameters): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicBackoffice +\r\n\t\t\t\t'closure-wallet/creditBalance/getByDataTablesParameters',\r\n\t\t\tdataTableParameters,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { CommitteePdfDeedTO } from 'ng-pli-util';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class CommitteePdfService {\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\tsend(lCommitteePdfDeedTO: CommitteePdfDeedTO[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.queue + 'committee-pdf/send',\r\n\t\t\tlCommitteePdfDeedTO\r\n\t\t);\r\n\t}\r\n\r\n\tsendBackoffice(lCommitteePdfDeedTO: CommitteePdfDeedTO[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'pdf/getBase64CommitteePdf',\r\n\t\t\tlCommitteePdfDeedTO\r\n\t\t);\r\n\t}\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class CommitteMoneyServiceService {\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\tgetByOneCommittee(promCode: number, idCommittee: number, ...keysAndValues): Observable<any> {\r\n\t\tlet httpParams = new HttpParams();\r\n\t\thttpParams = httpParams.set('promCode', String(promCode));\r\n\t\thttpParams = httpParams.set('idCommittee', String(idCommittee));\r\n\t\thttpParams = httpParams.set('keyGroupDimension', keysAndValues[0]);\r\n\t\thttpParams = httpParams.set('keySegmentationDimension', keysAndValues[1]);\r\n\t\thttpParams = httpParams.set('valueSegmentationDimension', keysAndValues[2]);\r\n\t\thttpParams = httpParams.set('groupDimensionFormId', keysAndValues[2]);\r\n\t\thttpParams = httpParams.set('segmentationDimensionFormId', keysAndValues[3]);\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice + 'committe-money/getByOneCommittee',\r\n\t\t\t{ params: (httpParams = httpParams) }\r\n\t\t);\r\n\t}\r\n\r\n\tgetByAllCommittee(\r\n\t\tpromCode: number,\r\n\t\tselectedStatusId: String,\r\n\t\tnegativeStatusId: String,\r\n\t\t...keysAndValues\r\n\t): Observable<any> {\r\n\t\tlet httpParams = new HttpParams();\r\n\t\thttpParams = httpParams.set('promCode', String(promCode));\r\n\t\thttpParams = httpParams.set('keyGroupDimension', keysAndValues[0]);\r\n\t\thttpParams = httpParams.set('keySegmentationDimension', keysAndValues[1]);\r\n\t\thttpParams = httpParams.set('groupDimensionFormId', keysAndValues[2]);\r\n\t\thttpParams = httpParams.set('segmentationDimensionFormId', keysAndValues[3]);\r\n\t\thttpParams = httpParams.set('selectedStatusId', String(selectedStatusId));\r\n\t\thttpParams = httpParams.set('negativeStatusId', String(negativeStatusId));\r\n\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice + 'committe-money/getByAllCommittee',\r\n\t\t\t{ params: (httpParams = httpParams) }\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { CommitteeSnapshot } from 'ng-pli-util';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class CommitteeSnapshotService {\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n public getSnapshotMetadata(committeeId: number, segmentation?: string, aggrupation?: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.backoffice}committee-snapshot/getSnapshotMetadata?committeeId=${committeeId}&segmentation=${segmentation}&aggrupation=${aggrupation}`\r\n\t\t);\r\n }\r\n\r\n public getSnapshotMetadataFindOne(committeeId: number): Observable<any> {\r\n\treturn this.httpClient.get(\r\n\t\t`${this.environment.host.backend.backoffice}committee-snapshot/getSnapshotMetadataFindOne?committeeId=${committeeId}`\r\n\t);\r\n}\r\n\r\n public getListByPromCode(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.backoffice}committee-snapshot/getListByPromCode?promCodigo=${promCodigo}`\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getAll(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.backoffice}committee-snapshot/getAll`\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getById(id: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.backoffice}committee-snapshot/getById?id=${id}`\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getByName(name: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.backoffice}committee-snapshot/getByName?name=${name}`\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getByPromCode(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.backoffice}committee-snapshot/getByPromCode?promCodigo=${promCodigo}`\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getByCommitteeId(committeeId: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.backoffice}committee-snapshot/getByCommitteeId?committeeId=${committeeId}`\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getByCommitteeType(committeeType: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.backoffice}committee-snapshot/getByCommitteeType?committeeType=${committeeType}`\r\n\t\t);\r\n\t}\r\n\r\n\tpublic save(cs: CommitteeSnapshot): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\t`${this.environment.host.backend.backoffice}committee-snapshot/save`,\r\n\t\t\tcs\r\n\t\t);\r\n }\r\n\r\n public deleteByName(name: string): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\t`${this.environment.host.backend.backoffice}committee-snapshot/deleteByName?name=${name}`\r\n\t\t);\r\n }\r\n\r\n public deleteByPromCode(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\t`${this.environment.host.backend.backoffice}committee-snapshot/deleteByPromCode?promCodigo=${promCodigo}`\r\n\t\t);\r\n }\r\n\r\n public deleteByCommitteeId(committeeId: number): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\t`${this.environment.host.backend.backoffice}committee-snapshot/deleteByCommitteeId?committeeId=${committeeId}`\r\n\t\t);\r\n }\r\n\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class CreditScoreService {\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\tcalculateCodebtorsScore(\r\n\t\tpromCodigo: number,\r\n\t\tapplicationId: string,\r\n\t\tcccodebtor: string\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice + 'credit-score/calculateCodebtorsScore',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('applicationId', applicationId)\r\n\t\t\t\t\t.set('cccodebtor', cccodebtor)\r\n\t\t\t\t\t.set('promCodigo', String(promCodigo))\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tcalculateScore(promCodigo: number, lApplicationId: string[]) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'credit-score/calculateScore',\r\n\t\t\tlApplicationId,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('promCodigo', String(promCodigo))\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetCreditScoreDate(identification: string[], promCodigo: number) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'credit-score/getCreditScoreDate',\r\n\t\t\tidentification,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('promCodigo', String(promCodigo))\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetByIdentificationAndPromCodigo(identification: string, promCodigo: number) {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice +\r\n\t\t\t\t'credit-score/getByIdentificationAndPromCodigo',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigo', String(promCodigo))\r\n\t\t\t\t\t.set('identification', identification)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport {\r\n\tApplication,\r\n\tApplicationDataFormRequest,\r\n\tDataTableParameters,\r\n\tChangeStatusByCategoryDto,\r\n\tInitialRecord,\r\n\tApplicationValueRequestTO,\r\n\tChangeStatusDocumenValidationRequest,\r\n\tSendDocAnalysisAutoDto,\r\n\tApplicationFormTO\r\n} from 'ng-pli-util';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class DataFormHistoryService {\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\t/** It returns the list of application by dataTableParameters */\r\n\tgetApplicationsByDataTableParameters(\r\n\t\tdataTableParameters: DataTableParameters\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'data-form-history/getByDataTableParameters',\r\n\t\t\tdataTableParameters\r\n\t\t);\r\n\t}\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class DataLetterSegmentationService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\tgenerateDataLetterFromSnapshot(idCampaign: number): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'data-letter/generateDataLetterFromSnapshot',\r\n\t\t\tidCampaign,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tsegment(idCampaign: number): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'data-letter/segment',\r\n\t\t\tidCampaign,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tfindSegmentationByCommitteeIdAndCampaignIdAndActive(\r\n\t\tidCommittee: number,\r\n\t\tidCampaign: number,\r\n\t\tactive: boolean\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice +\r\n\t\t\t\t'data-letter/findSegmentationByCommitteeIdAndCampaignIdAndActive',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('idCommittee', idCommittee.toString())\r\n\t\t\t\t\t.set('idCampaign', idCampaign.toString())\r\n\t\t\t\t\t.set('active', active.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tfindDataLetterByCampaignId(idCampaign: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice + 'data-letter/findByCampaignId',\r\n\t\t\t{ params: new HttpParams().set('idCampaign', idCampaign.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\tgenerateLetter(promCodigo, campaignId, filter): Observable<any> {\r\n\t\tvar params = { promCodigo, campaignId, filter };\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'data-letter/generateLetter',\r\n\t\t\tparams,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tsendLetters(\r\n\t\ttest: boolean,\r\n\t\tcampaignId: number,\r\n\t\temailTest: string,\r\n\t\tradicados: string,\r\n\t\tfilter\r\n\t): Observable<any> {\r\n\t\tvar params = { test, campaignId, emailTest, radicados, filter };\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.queue + 'letterCampaing',\r\n\t\t\tparams,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tfindLogs(campaignId: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice +\r\n\t\t\t\t'data-letter/findLogs?idCampaign=' +\r\n\t\t\t\tcampaignId\r\n\t\t);\r\n\t}\r\n\r\n\tgetUniversities(campaignId: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice +\r\n\t\t\t\t'data-letter/universities?idCampaign=' +\r\n\t\t\t\tcampaignId\r\n\t\t);\r\n\t}\r\n\r\n\tgetParagraphs(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice +\r\n\t\t\t\t'data-letter/paragraphs?promCodigo=' +\r\n\t\t\t\tpromCodigo\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { PliCnfDocumentManagement, SendDocAnalysisAutoDto } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class DocumentAnalysisAutoService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\t/** It send All applications for automatic document analysis */\r\n\tsend(sendDocAnalysisAutoDto: SendDocAnalysisAutoDto): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.queue + 'docAnalysisAuto/send',\r\n\t\t\tsendDocAnalysisAutoDto\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { DocumentValidationAttempt } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class DocumentValidationAttemptService {\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\tgetByApplicationIdAndDocumentId(\r\n\t\tapplicationId: string,\r\n\t\tconfigurationDocumentId: number\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'getByApplicationIdAndDocumentId',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('applicationId', applicationId)\r\n\t\t\t\t\t.set('configurationDocumentId', configurationDocumentId.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tsave(documentValidationAttempt: DocumentValidationAttempt): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'save',\r\n\t\t\tdocumentValidationAttempt\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { DataTableParameters } from 'ng-pli-util';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class GicClientDisbursementMetadataService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\tgetClientDisbursementMetadata(promCodigo: number, identification: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.gicBackoffice +\r\n\t\t\t\t'gic-client-metadata/getClientDisbursementMetadata',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigo', String(promCodigo))\r\n\t\t\t\t\t.set('identification', String(identification))\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { GicCnfBankvisionTransaction } from 'ng-pli-util';\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class GicCnfBankvisionTransactionService {\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\tgetByPromCodigo(promCode: number): Observable<any> {\r\n\t\tlet httpParams = new HttpParams();\r\n\t\thttpParams = httpParams.set('promCodigo', String(promCode));\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.gicConfiguration +\r\n\t\t\t\t'gic_cnf_bankvision_transaction/getByPromCodigo',\r\n\t\t\t{ params: (httpParams = httpParams) }\r\n\t\t);\r\n\t}\r\n\r\n\tsave(gicCnfBankvisionTransaction: GicCnfBankvisionTransaction): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicConfiguration + 'gic_cnf_bankvision_transaction/save',\r\n\t\t\tgicCnfBankvisionTransaction\r\n\t\t);\r\n\t}\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { GicCnfClosingDate } from 'ng-pli-util';\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class GicCnfClosingDateService {\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\tgetAll(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.gicConfiguration + 'gic_cnf_closing_date/getAll'\r\n\t\t);\r\n\t}\r\n\r\n\tsave(gicCnfClosingDate: GicCnfClosingDate): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicConfiguration + 'gic_cnf_closing_date/save',\r\n\t\t\tgicCnfClosingDate\r\n\t\t);\r\n\t}\r\n\r\n\tdelete(id: number): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.gicConfiguration + 'gic_cnf_closing_date',\r\n\t\t\t{ params: new HttpParams().set('id', String(id)) }\r\n\t\t);\r\n\t}\r\n\r\n\tgetClosingDate() {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t\tthis.environment.host.backend.gicConfiguration + 'gic_cnf_closing_date/getClosingDate');\r\n\t}\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { DataTableParameters } from 'ng-pli-util';\r\nimport { GicClientRequestTO } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class GicClientService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) { }\r\n\r\n\tgetByDataTablesParameters(dataTableParameters: DataTableParameters): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicBackoffice + 'gic-client/getByDataTablesParameters',\r\n\t\t\tdataTableParameters,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tsendToGic(gicClientRequestTO: GicClientRequestTO): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicBackoffice + 'gic-client/send',\r\n\t\t\tgicClientRequestTO,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tsavePaymentDay(identification: String, promCodigo: number, paymentDay: number): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicBackoffice + 'gic-client/savePaymentDay?identification=' + identification + '&promCodigo=' + promCodigo + '&paymentDay=' + paymentDay,\r\n\t\t\tnull\r\n\t\t);\r\n\t}\r\n\r\n saveSurplus(identification: String, promCodigo: number, surplus: number): Observable<any> {\r\n return this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicBackoffice + 'gic-client/saveSurplusType?identification=' + identification + '&promCodigo=' + promCodigo + '&surplusType=' + surplus,\r\n\t\t\tnull\r\n\t\t);\r\n }\r\n\r\n saveRegularFee(identification: String, promCodigo: number, regularFee: number, typeCredit: number): Observable<any> {\r\n return this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicBackoffice + 'gic-client/saveRegularFee?identification=' + identification + '&promCodigo=' + promCodigo + '®ularFee=' + regularFee + '&typeCredit=' + typeCredit,\r\n\t\t\tnull\r\n\t\t);\r\n }\r\n\r\n getCeaMonths(promCodigo: number, identification: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.gicBackoffice +\r\n\t\t\t\t'gic-client/getCeaMonthsByPromCodigoAndIdentification',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigo', String(promCodigo))\r\n\t\t\t\t\t.set('identification', String(identification))\r\n\t\t\t}\r\n\t\t);\r\n }\r\n\r\n saveCeaMonths(identification: String, promCodigo: number, ceaMonths: number): Observable<any> {\r\n return this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicBackoffice + 'gic-client/saveCeaMonths?identification=' + identification + '&promCodigo=' + promCodigo + '&ceaMonths=' + ceaMonths,\r\n\t\t\tnull\r\n\t\t);\r\n }\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { DataTableParameters, UpdateBankvisionRequestTO } from 'ng-pli-util';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class GicDisbursementService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) { }\r\n\r\n\tgetByDataTablesParameters(dataTableParameters: DataTableParameters): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicBackoffice +\r\n\t\t\t'gic-disbursement/getByDataTablesParameters',\r\n\t\t\tdataTableParameters,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tupdateBankvisionState(updateBankvisionRequestTO: UpdateBankvisionRequestTO): Observable<any> {\r\n\t\treturn this.httpClient.put(\r\n\t\t\tthis.environment.host.backend.gicBackoffice + 'gic-disbursement/updateBankvisionState',\r\n\t\t\tupdateBankvisionRequestTO\r\n\t\t);\r\n\t}\r\n\r\n\tsendDisbursementToBV(listIds: Array<String>) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicBackoffice +\r\n\t\t\t'gic-disbursement/sendDisbursementToBV',\r\n\t\t\tlistIds\r\n\t\t);\r\n\t}\r\n\r\n\tdeleteDisbursements(listIds: Array<String>) {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.gicBackoffice + 'gic-disbursement/deleteDisbursements',\r\n\t\t\t{\r\n\t\t\t\tbody: listIds\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { DataTableParameters, GicPaymentApplication, UpdateBankvisionRequestTO } from 'ng-pli-util';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class GicCollectionService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\tgetByDataTablesParameters(dataTableParameters: DataTableParameters): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicBackoffice +\r\n\t\t\t\t'gic-collection/getByDataTablesParameters',\r\n\t\t\tdataTableParameters,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tupdateBankvisionState(updateBankvisionRequestTO: UpdateBankvisionRequestTO): Observable<any> {\r\n\t\treturn this.httpClient.put(\r\n\t\t\tthis.environment.host.backend.gicBackoffice + 'gic-collection/updateBankvisionState',\r\n\t\t\tupdateBankvisionRequestTO\r\n\t\t);\r\n\t}\r\n\r\n\tupdateGicPaymentApplication(gicPaymentApplication: GicPaymentApplication) {\r\n\t\treturn this.httpClient.put(\r\n\t\t\tthis.environment.host.backend.gicBackoffice +\r\n\t\t\t\t'gic-collection/updateGicPaymentApplication',\r\n\t\t\tgicPaymentApplication\r\n\t\t);\r\n\t}\r\n\r\n\tdelete(gicPaymentApplicationId: string, isFromCollection = false) {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.gicBackoffice +\r\n\t\t\t\t'gic-payment-application/delete?isFromCollection=' +\r\n\t\t\t\tisFromCollection,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('gicPaymentApplicationId', gicPaymentApplicationId)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tdeletedeletePaymentApplications(gicPaymentApplicationIds: string[], isFromCollection = false) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicBackoffice +\r\n\t\t\t\t'gic-payment-application/deletePaymentApplications?isFromCollection=' +\r\n\t\t\t\tisFromCollection,\r\n\t\t\tgicPaymentApplicationIds,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tsendToBankVision(listIds: any): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicBackoffice +\r\n\t\t\t\t'gic-payment-application/sendToBankVision',\r\n\t\t\tlistIds,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tqueueSendToBankVision(listIds: any): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicQueuePublisher + 'collection/sendCollectionsToBv',\r\n\t\t\tlistIds,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { GicBeneficiaryInterest } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class GicExtractService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) { }\r\n\r\n\tgetGicBeneficiaryInterest(identification: string, disbursementCode: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.gicBackoffice +\r\n\t\t\t'gic-extract/interestDetailed',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('disbursementCode', String(disbursementCode))\r\n\t\t\t\t\t.set('identification', String(identification))\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tsaveGicBeneficiaryInterest(gicBeneficiaryInterest: GicBeneficiaryInterest): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicBackoffice + 'gic-extract/saveGicBeneficiaryInterest',\r\n\t\t\tgicBeneficiaryInterest\r\n\t\t);\r\n\t}\r\n\r\n\tgetExchageRatesByProm(anio: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.gicBackoffice +\r\n\t\t\t'gic-extract/getExchageRatesByProm',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('anio', anio)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\r\n}\r\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport {\r\n\tApplication,\r\n\tApplicationDataFormRequest,\r\n\tDataTableParameters,\r\n\tChangeStatusByCategoryDto,\r\n\tInitialRecord,\r\n\tApplicationValueRequestTO,\r\n\tChangeStatusDocumenValidationRequest,\r\n\tSendDocAnalysisAutoDto,\r\n\tApplicationFormTO\r\n} from 'ng-pli-util';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class GicLogService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\t/** It returns an application by id */\r\n\tgetById(id: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.gicBackoffice + 'gic-log/getById',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('id', id)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the list of application by dataTableParameters */\r\n\tgetByDataTableParameters(dataTableParameters: DataTableParameters): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicBackoffice + 'gic-log/getByDataTableParameters',\r\n\t\t\tdataTableParameters\r\n\t\t);\r\n\t}\r\n\r\n\tgetByTypeEventAndUser(typeEventId: number, identification: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.gicBackoffice +\r\n\t\t\t\t'gic-log/last-by-type-event-and-editing-user',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('identification', identification)\r\n\t\t\t\t\t.set('typeEventId', String(typeEventId))\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { tasaCambioToList } from 'ng-pli-util';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class GicTRMService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\t/** It returns the list of trms by date list */\r\n\tgetByDateList(dateList: string[]): Observable<tasaCambioToList> {\r\n\t\treturn this.httpClient.post<tasaCambioToList>(\r\n\t\t\tthis.environment.host.backend.gicBackoffice + 'gic-trm/getByDateList',\r\n\t\t\tdateList\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { DataTableParameters, GicPaymentApplication, UpdateBankvisionRequestTO } from 'ng-pli-util';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class GicPaymentApplicationService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\tgetByDataTablesParameters(dataTableParameters: DataTableParameters): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicBackoffice +\r\n\t\t\t\t'gic-payment-application/getByDataTablesParameters',\r\n\t\t\tdataTableParameters,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tupdateBankvisionState(updateBankvisionRequestTO: UpdateBankvisionRequestTO): Observable<any> {\r\n\t\treturn this.httpClient.put(\r\n\t\t\tthis.environment.host.backend.gicBackoffice +\r\n\t\t\t\t'gic-payment-application/updateBankvisionState',\r\n\t\t\tupdateBankvisionRequestTO\r\n\t\t);\r\n\t}\r\n\r\n\tupdateGicPaymentApplication(gicPaymentApplication: GicPaymentApplication) {\r\n\t\treturn this.httpClient.put(\r\n\t\t\tthis.environment.host.backend.gicBackoffice +\r\n\t\t\t\t'gic-payment-application/updateGicPaymentApplication',\r\n\t\t\tgicPaymentApplication\r\n\t\t);\r\n\t}\r\n\r\n\t// delete(gicPaymentApplicationId: string) {\r\n\t// \treturn this.httpClient.delete(\r\n\t// \t\tthis.environment.host.backend.gicBackoffice + 'gic-payment-application/delete',\r\n\t// \t\t{\r\n\t// \t\t\tparams: new HttpParams().set('gicPaymentApplicationId', gicPaymentApplicationId)\r\n\t// \t\t}\r\n\t// \t);\r\n\t// }\r\n\r\n\t// sendToBankVision(listIds: any): Observable<any> {\r\n\t// \treturn this.httpClient.post(\r\n\t// \t\tthis.environment.host.backend.gicBackoffice +\r\n\t// \t\t'gic-payment-application/sendToBankVision',\r\n\t// \t\tlistIds,\r\n\t// \t\tthis.headerJson\r\n\t// \t);\r\n\t// }\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { GicParametersConfiguration } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class InitialConfigurationGicParametersService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\tsaveConfiguration(gicParametersConfiguration: GicParametersConfiguration): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicConfiguration +\r\n\t\t\t\t'gic-initial-configuration/saveConfiguration',\r\n\t\t\tgicParametersConfiguration,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tgetAllConfigurationByPromCodigo(promCodigo: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.gicConfiguration +\r\n\t\t\t\t'gic-initial-configuration/getAllConfigurationByPromCodigo',\r\n\t\t\t{ params: new HttpParams().set('promCodigo', promCodigo.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\tgetConfigurationById(id: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.gicConfiguration +\r\n\t\t\t\t'gic-initial-configuration/getConfigurationById',\r\n\t\t\t{ params: new HttpParams().set('id', id.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\tupdateGicParametersConfiguration(\r\n\t\tgicParametersConfiguration: GicParametersConfiguration\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicConfiguration +\r\n\t\t\t\t'gic-initial-configuration/updateGicParametersConfiguration',\r\n\t\t\tgicParametersConfiguration\r\n\t\t);\r\n\t}\r\n\r\n\tdeleteConfigurationById(id: number, promCodigo: string): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.gicConfiguration +\r\n\t\t\t\t'gic-initial-configuration/deleteConfigurationById',\r\n\t\t\t{ params: new HttpParams().set('id', id.toString()).set('promCodigo', promCodigo) }\r\n\t\t);\r\n\t}\r\n\r\n\tgetLPromCodigos(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.gicConfiguration +\r\n\t\t\t\t'gic-initial-configuration/getLPromCodigos'\r\n\t\t);\r\n\t}\r\n\r\n\tcloningConfigByPromCodigo(\r\n\t\tpromCodigoOfCloning: any,\r\n\t\tpromCodigoOfCloningDestination: any\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicConfiguration +\r\n\t\t\t\t`gic-initial-configuration/cloningConfigByPromCodigo?promCodigoOfCloning=${promCodigoOfCloning}&promCodigoOfCloningDestination=${promCodigoOfCloningDestination}`,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { InitialRecord } from 'ng-pli-util';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class InitialRecordService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'initial-record/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\t/** It returns an application by id */\r\n\tgetById(id: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice + 'initialRecord/getById',\r\n\t\t\t{ params: new HttpParams().set('id', id) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns an application by id with basic properties */\r\n\tgetByIdLight(id: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'initialRecord/getByIdLight',\r\n\t\t\t{ params: new HttpParams().set('id', id) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the list of application by prom codigo */\r\n\tgetByPatCodigo(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice + 'initialRecord/getByPatCodigo',\r\n\t\t\t{ params: new HttpParams().set('patCodigo', promCodigo.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the list of application by username */\r\n\tgetByUsername(username: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'initialRecord/getByUsername',\r\n\t\t\t{ params: new HttpParams().set('username', username) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the list of application by username and patCodigo */\r\n\tgetByUsernameAndPatCodigo(username: string, patCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'initialRecord/getByUsernameAndPatCodigo',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('username', username)\r\n\t\t\t\t\t.set('patCodigo', patCodigo.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves an application */\r\n\tsave(initialRecord: InitialRecord): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'initialRecord/save',\r\n\t\t\tinitialRecord\r\n\t\t);\r\n\t}\r\n\r\n\t/** it returns the last number */\r\n\t/*\r\n\tgetLastNumber(promCodigo: number) {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'initialRecord/getLastNumber',\r\n\t\t\t{ params: new HttpParams().set('promCodigo', promCodigo.toString()) }\r\n\t\t);\r\n\t}*/\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { PliCnfLetterTaskMapping } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class LetterTaskMappingService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\t/** It returns the letter task campaign by promCodigo */\r\n\tfindAllByPromCodigo(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfLetterTaskMapping/getAllByPromCode',\r\n\t\t\t{ params: new HttpParams().set('promCodigo', promCodigo.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t *\r\n\t * @param letterTaskCampaing\r\n\t * @returns\r\n\t */\r\n\tsave(letterTaskCampaing: PliCnfLetterTaskMapping): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfLetterTaskMapping/save',\r\n\t\t\tletterTaskCampaing,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves multiple letter task campaign by promCodigo */\r\n\tsaveAll(letterTaskCampaing: PliCnfLetterTaskMapping[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfLetterTaskMapping/saveAll',\r\n\t\t\tletterTaskCampaing,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n}\r\n","import {\r\n\tAppointmentObservation,\r\n\tSection,\r\n\tGuarantee,\r\n\tHEADER_JSON,\r\n\tCodebtor,\r\n\tDocument\r\n} from 'ng-pli-util';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class LegalizationService {\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\tprivate subjectValidateConfirmAppoiment = new Subject<boolean>();\r\n\r\n\tgetLegalizationSection(applicationId: string): Observable<any> {\r\n\t\tlet httpParams = new HttpParams();\r\n\t\thttpParams = httpParams.set('applicationId', String(applicationId));\r\n\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice + 'application/getLegalizationSection',\r\n\t\t\t{ params: httpParams }\r\n\t\t);\r\n\t}\r\n\r\n\tupdateLegalizationSection(section: Section, applicationId: string): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice +\r\n\t\t\t\t'application/updateLegalizationSection?applicationId=' +\r\n\t\t\t\tapplicationId,\r\n\t\t\tsection\r\n\t\t);\r\n\t}\r\n\r\n\tgetBudgetAppointment(applicationId: string): Observable<any> {\r\n\t\tlet httpParams = new HttpParams();\r\n\t\thttpParams = httpParams.set('applicationId', String(applicationId));\r\n\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice + 'legalization/getBudgetAppointment',\r\n\t\t\t{ params: httpParams }\r\n\t\t);\r\n\t}\r\n\r\n\tgetLegalization(applicationId: string): Observable<any> {\r\n\t\tlet httpParams = new HttpParams();\r\n\t\thttpParams = httpParams.set('applicationId', String(applicationId));\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice + 'legalization/getLegalization',\r\n\t\t\t{ params: httpParams }\r\n\t\t);\r\n\t}\r\n\r\n\tgetEnsurance(applicationId: string): Observable<any> {\r\n\t\tlet httpParams = new HttpParams();\r\n\t\thttpParams = httpParams.set('applicationId', String(applicationId));\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice + 'legalization/getEnsurance',\r\n\t\t\t{ params: httpParams }\r\n\t\t);\r\n\t}\r\n\r\n\tsaveAppointmentClosingAndStateUpdate({\r\n\t\tapplicationId,\r\n\t\tpromCodigo,\r\n\t\tIdInteractionType,\r\n\t\tisPositiveState,\r\n\t\tpliUserUsername,\r\n\t\tsurvey,\r\n\t\tobservations,\r\n\t\tformId\r\n\t}): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice +\r\n\t\t\t\t'legalization/saveAppointmentClosingAndStateUpdate',\r\n\t\t\t{\r\n\t\t\t\tapplicationId,\r\n\t\t\t\tpromCodigo,\r\n\t\t\t\tIdInteractionType,\r\n\t\t\t\tisPositiveState,\r\n\t\t\t\tsurvey,\r\n\t\t\t\tobservations,\r\n\t\t\t\tpliUserUsername,\r\n\t\t\t\tformId\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tsaveAppointmentObservations(applicationId: string, observations: AppointmentObservation[]) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\t`${this.environment.host.backend.backoffice}legalization/saveAppointmentObservations?applicationId=${applicationId}`,\r\n\t\t\tobservations\r\n\t\t);\r\n\t}\r\n\r\n\tgetLegalizationSectionBySectionKey(applicationId: string, sectionKey: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice +\r\n\t\t\t\t'application/getLegalizationSectionBySectionKey',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('applicationId', String(applicationId))\r\n\t\t\t\t\t.set('sectionKey', String(sectionKey))\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetSubjectValidateConfirmAppoiment(): Observable<boolean> {\r\n\t\treturn this.subjectValidateConfirmAppoiment.asObservable();\r\n\t}\r\n\r\n\tsetSubjectValidateConfirmAppoiment(getSubjectValidateConfirmAppoiment: boolean = false) {\r\n\t\tthis.subjectValidateConfirmAppoiment.next(getSubjectValidateConfirmAppoiment);\r\n\t}\r\n\r\n\tupdateErrorsConfirmAppoiment(applicationId: string, errors: any): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice +\r\n\t\t\t\t'legalization/saveErrorsAppointment?applicationId=' +\r\n\t\t\t\tapplicationId,\r\n\t\t\terrors\r\n\t\t);\r\n\t}\r\n\r\n\tupdateInfoLogginCodebtor(applicationId: string, guarantee: Guarantee): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice +\r\n\t\t\t\t'legalization/saveInfoLogginCodebtor?applicationId=' +\r\n\t\t\t\tapplicationId,\r\n\t\t\tguarantee\r\n\t\t);\r\n\t}\r\n\r\n\tsaveUniversidadRecibeSeguro(applicationId: string, universidadRecibeSeguro: boolean) {\r\n\t\tlet saveParams = {\r\n\t\t\tapplicationId: applicationId,\r\n\t\t\tuniversidadRecibeSeguro: universidadRecibeSeguro\r\n\t\t};\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'legalization/saveUniversidadRecibeSeguro',\r\n\t\t\tsaveParams,\r\n\t\t\tHEADER_JSON\r\n\t\t);\r\n\t}\r\n\r\n\tgetGuarantees(applicationId: string): Observable<any> {\r\n\t\tlet httpParams = new HttpParams();\r\n\t\thttpParams = httpParams.set('applicationId', String(applicationId));\r\n\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice + 'legalization/getGuarantee',\r\n\t\t\t{ params: httpParams }\r\n\t\t);\r\n\t}\r\n\r\n\tgetCodebtorByIdentification(applicationId: string, identification: string): Observable<any> {\r\n\t\tlet httpParams = new HttpParams();\r\n\t\thttpParams = httpParams.set('applicationId', String(applicationId));\r\n\t\thttpParams = httpParams.set('identification', String(identification));\r\n\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.backend.frontoffice + 'legalization/getCodebtorByIdentification',\r\n\t\t\t{ params: httpParams }\r\n\t\t);\r\n\t}\r\n\r\n\tgetCodebtorDocuments(applicationId: string, identification: string): Observable<any> {\r\n\t\tlet httpParams = new HttpParams();\r\n\t\thttpParams = httpParams.set('applicationId', String(applicationId));\r\n\t\thttpParams = httpParams.set('identification', String(identification));\r\n\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.backend.frontoffice + 'legalization/getCodebtorDocuments',\r\n\t\t\t{ params: httpParams }\r\n\t\t);\r\n\t}\r\n\r\n\tgetCodebtorDocumentByConfigurationDocumentId(\r\n\t\tapplicationId: string,\r\n\t\tidentification: string,\r\n\t\tconfigurationDocumentId: number\r\n\t): Observable<any> {\r\n\t\tlet httpParams = new HttpParams();\r\n\t\thttpParams = httpParams.set('applicationId', String(applicationId));\r\n\t\thttpParams = httpParams.set('identification', String(identification));\r\n\t\thttpParams = httpParams.set('configurationDocumentId', String(configurationDocumentId));\r\n\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.backend.frontoffice +\r\n\t\t\t\t'legalization/getCodebtorDocumentByConfigurationDocumentId',\r\n\t\t\t{ params: httpParams }\r\n\t\t);\r\n\t}\r\n\r\n\tgetCodebtorCreditReviewerObservations(\r\n\t\tapplicationId: string,\r\n\t\tidentification: string\r\n\t): Observable<any> {\r\n\t\tlet httpParams = new HttpParams();\r\n\t\thttpParams = httpParams.set('applicationId', String(applicationId));\r\n\t\thttpParams = httpParams.set('identification', String(identification));\r\n\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.backend.frontoffice +\r\n\t\t\t\t'legalization/getCodebtorCreditReviewerObservations',\r\n\t\t\t{ params: httpParams }\r\n\t\t);\r\n\t}\r\n\r\n\tsaveCodebtor(applicationId: string, codebtor: Codebtor) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\t`${this.environment.host.backend.backoffice}legalization/saveCodebtor?applicationId=${applicationId}`,\r\n\t\t\tcodebtor\r\n\t\t);\r\n\t}\r\n\r\n\tsaveCodebtorFormData(applicationId: string, codebtor: Codebtor) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\t`${this.environment.host.backend.backoffice}legalization/saveCodebtorFormData?applicationId=${applicationId}`,\r\n\t\t\tcodebtor\r\n\t\t);\r\n\t}\r\n\r\n\tsaveCodebtorCreditReviewerObservation(\r\n\t\tapplicationId: string,\r\n\t\tidentification: string,\r\n\t\tcodebtor: Codebtor\r\n\t) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\t`${this.environment.host.backend.backoffice}legalization/saveCodebtorCreditReviewerObservation?applicationId=${applicationId}?identification=${identification}`,\r\n\t\t\tcodebtor\r\n\t\t);\r\n\t}\r\n\r\n\tsaveCodebtorDocument(applicationId: string, identification: string, document: Document) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\t`${this.environment.host.backend.backoffice}legalization/saveCodebtorDocument?applicationId=${applicationId}?identification=${identification}`,\r\n\t\t\tdocument\r\n\t\t);\r\n\t}\r\n\r\n\tsaveCreditReviewerDocument(applicationId: string, identification: string, document: Document) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\t`${this.environment.host.backend.backoffice}legalization/saveCreditReviewerDocument?applicationId=${applicationId}?identification=${identification}`,\r\n\t\t\tdocument\r\n\t\t);\r\n\t}\r\n\r\n\tupdateCompletedFlag(applicationId: string, completed: boolean) {\r\n\t\treturn this.httpClient.put(\r\n\t\t\t`${this.environment.host.backend.backoffice}legalization/updateCompletedFlag?completed=${completed}`,\r\n\t\t\tapplicationId\r\n\t\t);\r\n\t}\r\n\r\n\tacceptConsultation(applicationId: string, response: boolean) {\r\n\t\treturn this.httpClient.put(\r\n\t\t\t`${this.environment.host.backend.backoffice}legalization/acceptConsultation?response=${response}`,\r\n\t\t\tapplicationId\r\n\t\t);\r\n\t}\r\n}\r\n","import { Observable } from 'rxjs';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport { MigrationPlisRequestTo } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class MigrationPlisService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\t/** It sends a request to migration quueue */\r\n\tsend(arrMigrationPlisRequestTo: MigrationPlisRequestTo): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.queue + 'migration-plis/send',\r\n\t\t\tarrMigrationPlisRequestTo,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { SurveyTO } from 'ng-pli-util';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class MigrationSurveyQueueService {\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\tsend(lSurveyTO: SurveyTO[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.queue + 'migration-segmentation-survey/send',\r\n\t\t\tlSurveyTO\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class SummaryBudgetService {\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\tsendSummaryBudgetQueue(budgetRequest: any): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\t`${this.environment.host.backend.queue}summary-budget/send`,\r\n\t\t\tbudgetRequest\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { PliCnfAppointmentType } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfAppointmentTypeService {\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\tgetById(id: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfAppointmentType/getById?id=${id}`\r\n\t\t);\r\n\t}\r\n\r\n\tgetByPromCodigo(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfAppointmentType/getByPromCodigo?promCodigo=${promCodigo}`\r\n\t\t);\r\n\t}\r\n\r\n\tgetByAppointmentTypeId(appointmentTypeId: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfAppointmentType/getByAppointmentTypeId?appointmentTypeId=${appointmentTypeId}`\r\n\t\t);\r\n\t}\r\n\r\n\tsave(pliCnfAppointmentType: PliCnfAppointmentType): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfAppointmentType/save`,\r\n\t\t\tpliCnfAppointmentType\r\n\t\t);\r\n\t}\r\n\r\n\tgetConfigCloningAppointment(oldPPP: number, newPPP: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfAppointmentType/getConfigCloningAppointment`,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('oldPPP', oldPPP.toString())\r\n\t\t\t\t\t.set('newPPP', newPPP.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { PliCnfBudgetProgramType } from 'ng-pli-util';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfBudgetProgramTypeService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {\r\n\t\tthis.url = `${this.environment.host.backend.configuration}budgetProgramType/`;\r\n\t}\r\n\r\n\tpublic getAllByPromCodigo(promCodigo: number): Observable<PliCnfBudgetProgramType[]> {\r\n\t\tconst params = new HttpParams().set('promCodigo', String(promCodigo));\r\n\t\treturn this.httpClient.get<PliCnfBudgetProgramType[]>(this.url + 'getAllByPromCodigo', {\r\n\t\t\tparams\r\n\t\t});\r\n\t}\r\n\r\n\tpublic getAllByPromCodigoLight(promCodigo: number): Observable<PliCnfBudgetProgramType[]> {\r\n\t\tconst params = new HttpParams().set('promCodigo', String(promCodigo));\r\n\t\treturn this.httpClient.get<PliCnfBudgetProgramType[]>(\r\n\t\t\tthis.url + 'getAllByPromCodigoLight',\r\n\t\t\t{\r\n\t\t\t\tparams\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tpublic save(budgetProgramType: PliCnfBudgetProgramType): Observable<PliCnfBudgetProgramType> {\r\n\t\treturn this.httpClient.post<PliCnfBudgetProgramType>(this.url + 'save', budgetProgramType);\r\n\t}\r\n\r\n\tpublic getById(id: number): Observable<PliCnfBudgetProgramType> {\r\n\t\tconst params = new HttpParams().set('id', String(id));\r\n\t\treturn this.httpClient.get<PliCnfBudgetProgramType>(this.url + 'getById', {\r\n\t\t\tparams\r\n\t\t});\r\n\t}\r\n\r\n\tpublic delete(id: number): Observable<PliCnfBudgetProgramType> {\r\n\t\tconst params = new HttpParams().set('id', String(id));\r\n\t\treturn this.httpClient.delete<PliCnfBudgetProgramType>(this.url + 'delete', {\r\n\t\t\tparams\r\n\t\t});\r\n\t}\r\n\r\n\tpublic getConfigCloningBudgetProgramMap(\r\n\t\toldPPP: number,\r\n\t\tnewPPP: number\r\n\t): Observable<PliCnfBudgetProgramType[]> {\r\n\t\tconst params = new HttpParams().set('oldPPP', String(oldPPP)).set('newPPP', String(newPPP));\r\n\t\treturn this.httpClient.get<PliCnfBudgetProgramType[]>(\r\n\t\t\t`${this.url}getConfigCloningBudgetProgram`,\r\n\t\t\t{ params }\r\n\t\t);\r\n\t}\r\n}\r\n","import { map } from 'rxjs/operators';\r\nimport { Observable } from 'rxjs';\r\nimport { PliCnfConfigMinisite, DatatableSearchList, DataTableParameters } from 'ng-pli-util';\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfConfigMinisiteService {\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tsave(pliCnfConfigMinisite: PliCnfConfigMinisite): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfConfigMiniSite/save',\r\n\t\t\tpliCnfConfigMinisite,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tsaveMinisiteData({ configMiniSiteId, searchListId }): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.segmentation +\r\n\t\t\t\t'PlicSegmentationTableController/saveMinisiteData',\r\n\t\t\t{ configMiniSiteId, searchListId },\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tsaveHeaderFooter(headerFooter: any): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfConfigMiniSite/saveHeaderFooter',\r\n\t\t\theaderFooter,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tfindById(id: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfConfigMiniSite/findById',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('id', id.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tfindHeaderFooter(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfConfigMiniSite/findHeaderFooter'\r\n\t\t);\r\n\t}\r\n\r\n\tfindAllByUserId(idUser: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfConfigMiniSite/findAllByUserId',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('idUser', idUser.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t// findAllByPromCodigo(promCodigo: number): Observable<any> {\r\n\t// return this.httpClient.get(\r\n\t// this.environment.host.backend.configuration +\r\n\t// 'pliCnfConfigMiniSite/findAllByPromCodigo',\r\n\t// {\r\n\t// params: new HttpParams()\r\n\t// .set('promCodigo', promCodigo.toString())\r\n\t// }\r\n\t// );\r\n\t// }\r\n\r\n\tdelete(id: number): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfConfigMiniSite/delete?id=${id}`\r\n\t\t);\r\n\t}\r\n\r\n\tgetDatatableSearchListByDtblSearchListId(\r\n\t\tdtblSearchListId: string,\r\n\t\ttype: number\r\n\t): Observable<any> {\r\n\t\treturn (\r\n\t\t\tthis.httpClient\r\n\t\t\t\t.get<DatatableSearchList[]>(\r\n\t\t\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t\t\t'PliDatatableSearchListController/getDatatableSearchListByDtblSearchListId',\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t\t\t.set('dtblSearchListId', dtblSearchListId)\r\n\t\t\t\t\t\t\t.set('type', type.toString())\r\n\t\t\t\t\t}\r\n\t\t\t\t)\r\n\t\t\t\t// DJ - Committee sorting requirement\r\n\t\t\t\t.pipe(\r\n\t\t\t\t\tmap((lDatatableSearchList: DatatableSearchList[]) => {\r\n\t\t\t\t\t\tlDatatableSearchList.sort((a, b) => {\r\n\t\t\t\t\t\t\tconst textA = a['recordSize'];\r\n\t\t\t\t\t\t\tconst textB = b['recordSize'];\r\n\t\t\t\t\t\t\treturn textA < textB ? 1 : textA > textB ? -1 : 0;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\treturn lDatatableSearchList;\r\n\t\t\t\t\t})\r\n\t\t\t\t)\r\n\t\t);\r\n\t}\r\n\r\n\tgetByDataTablesParameters(dataTablesParameters: DataTableParameters): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfConfigMiniSite/getByDataTablesParameters',\r\n\t\t\tdataTablesParameters,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tsaveAllDatatableSearchList(lDatatableSearchList: DatatableSearchList[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'PliDatatableSearchListController/saveAllDatatableSearchList',\r\n\t\t\tlDatatableSearchList,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tgetDatatableSearchListById(id: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'PliDatatableSearchListController/getDatatableSearchListById',\r\n\t\t\t{ params: new HttpParams().set('id', id) }\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { PliCnfCommitteePdfConfig, PliCnfCommitteePdfConfigTableConfig } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfCommitteePdfConfigTableConfigService {\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\tpublic getAll(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfCommitteePdfConfigTableConfig/getAll`\r\n\t\t);\r\n\t}\r\n\r\n\tpublic save(\r\n\t\tpliCnfCommitteePdfConfigTableConfig: PliCnfCommitteePdfConfigTableConfig\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfCommitteePdfConfigTableConfig/save',\r\n\t\t\tpliCnfCommitteePdfConfigTableConfig\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getById(id: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfCommitteePdfConfigTableConfig/getById?id=${id}`\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getByPliCnfCommitteePdfConfig(pdfConfigId: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfCommitteePdfConfigTableConfig/getByPliCnfCommitteePdfConfig?pdfConfigId=${pdfConfigId}`\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getPdfConfigById(pdfConfigId: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfCommitteePdfConfigTableConfig/getPdfConfigById?pdfConfigId=${pdfConfigId}`\r\n\t\t);\r\n\t}\r\n\r\n\tpublic delete(id: number): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfCommitteePdfConfigTableConfig/delete?id=${id}`\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getPdfConfigForApplicationByPromCode(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfCommitteePdfConfigTableConfig/getPdfConfigForApplicationByPromCode?promCodigo=${promCodigo}`\r\n\t\t);\r\n\t}\r\n\r\n\tpublic updatePdfConfigForApplication(pdfConfig: PliCnfCommitteePdfConfig): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfCommitteePdfConfigTableConfig/updatePdfConfigForApplication',\r\n\t\t\tpdfConfig\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { PliCnfCommitteePdfGenerationStatus } from 'ng-pli-util';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfCommitteePdfGenStatusService {\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\tpublic getByPdfConfigId(id: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}committee-pdf-generation-status/getByPdfConfigId`,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('id', String(id))\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tpublic save(\r\n\t\tpliCnfCommitteePdfGenerationStatus: PliCnfCommitteePdfGenerationStatus\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'committee-pdf-generation-status/save',\r\n\t\t\tpliCnfCommitteePdfGenerationStatus\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { PliCnfCommittee } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfCommitteeService {\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\tpublic getAll(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfCommittee/getAll`\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getAllByPromCode(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfCommittee/getAllByPromCode?promCodigo=${promCodigo}`\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getAllByPromCodeLight(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfCommittee/getAllByPromCodeLight?promCodigo=${promCodigo}`\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getAllTypeCommittee(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfCommittee/getAllTypeCommittee'\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getAllByHavingVisualizationMode(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfCommittee/getAllByHavingVisualizationMode?promCodigo=${promCodigo}`\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getAllWithNoInteraction(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfCommittee/getAllWithNoInteraction?promCodigo=${promCodigo}`\r\n\t\t);\r\n\t}\r\n\r\n\tpublic save(pliCnfCommittee: PliCnfCommittee): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfCommittee/save',\r\n\t\t\tpliCnfCommittee\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getById(id: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfCommittee/getById?id=${id}`\r\n\t\t);\r\n\t}\r\n\r\n\tpublic delete(id: number): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfCommittee/delete?id=${id}`\r\n\t\t);\r\n\t}\r\n\r\n\tpublic saveAll(pliCnfCommittee: PliCnfCommittee[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfCommittee/saveAll',\r\n\t\t\tpliCnfCommittee\r\n\t\t);\r\n\t}\r\n}\r\n","import { PliCnfCommitteeValproColumns } from 'ng-pli-util';\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfCommitteeValproColumnsService {\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\tgetByPliCnfCommitteeId(pliCnfCommitteeId: number) {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfCommitteeValproColumns/getByPliCnfCommitteeId`,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('pliCnfCommitteeId', pliCnfCommitteeId.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tsaveAll(pliCnfCommitteeValproColumns: PliCnfCommitteeValproColumns[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfCommitteeValproColumns/saveAll`,\r\n\t\t\tpliCnfCommitteeValproColumns\r\n\t\t);\r\n\t}\r\n\r\n\tgetByGroupedAndPliCnfCommitteeId(grouped: boolean, pliCnfCommitteeId: number) {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfCommitteeValproColumns/getByGroupedAndPliCnfCommitteeId`,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('grouped', grouped.toString())\r\n\t\t\t\t\t.set('pliCnfCommitteeId', pliCnfCommitteeId.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tdelete(pliCnfColumnId: number) {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfCommitteeValproColumns`,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('pliCnfColumnId', pliCnfColumnId.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpHeaders, HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfDynamicKeysAssignService {\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tpublic getByPromCodigo(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfDynamicKeysAssign/getByPromCodigo?promCodigo=${promCodigo}`\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getByPromCodigoAndCategoryId(promCodigo: number, categoryId: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfDynamicKeysAssign/getByPromCodigoAndCategoryId',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigo', promCodigo.toString())\r\n\t\t\t\t\t.set('categoryId', categoryId.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getByPromCodigoAndListStaticKeyId(\r\n\t\tpromCodigo: number,\r\n\t\tlStaticKeyId: number[]\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfDynamicKeysAssign/getByPromCodigoAndListStaticKeyId',\r\n\t\t\t{\r\n\t\t\t\tpromCodigo: promCodigo,\r\n\t\t\t\tlStaticKeyId: lStaticKeyId\r\n\t\t\t},\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tpublic save(dynamicKeysAssignData: any[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfDynamicKeysAssign/save`,\r\n\t\t\tdynamicKeysAssignData\r\n\t\t);\r\n\t}\r\n\t/**\r\n\t *\r\n\t * @param dynamicKeysAssignData\r\n\t * @returns dynamicKeysAssignDataClonned Map key old Id, value new Object.\r\n\t */\r\n\tpublic saveAll(dynamicKeysAssignData: any[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfDynamicKeysAssign/saveAll`,\r\n\t\t\tdynamicKeysAssignData\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { PliCnfDocumentManagement } from 'ng-pli-util';\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfDocumentManagementService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\tgetByPromCodigo(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfDocumentManagement/getByPromCodigo',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('promCodigo', promCodigo.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tsave(pliCnfFormMultiaplicacion: PliCnfDocumentManagement): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfDocumentManagement/save',\r\n\t\t\tpliCnfFormMultiaplicacion,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tconfigCloningDocumentManagement(oldPromCodigo: number, newPromCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfDocumentManagement/configCloningDocumentManagement',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('oldPromCodigo', oldPromCodigo.toString())\r\n\t\t\t\t\t.set('newPromCodigo', newPromCodigo.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { PliCnfInformationSystem } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfInformationSystemService {\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\tgetAll(): Observable<PliCnfInformationSystem[]> {\r\n\t\treturn this.httpClient.get<PliCnfInformationSystem[]>(\r\n\t\t\t`${this.environment.host.backend.configuration}pli_cnf_information_system/getAll`\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpHeaders, HttpClient, HttpParams } from '@angular/common/http';\r\nimport { AuthenticationService } from './authentication.service';\r\nimport { Observable } from 'rxjs';\r\nimport { PliCnfLetterTemplate } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfLetterTemplateService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(\r\n\t\t@Inject('environment') private environment,\r\n\t\tprivate httpClient: HttpClient,\r\n\t\tprivate authService: AuthenticationService\r\n\t) {}\r\n\r\n\t/** It returns the template letter by promCodigo */\r\n\tgetListByPromCodigo(id: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfLetterTemplate/getAllByPromCodigo',\r\n\t\t\t{ params: new HttpParams().set('promCodigo', id.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\tgetById(id: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfLetterTemplate/getById',\r\n\t\t\t{ params: new HttpParams().set('id', id.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves a letter-template */\r\n\tsave(letterTemplate: PliCnfLetterTemplate): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfLetterTemplate/save',\r\n\t\t\tletterTemplate,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It deletes a template by id */\r\n\tdelete(id: number): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfLetterTemplate',\r\n\t\t\t{ params: new HttpParams().set('id', id.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\tgetConfigCloningLetterTemplate(oldPPP: number, newPPP: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfLetterTemplate/getConfigCloningLetterTemplate',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('oldPPP', oldPPP.toString())\r\n\t\t\t\t\t.set('newPPP', newPPP.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpHeaders, HttpClient, HttpParams } from '@angular/common/http';\r\nimport { AuthenticationService } from './authentication.service';\r\nimport { Observable } from 'rxjs';\r\nimport { PliCnfLetterTemplateType } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfLetterTemplateTypeService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(\r\n\t\t@Inject('environment') private environment,\r\n\t\tprivate httpClient: HttpClient,\r\n\t\tprivate authService: AuthenticationService\r\n\t) {}\r\n\r\n\t/** It returns the letter template types */\r\n\tgetAll(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfLetterTemplateType/getAll'\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport { PliCnfMigrationStatusPlis, HEADER_JSON } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfMigrationStatusPlisService {\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\tsave(data: PliCnfMigrationStatusPlis): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'pliCnfMigrationStatusPlis/save',\r\n\t\t\tdata,\r\n\t\t\tHEADER_JSON\r\n\t\t);\r\n\t}\r\n\r\n\tgetAll(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice + 'pliCnfMigrationStatusPlis/getAll'\r\n\t\t);\r\n\t}\r\n\r\n\tgetByPromCodigo(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice + 'pliCnfMigrationStatusPlis/getByPromCodigo',\r\n\t\t\t{ params: new HttpParams().set('promCodigo', promCodigo.toString()) }\r\n\t\t);\r\n\t}\r\n\r\n\tgetAllNotIn(listStatusIdNotIn: any): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'pliCnfMigrationStatusPlis/getAllNotIn',\r\n\t\t\tlistStatusIdNotIn,\r\n\t\t\tHEADER_JSON\r\n\t\t);\r\n\t}\r\n\r\n\tgetByApplicationId(applicationId: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice +\r\n\t\t\t\t'pliCnfMigrationStatusPlis/getByApplicationId',\r\n\t\t\t{ params: new HttpParams().set('applicationId', applicationId) }\r\n\t\t);\r\n\t}\r\n\r\n\tdelete(id: number): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.backoffice + 'pliCnfMigrationStatusPlis/delete',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('id', id.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpHeaders, HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { PliCnfMigrationPlisField } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfMigrationPlisFieldService {\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tpublic getByPromCodigo(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfMigrationPlisField/getByPromCodigo?promCodigo=${promCodigo}`\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getByPromCodigoAndCategoryId(promCodigo: number, categoryId: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfMigrationPlisField/getByPromCodigoAndCategoryId',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigo', promCodigo.toString())\r\n\t\t\t\t\t.set('categoryId', categoryId.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getByPromCodigoAndListStaticKeyId(\r\n\t\tpromCodigo: number,\r\n\t\tlStaticKeyId: number[]\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfMigrationPlisField/getByPromCodigoAndListStaticKeyId',\r\n\t\t\t{\r\n\t\t\t\tpromCodigo: promCodigo,\r\n\t\t\t\tlStaticKeyId: lStaticKeyId\r\n\t\t\t},\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tpublic save(migrationPlisFiedData: any[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfMigrationPlisField/save`,\r\n\t\t\tmigrationPlisFiedData\r\n\t\t);\r\n\t}\r\n\r\n\tpublic configCloningMigrationConf(lMigration: PliCnfMigrationPlisField[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfMigrationPlisField/configCloningMigrationConf`,\r\n\t\t\tlMigration\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\r\nimport { PliCnfPageSectionForm } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfPageSectionFormService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\tfindByPromCodigoAndPageSectionId(promCodigo, pageSectionId) {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfPageSectionForm/findByPromCodigoAndPageSectionId`,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigo', promCodigo)\r\n\t\t\t\t\t.set('pageSectionId', pageSectionId)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tfindByPromCodigoAndformId(promCodigo, formId) {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfPageSectionForm/findByPromCodigoAndformId`,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('promCodigo', promCodigo).set('formId', formId)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tfindByPromCodigoAndPageSectionKey(promCodigo, pageSectionKey) {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfPageSectionForm/findByPromCodigoAndPageSectionKey`,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigo', promCodigo)\r\n\t\t\t\t\t.set('pageSectionKey', pageSectionKey)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetAllByPromCode(promCodigo) {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfPageSectionForm/getAllByPromCode`,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('promCodigo', promCodigo)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves a pliCnfPageSectionForm */\r\n\tsave(pliCnfPageSectionForm: PliCnfPageSectionForm): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfPageSectionForm/save',\r\n\t\t\tpliCnfPageSectionForm,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It deletes by promCodigo and pageSectionId */\r\n\tdeleteByPromCodigoAndPageSectionId(promCodigo, pageSectionId): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfPageSectionForm/deleteByPromCodigoAndPageSectionId',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigo', promCodigo)\r\n\t\t\t\t\t.set('pageSectionId', pageSectionId)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves array of pliCnfPageSectionForm for clonning propouse\r\n\t * @author jkatz\r\n\t */\r\n\tsaveAll(pliCnfPageSectionForm: PliCnfPageSectionForm[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfPageSectionForm/saveAll',\r\n\t\t\tpliCnfPageSectionForm,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { PliCnfFormEdit } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfFormEditService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\t/** Returns a PliCnfEvaluationTemplate by id */\r\n\tgetById(id: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'formEdit/getById',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('id', id.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** Returns a list of PliCnfEvaluationTemplate by ids\r\n\t * @param ids id per template\r\n\t */\r\n\tgetByIds(ids: number[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'formEdit/getByIdIn',\r\n\t\t\tids\r\n\t\t);\r\n\t}\r\n\r\n\t/** Returns a list of PliCnfEvaluationTemplate by promCode */\r\n\tgetAllByPromCodigo(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'formEdit/getAllByPromCodigo',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('promCodigo', promCodigo.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** Saves a template with its associated document and form records */\r\n\tsave(pliCnfFormEdit: PliCnfFormEdit): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'formEdit/save',\r\n\t\t\tpliCnfFormEdit,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** Deletes a template with its associated document and form records,\r\n\t * unless there is another configuration using the specified evaluation template */\r\n\tdelete(id: number): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.configuration + 'formEdit/delete',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('id', id.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetByPageSection(pageSection: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'formEdit/getByPageSection',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('pageSection', pageSection)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetByPageSectionAndPromCode(pageSection: string, promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'formEdit/getByPageSectionAndPromCodigo',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('pageSection', pageSection)\r\n\t\t\t\t\t.set('promCodigo', String(promCodigo))\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** Saves arrays template with its associated document and form records */\r\n\tsaveAll(pliCnfFormEdit: PliCnfFormEdit[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'formEdit/saveAll',\r\n\t\t\tpliCnfFormEdit,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { PliCnfFormMultiaplicacion } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfFormMultiaplicacionService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\t/** Returns a PliCnfEvaluationTemplate by id */\r\n\tgetById(id: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'formMulti/getById',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('id', id.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** Returns a PliCnfEvaluationTemplate by patCodigo */\r\n\tgetByPatCodigo(patCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'formMulti/getByPatCodigo',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('patCodigo', patCodigo.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/** Saves a template with its associated document and form records */\r\n\tsave(pliCnfFormMultiaplicacion: PliCnfFormMultiaplicacion): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'formMulti/save',\r\n\t\t\tpliCnfFormMultiaplicacion,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** Deletes a template with its associated document and form records,\r\n\t * unless there is another configuration using the specified evaluation template */\r\n\tdelete(id: number): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.configuration + 'formMulti/delete',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('id', id.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\r\nimport { PliCnfProfileForm } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfProfileFormService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\t/** It saves a profile */\r\n\tsave(listProfileUser: PliCnfProfileForm[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfProfileForm/save',\r\n\t\t\tlistProfileUser,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/** It deletes a form by id */\r\n\tdeleteByProfileIdAndFormId(profileId, formId): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfProfileForm/deleteByProfileIdAndFormId',\r\n\t\t\t{ params: new HttpParams().set('profileId', profileId).set('formId', formId) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It deletes a form by id */\r\n\tdeleteById(profileUserId): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfProfileForm/deleteById',\r\n\t\t\t{ params: new HttpParams().set('profileUserId', profileUserId) }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It deletes a form by userId, patCodigo, idProfile */\r\n\tdeleteByListId(lProfileForm: PliCnfProfileForm[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfProfileForm/deleteByListId',\r\n\t\t\tlProfileForm,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { PliCnfSurvey } from 'ng-pli-util';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfSurveyService {\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\tsave(pliCnfSurvey: PliCnfSurvey): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfSurvey/save',\r\n\t\t\tpliCnfSurvey\r\n\t\t);\r\n\t}\r\n\r\n\tclone(pliCnfSurvey: PliCnfSurvey): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfSurvey/clone',\r\n\t\t\tpliCnfSurvey\r\n\t\t);\r\n\t}\r\n\r\n\tgetAll(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfSurvey/getAll'\r\n\t\t);\r\n\t}\r\n\r\n\tgetAllEnable(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfSurvey/getAllEnable'\r\n\t\t);\r\n\t}\r\n\r\n\tgetAllSent(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfSurvey/getAllSent'\r\n\t\t);\r\n\t}\r\n\r\n\tgetEnableByUsername(username: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfSurvey/getEnableByUsername',\r\n\t\t\t{ params: new HttpParams().set('username', username) }\r\n\t\t);\r\n\t}\r\n\r\n\tgetById(id: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfSurvey/getById',\r\n\t\t\t{ params: new HttpParams().set('id', String(id)) }\r\n\t\t);\r\n\t}\r\n\r\n\tdelete(id: number): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfSurvey',\r\n\t\t\t{ params: new HttpParams().set('id', String(id)) }\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { PliCnfSurveyDocument } from 'ng-pli-util';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfSurveyDocumentService {\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\tsave(pliCnfSurveyDocument: PliCnfSurveyDocument): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfSurveyDocument/save',\r\n\t\t\tpliCnfSurveyDocument\r\n\t\t);\r\n\t}\r\n\r\n\tsaveAll(lPliCnfSurveyDocument: PliCnfSurveyDocument[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfSurveyDocument/saveAll',\r\n\t\t\tlPliCnfSurveyDocument\r\n\t\t);\r\n\t}\r\n\r\n\tgetBySurveyId(id: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfSurveyDocument/getBySurveyId',\r\n\t\t\t{ params: new HttpParams().set('id', String(id)) }\r\n\t\t);\r\n\t}\r\n\r\n\tgetById(id: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfSurveyDocument/getById',\r\n\t\t\t{ params: new HttpParams().set('id', String(id)) }\r\n\t\t);\r\n\t}\r\n\r\n\tdelete(id: number): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfSurveyDocument',\r\n\t\t\t{ params: new HttpParams().set('id', String(id)) }\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { PliCnfTaskGroup } from 'ng-pli-util';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfTaskGroupService {\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\tpublic getAll(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfTaskGroup/getAll`\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getAllByPromCode(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfTaskGroup/getAllByPromCode?promCodigo=${promCodigo}`\r\n\t\t);\r\n\t}\r\n\r\n\tpublic save(pliCnfTaskGroup: PliCnfTaskGroup[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfTaskGroup/save`,\r\n\t\t\tpliCnfTaskGroup\r\n\t\t);\r\n\t}\r\n\r\n\tpublic deleteAllByPromCode(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfTaskGroup/deleteAllByPromCode?promCodigo=${promCodigo}`\r\n\t\t);\r\n\t}\r\n}\r\n","import { Observable } from 'rxjs';\r\nimport { HttpHeaders, HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable, Inject } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PliCnfTextCategoryService {\r\n\r\n private headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n constructor(@Inject('environment') private environment, private httpClient: HttpClient) { }\r\n\r\n /** It saves a entity */\r\n save(pliCnfTextCategory: any): Observable<any> {\r\n return this.httpClient.post(\r\n this.environment.host.backend.configuration + 'pliCnfTextCategory/save',\r\n pliCnfTextCategory,\r\n this.headerJson\r\n );\r\n }\r\n\r\n findById(id: number): Observable<any> {\r\n return this.httpClient.get(\r\n this.environment.host.backend.configuration +\r\n 'pliCnfTextCategory/findById',\r\n {\r\n params: new HttpParams()\r\n .set('id', id.toString())\r\n }\r\n );\r\n }\r\n\r\n findAll(): Observable<any> {\r\n return this.httpClient.get(\r\n this.environment.host.backend.configuration +\r\n 'pliCnfTextCategory/findAll'\r\n );\r\n }\r\n\r\n // findAllByPromCodigo(promCodigo: number): Observable<any> {\r\n // return this.httpClient.get(\r\n // this.environment.host.backend.configuration +\r\n // 'pliCnfTextCategory/findAllByPromCodigo',\r\n // {\r\n // params: new HttpParams()\r\n // .set('promCodigo', promCodigo.toString())\r\n // }\r\n // );\r\n // }\r\n\r\n}\r\n","import { Observable } from 'rxjs';\r\nimport { HttpHeaders, HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable, Inject } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PliCnfTypeTextService {\r\n\r\n private headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n constructor(@Inject('environment') private environment, private httpClient: HttpClient) { }\r\n\r\n /** It saves a entity */\r\n save(pliCnfTypeText: any): Observable<any> {\r\n return this.httpClient.post(\r\n this.environment.host.backend.configuration + 'pliCnfTypeText/save',\r\n pliCnfTypeText,\r\n this.headerJson\r\n );\r\n }\r\n\r\n findById(id: number): Observable<any> {\r\n return this.httpClient.get(\r\n this.environment.host.backend.configuration +\r\n 'pliCnfTypeText/findById',\r\n {\r\n params: new HttpParams()\r\n .set('id', id.toString())\r\n }\r\n );\r\n }\r\n\r\n findAllByCategoryId(categoryId: number): Observable<any> {\r\n return this.httpClient.get(\r\n this.environment.host.backend.configuration +\r\n 'pliCnfTypeText/findAllByCategoryId',\r\n {\r\n params: new HttpParams()\r\n .set('categoryId', categoryId.toString())\r\n }\r\n );\r\n }\r\n\r\n findAll(): Observable<any> {\r\n return this.httpClient.get(\r\n this.environment.host.backend.configuration +\r\n 'pliCnfTypeText/findAll'\r\n );\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { PliCnfUserCalendar } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfUserCalendarService {\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\tgetById(id: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfUserCalendar/getById?id=${id}`\r\n\t\t);\r\n\t}\r\n\r\n\tgetByPromCodigo(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfUserCalendar/getByPromCodigo?promCodigo=${promCodigo}`\r\n\t\t);\r\n\t}\r\n\r\n\tgetByUsername(username: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfUserCalendar/getByUsername?username=${username}`\r\n\t\t);\r\n\t}\r\n\r\n\tgetByCalendarId(calendarId: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfUserCalendar/getByCalendarId?calendarId=${calendarId}`\r\n\t\t);\r\n\t}\r\n\r\n\tsave(pliCnfUserCalendar: PliCnfUserCalendar): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfUserCalendar/save`,\r\n\t\t\tpliCnfUserCalendar\r\n\t\t);\r\n\t}\r\n\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpHeaders, HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { PliCnfCommittee } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfMigrationPlisFieldBudgetService {\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tpublic saveBudget(migrationPlisBudgetData: any[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'pliCnfMigrationPlisFieldBudget/saveBudget',\r\n\t\t\tmigrationPlisBudgetData\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getBudgetByPromCodigo(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`\r\n\t\t\t${this.environment.host.backend.configuration}pliCnfMigrationPlisFieldBudget/getBudgetByPromCodigo?promCodigo=${promCodigo}`\r\n\t\t);\r\n\t}\r\n\r\n\tpublic saveEquivalencePLICtoPLIS(equivalences: any[]) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfMigrationPlisFieldBudget/saveEquivalencePlicToPlis`,\r\n\t\t\tequivalences\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthenticationService } from './authentication.service';\r\nimport { PliSegActionUser } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliSegActionUserService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(\r\n\t\t@Inject('environment') private environment: any,\r\n\t\tprivate httpClient: HttpClient,\r\n\t\tprivate authService: AuthenticationService\r\n\t) {}\r\n\r\n\t/** search actions by user **/\r\n\tgetActions(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.segmentation + 'PlicMassiveAction/getActions'\r\n\t\t);\r\n\t}\r\n\r\n\t/** save action **/\r\n\tsave(pliSegActionUse: PliSegActionUser): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.segmentation + 'PlicMassiveAction/save',\r\n\t\t\tpliSegActionUse\r\n\t\t);\r\n\t}\r\n\r\n\t/** save actions **/\r\n\tsaveAll(pliSegActionsUse: PliSegActionUser[]): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.segmentation + 'PlicMassiveAction/saveAll',\r\n\t\t\tpliSegActionsUse\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PlisBeneficiarioService {\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\tgetByNumeroDocumentoAndPatCodigo(identification: string, patCodigo: number) {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.plis + 'beneficiario/getByNumeroDocumentoAndPatCodigo',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('identification', identification)\r\n\t\t\t\t\t.set('patCodigo', patCodigo)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { map } from 'rxjs/operators';\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { IndicatorRequest, DataTableParameters, CommitteeConsult } from 'ng-pli-util';\r\nimport { Observable, BehaviorSubject, Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PromotionScoreService {\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\tcalculateScoresByApplicationIdList(applicationIdList: string[], promCodigo): Observable<any> {\r\n\t\tconst params = new HttpParams().set('promCodigo', String(promCodigo));\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice +\r\n\t\t\t\t'promotionScoreController/calculateScoresByApplicationIdList',\r\n\t\t\tapplicationIdList,\r\n\t\t\t{ params }\r\n\t\t);\r\n\t}\r\n\r\n\tcalculatePromotionScoreByApplicationIdList(\r\n\t\tapplicationIdList: string[],\r\n\t\tpromCodigo\r\n\t): Observable<any> {\r\n\t\tconst params = new HttpParams().set('promCodigo', String(promCodigo));\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice +\r\n\t\t\t\t'promotionScoreController/calculatePromotionScoreByApplicationIdList',\r\n\t\t\tapplicationIdList,\r\n\t\t\t{ params }\r\n\t\t);\r\n\t}\r\n\r\n\tcreditStudyClassification(applicationIdList: string[], promCodigo): Observable<any> {\r\n\t\tconst params = new HttpParams().set('promCodigo', String(promCodigo));\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice +\r\n\t\t\t\t'promotionScoreController/creditStudyClassification',\r\n\t\t\tapplicationIdList,\r\n\t\t\t{ params }\r\n\t\t);\r\n\t}\r\n\r\n\tgetCreditStudyGroup(applicationId: string, promCodigo): Observable<any> {\r\n\t\tconst params = new HttpParams()\r\n\t\t\t.set('promCodigo', String(promCodigo))\r\n\t\t\t.set('applicationId', applicationId);\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice +\r\n\t\t\t\t'promotionScoreController/getCreditStudyGroup',\r\n\t\t\t{ params }\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Document, Survey, SegmentationReactivationSurveyTO } from 'ng-pli-util';\r\nimport { Observable } from 'rxjs';\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class SurveyService {\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) { }\r\n\r\n\tsave(survey: Survey): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'survey/save',\r\n\t\t\tsurvey\r\n\t\t);\r\n\t}\r\n\r\n\tupdateState(surveyId: string, stateId: number): Observable<any> {\r\n\t\treturn this.httpClient.put(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'survey/updateState',\r\n\t\t\tnull,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('stateId', String(stateId)).set('surveyId', surveyId)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetById(id: number): Observable<any> {\r\n\t\treturn this.httpClient.get(this.environment.host.backend.frontoffice + 'survey/getById', {\r\n\t\t\tparams: new HttpParams().set('id', String(id))\r\n\t\t});\r\n\t}\r\n\r\n\tsaveDocument(document: Document, pliCnfSurveyId: number, username: string): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'survey/saveDocument',\r\n\t\t\tdocument,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('pliCnfSurveyId', String(pliCnfSurveyId))\r\n\t\t\t\t\t.set('username', username)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetByUsernameAndPliCnfSurveyId(pliCnfSurveyId: number, username: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'survey/getByUsernameAndPliCnfSurveyId',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('pliCnfSurveyId', String(pliCnfSurveyId))\r\n\t\t\t\t\t.set('username', username)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\treactivateSurvey(parameters: SegmentationReactivationSurveyTO): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'survey/reactivateSurvey',\r\n\t\t\tparameters\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { SurveyMetadata } from 'ng-pli-util';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class SurveyMetadataService {\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\tsave(surveyMetadata: SurveyMetadata): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'survey-metadata/save',\r\n\t\t\tsurveyMetadata\r\n\t\t);\r\n\t}\r\n\r\n\tgetById(id: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'survey-metadata/getByPliCnfSurveyId',\r\n\t\t\t{ params: new HttpParams().set('id', String(id)) }\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { SegmentationSurveyTO } from 'ng-pli-util';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class SurveyQueueService {\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\tsend(segmentationSurveyTO: SegmentationSurveyTO): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.queue + 'survey/send',\r\n\t\t\tsegmentationSurveyTO\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { MasterPerson } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class RegistryIdentifierService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\t/** Persona natural */\r\n\tgetByListIdNumber(args: string) {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'application/getByListIdNumber',\r\n\t\t\t{ params: new HttpParams().set('args', args), headers: this.headerJson.headers }\r\n\t\t);\r\n\t}\r\n\r\n\t/** Persona jurídica */\r\n\tgetByListNit(args: string) {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'application/getByListNit',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('args', args),\r\n\t\t\t\theaders: this.headerJson.headers\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tupdateNamesPerson(person: MasterPerson) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'interaction/updateNamesPerson',\r\n\t\t\tperson,\r\n\t\t\t{\r\n\t\t\t\theaders: this.headerJson.headers\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t// saveInteraction(lInteraction: InteractionTO[]) {\r\n\t// \treturn this.httpClient.post(environment.loginBackend + 'interaction/save', lInteraction, {\r\n\t// \t\tresponseType: 'text'\r\n\t// \t});\r\n\t// }\r\n}\r\n","import { map } from 'rxjs/operators';\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport {\r\n\tIndicatorRequest,\r\n\tDataTableParameters,\r\n\tCommitteeConsult,\r\n\tCommitteeOrdinalTO\r\n} from 'ng-pli-util';\r\nimport { Observable, BehaviorSubject, Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class VisualizationCommitteeService {\r\n\tprivate subjectCutlineName = new Subject<any>();\r\n\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\tgetByDataTablesParameters(\r\n\t\tdataTableParameters: DataTableParameters,\r\n\t\tidCommittee: number\r\n\t): Observable<any> {\r\n\t\tlet httpParams = new HttpParams();\r\n\t\thttpParams = httpParams.set('idCommittee', String(idCommittee));\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice +\r\n\t\t\t\t'visualization-committee/getByDataTablesParameters',\r\n\t\t\tdataTableParameters,\r\n\t\t\t{ params: httpParams }\r\n\t\t);\r\n\t}\r\n\r\n\t/** Get Grouped data */\r\n\tgetGroupedByDataTablesParameters(\r\n\t\tdataTableParameters: DataTableParameters,\r\n\t\tidCommittee: number\r\n\t): Observable<any> {\r\n\t\tlet httpParams = new HttpParams();\r\n\t\thttpParams = httpParams.set('idCommittee', String(idCommittee));\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice +\r\n\t\t\t\t'visualization-committee/getGroupedByDataTablesParameters',\r\n\t\t\tdataTableParameters,\r\n\t\t\t{ params: httpParams }\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns an IndicatorResponse */\r\n\tgenerateIndicator(\r\n\t\tlIndicatorRequest: IndicatorRequest[],\r\n\t\tidCommittee: number,\r\n\t\tpromCodigo: number\r\n\t): Observable<any> {\r\n\t\tlet httpParams = new HttpParams();\r\n\t\thttpParams = httpParams.set('idCommittee', String(idCommittee));\r\n\t\thttpParams = httpParams.set('promCodigo', String(promCodigo));\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice +\r\n\t\t\t\t'visualization-committee/generateGenericIndicator',\r\n\t\t\tlIndicatorRequest,\r\n\t\t\t{ params: httpParams }\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * Get Segmentation values by committee\r\n\t * @param segmentationDimensionFormId FormId segmentation dimension\r\n\t * @param segmentationDimensionKey Key segmentation Dimension\r\n\t */\r\n\tgetSegmentationValues(segmentationDimensionFormId: string, segmentationDimensionKey: string) {\r\n\t\tlet httpParams = new HttpParams();\r\n\t\thttpParams = httpParams.set('formId', String(segmentationDimensionFormId));\r\n\t\thttpParams = httpParams.set('keyField', String(segmentationDimensionKey));\r\n\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice +\r\n\t\t\t\t'visualization-committee/getSegmentationValues',\r\n\t\t\t{ params: httpParams }\r\n\t\t);\r\n\t}\r\n\r\n\tgetByCommitteeId(committeeId: number) {\r\n\t\tlet httpParams = new HttpParams();\r\n\t\thttpParams = httpParams.set('committeeId', String(committeeId));\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice + 'committee-consult/getByCommitteeId',\r\n\t\t\t{ params: httpParams }\r\n\t\t);\r\n\t}\r\n\r\n\tsaveCommitteeConsult(lCommitteConsult: CommitteeConsult) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'committee-consult/save',\r\n\t\t\tlCommitteConsult\r\n\t\t);\r\n\t}\r\n\r\n\tsaveOrdinal(committeeOrdinalTO: CommitteeOrdinalTO) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'visualization-committee/saveOrdinal',\r\n\t\t\tcommitteeOrdinalTO\r\n\t\t);\r\n\t}\r\n\r\n\tcloneCommitteeConsult(committeeIdOrigin: number, committeeIdTarget: number) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\t`${this.environment.host.backend.backoffice}committee-consult/cloneCommitteeConsult?committeeOrigin=${committeeIdOrigin}&committeeTarget=${committeeIdTarget}`,\r\n\t\t\t{}\r\n\t\t);\r\n\t}\r\n\r\n\tprivate subjectCommitteeName: BehaviorSubject<any> = new BehaviorSubject<any>(null);\r\n\r\n\tgetDataCommitteeName() {\r\n\t\treturn this.subjectCommitteeName.asObservable();\r\n\t}\r\n\r\n\tdataCommitteeName(name: string) {\r\n\t\treturn this.subjectCommitteeName.next(name);\r\n\t}\r\n\r\n\tgetDataCutlineName() {\r\n\t\treturn this.subjectCutlineName.asObservable();\r\n\t}\r\n\r\n\tsetDataCutlineName(name: string) {\r\n\t\treturn this.subjectCutlineName.next(name);\r\n\t}\r\n}\r\n","import { PliCnfConfigCreditStudy } from 'ng-pli-util';\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfConfigurationCreditStudyService {\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\tgetById(id: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfCreditStudyConfig/getById?id=${id}`\r\n\t\t);\r\n\t}\r\n\r\n\tgetByPromCodigo(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfCreditStudyConfig/getByPromCodigo?promCodigo=${promCodigo}`\r\n\t\t);\r\n\t}\r\n\r\n\tsave(pliCnfConfigCreditStudy: PliCnfConfigCreditStudy): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfCreditStudyConfig/save`,\r\n\t\t\tpliCnfConfigCreditStudy\r\n\t\t);\r\n\t}\r\n\r\n\tdelete(id: number) {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfCreditStudyConfig/${id}`\r\n\t\t);\r\n\t}\r\n\r\n\tgetConfigCloningCreditStudy(oldPPP: number, newPPP: number) {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfCreditStudyConfig/getConfigCloningCreditStudy`,\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('oldPPP', oldPPP.toString())\r\n\t\t\t\t\t.set('newPPP', newPPP.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { PliCnfUniversityArticle } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfUniversityArticleService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\t/** It returns the list */\r\n\tgetAll(): Observable<any> {\r\n\t\treturn this.httpClient.get(this.environment.host.backend.configuration + 'pliCnfUniversityArticle');\r\n\t}\r\n\r\n\t/** It deletes a form by id */\r\n\tdelete(id): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfUniversityArticle/'+id,\r\n\t\t);\r\n\t}\r\n\r\n\t/** It returns the PliCnfUniversityArticle by id */\r\n\tgetById(id: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfUniversityArticle/'+id,\r\n\t\t);\r\n\t}\r\n\r\n\t/** It saves a PliCnfUniversityArticle */\r\n\tsave(article: PliCnfUniversityArticle): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfUniversityArticle/',\r\n\t\t\tarticle,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfCloningService {\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\tgetCloningIdsByPromCodeDestiny(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfCloning/getCloningIdsByPromCodeDestiny?promCodigo=${promCodigo}`\r\n\t\t);\r\n\t}\r\n\r\n\tvalidateFormsAndStatusForCloning(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\t`${this.environment.host.backend.configuration}pliCnfCloning/validateFormsAndStatusForCloning?promCodigo=${promCodigo}`\r\n\t\t);\r\n\t}\r\n}\r\n","import { FormControl, AbstractControl, ValidatorFn, ValidationErrors } from '@angular/forms';\r\nimport { DateUtil, NumberUtil } from 'ng-pli-util';\r\n\r\n\r\nexport class CustomValidator {\r\n\r\n /** It validates if a formcontrol value matches with another one */\r\n static match(controlToCompare: FormControl): ValidatorFn {\r\n const validator = (control: AbstractControl): { [key: string]: boolean } => {\r\n if (control.value === controlToCompare.value)\r\n return null;\r\n return { 'match': true };\r\n }\r\n return validator;\r\n }\r\n\r\n /** It validates if a controlToCompare value is presented in values and the control value is valid */\r\n static matchValues(controlToCompare: FormControl, values: Array<number>): ValidatorFn {\r\n const validator = (control: AbstractControl): { [key: string]: boolean } => {\r\n if (values.indexOf(Number(controlToCompare.value)) >= 0 && !control.value)\r\n return { 'matchvalues': true };\r\n return null;\r\n }\r\n return validator;\r\n }\r\n\r\n /** It validates required if the control has the value */\r\n static requiredIf(controlToCompare: FormControl, value: any): ValidatorFn {\r\n const validator = (control: AbstractControl): { [key: string]: boolean } => {\r\n if (controlToCompare != null && controlToCompare != undefined) {\r\n let valueControl = control.value;\r\n let valueControlToCompare = controlToCompare.value;\r\n if (valueControlToCompare == value && !valueControl)\r\n return { 'requiredIf': true };\r\n }\r\n\r\n return null;\r\n }\r\n return validator;\r\n }\r\n\r\n /** It validates if the control date value is older than another one */\r\n static mindate(controlToCompare: FormControl): ValidatorFn {\r\n const validator = (control: AbstractControl): { [key: string]: boolean } => {\r\n if (controlToCompare != null && controlToCompare != undefined) {\r\n let value = control.value;\r\n let valueToCompare = controlToCompare.value;\r\n let date = DateUtil.getDate(value);\r\n let dateToCompare = DateUtil.getDate(valueToCompare);\r\n\r\n if (date != null && dateToCompare != null)\r\n if (date.getTime() < dateToCompare.getTime())\r\n return { 'mindate': true };\r\n }\r\n\r\n return null;\r\n }\r\n return validator;\r\n }\r\n\r\n\r\n /** It validates if the control date value is younger than another one */\r\n static maxdate(controlToCompare: FormControl): ValidatorFn {\r\n const validator = (control: AbstractControl): { [key: string]: boolean } => {\r\n if (controlToCompare != null && controlToCompare != undefined) {\r\n let value = control.value;\r\n let valueToCompare = controlToCompare.value;\r\n let date = DateUtil.getDate(value);\r\n let dateToCompare = DateUtil.getDate(valueToCompare);\r\n\r\n if (date != null && dateToCompare != null)\r\n if (date.getTime() > dateToCompare.getTime())\r\n return { 'maxdate': true };\r\n }\r\n return null;\r\n }\r\n return validator;\r\n }\r\n\r\n /** It validates if a formcontrol value matches with another one */\r\n static number(): ValidatorFn {\r\n const validator = (control: AbstractControl): { [key: string]: boolean } => {\r\n if (!control.value || NumberUtil.isNumber(control.value))\r\n return null;\r\n return { 'number': true };\r\n }\r\n return validator;\r\n }\r\n\r\n static validNumberByCheck(controlCheckCompare: FormControl): ValidatorFn {\r\n const validator = (\r\n control: AbstractControl\r\n ): { [key: string]: boolean } => {\r\n return controlCheckCompare.value != null &&\r\n controlCheckCompare.value === true &&\r\n (!control.value || !NumberUtil.isNumber(control.value))\r\n ? { validnumberbycheck: true }\r\n : null;\r\n };\r\n return validator;\r\n }\r\n\r\n static emailValidator(control) {\r\n // RFC 2822 compliant regex\r\n if (\r\n control.value.match(\r\n /[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/\r\n )\r\n ) {\r\n return null;\r\n } else {\r\n return { invalidEmailAddress: true };\r\n }\r\n }\r\n}\r\n","// IMPORTANT: THIS FILE IS AUTO GENERATED! DO NOT MANUALLY EDIT OR CHECKIN!\n/* tslint:disable */\nexport const VERSION = {\n \"dirty\": true,\n \"raw\": \"v0.0.18-2488-g31b70a37-dirty\",\n \"hash\": \"g31b70a37\",\n \"distance\": 2488,\n \"tag\": \"v0.0.18\",\n \"semver\": {\n \"options\": {\n \"loose\": false,\n \"includePrerelease\": false\n },\n \"loose\": false,\n \"raw\": \"v0.0.18\",\n \"major\": 0,\n \"minor\": 0,\n \"patch\": 18,\n \"prerelease\": [],\n \"build\": [],\n \"version\": \"0.0.18\"\n },\n \"suffix\": \"2488-g31b70a37-dirty\",\n \"semverString\": \"0.0.18+2488.g31b70a37\",\n \"version\": \"0.0.1908\",\n \"buildTimestamp\": \"2024-06-20T14:06:12.094Z\"\n};\n/* tslint:enable */\n","import { VERSION } from '../../version';\r\n\r\nexport class VersionCommons {\r\n\tstatic showVersion(): string {\r\n\t\treturn VERSION.version;\r\n\t}\r\n\r\n\tstatic showBuildTimestamp(): string {\r\n\t\treturn VERSION.buildTimestamp;\r\n\t}\r\n}\r\n","import { HttpClient, HttpHeaders, HttpParams } from \"@angular/common/http\";\r\nimport { Injectable, Inject} from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { DocumentHistory } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class DocumentHistoryService {\r\n private headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n constructor(\r\n @Inject('environment') private environment,\r\n\t\tprivate httpClient: HttpClient\r\n ) {}\r\n\r\n /** It returns the document history by documentId and applicationId */\r\n\tgetByDocumentIdAndApplicationId(documentId: string, applicationId: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'documentHistory/getByDocumentIdAndApplicationId',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n .set('documentId', documentId)\r\n .set('applicationId', applicationId)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n /** It returns the document history by list documentId and applicationId */\r\n\tgetByDocumentIdInAndApplicationId(listDocumentId: Array<string>, applicationId: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'documentHistory/getByDocumentIdInAndApplicationId',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n .set('listDocumentId', listDocumentId.toString())\r\n .set('applicationId', applicationId)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n /** It saves a document history */\r\n\tsave(documentHistory: DocumentHistory): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.frontoffice + 'documentHistory/save',\r\n\t\t\tdocumentHistory,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { PliCnfSupportDocumentCategory } from 'ng-pli-util';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfSupportDocumentCategoryService {\r\n\tprivate urlBase: string =\r\n\t\tthis.environment.host.backend.configuration + 'pliCnfSupportDocumentCategory';\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\tfindAll(): Observable<any> {\r\n\t\treturn this.httpClient.get(this.urlBase + '/findAll');\r\n\t}\r\n\r\n\tfindByPromCodigo(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(this.urlBase + '/findByPromCodigo', {\r\n\t\t\tparams: new HttpParams().set('promCodigo', promCodigo.toString())\r\n\t\t});\r\n\t}\r\n\r\n\tsave(pliCnfSupportDocumentCategory: PliCnfSupportDocumentCategory): Observable<any> {\r\n\t\treturn this.httpClient.post(this.urlBase + '/save', pliCnfSupportDocumentCategory);\r\n\t}\r\n\r\n\tdeleteById(id: number) {\r\n\t\treturn this.httpClient.delete(this.urlBase + '/deleteById', {\r\n\t\t\tparams: new HttpParams().set('id', id.toString())\r\n\t\t});\r\n\t}\r\n\r\n\tcloningSupportDocsCategories(oldPPP: number, newPPP: number, idCategory?: number) {\r\n\t\treturn this.httpClient.get(this.urlBase + '/cloningCategories', {\r\n\t\t\tparams: new HttpParams()\r\n\t\t\t\t.set('oldPPP', oldPPP.toString())\r\n\t\t\t\t.set('newPPP', newPPP.toString())\r\n\t\t\t\t.set('idCategory', idCategory.toString())\r\n\t\t});\r\n\t}\r\n}\r\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { PliCnfEvaluationTaskMailing } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfEvaluationTaskMailingService {\r\n\turlBase: string = this.environment.host.backend.configuration;\r\n\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\tgetByTaskId(taskId: number) {\r\n\t\treturn this.httpClient.get(this.urlBase + 'pliCnfEvaluationTaskMailing/getByTaskId', {\r\n\t\t\tparams: new HttpParams().set('taskId', taskId.toString())\r\n\t\t});\r\n\t}\r\n\r\n\tsave(pliCnfEvaluationTaskMailing: PliCnfEvaluationTaskMailing) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.urlBase + 'pliCnfEvaluationTaskMailing/save',\r\n\t\t\tpliCnfEvaluationTaskMailing\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpClient, HttpHeaders, HttpParams } from \"@angular/common/http\";\r\nimport { Injectable, Inject} from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { DataTableParameters, TransactionForm, UpdateBankvisionRequestTO } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class ReturnRefundService {\r\n private headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n constructor(\r\n @Inject('environment') private environment,\r\n\t\tprivate httpClient: HttpClient\r\n ) {}\r\n\r\n /** It save a return or refund */\r\n\tsave(returnRefund: TransactionForm): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicBackoffice + 'gic-return-refund/save',\r\n\t\t\treturnRefund,\r\n this.headerJson\r\n\t\t);\r\n\t}\r\n\r\n validateIdentification(promCodigo: number, identification: string): Observable<any> {\r\n return this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.gicBackoffice + 'gic-return-refund/validate-identification', {\r\n params: new HttpParams().set('promCodigo', promCodigo).set('identification', identification)\r\n });\r\n }\r\n\r\n getCreditCreilingAvailable(promCodigo: number, fund: number, identification: string) {\r\n return this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.gicBackoffice + 'gic-return-refund/getCreditCeilingAvailable', {\r\n params: new HttpParams().set('promCodigo', promCodigo).set('identification', identification).set('fund', fund)\r\n });\r\n }\r\n\r\n delete(disbursementDatatableId: string) {\r\n return this.httpClient.delete(\r\n this.environment.host.backend.gicBackoffice + 'gic-return-refund/delete', {\r\n params: new HttpParams().set('disbursementDatatableId', disbursementDatatableId)\r\n });\r\n }\r\n\r\n getBankvisionCode(disbursementDatatableId: string) {\r\n return this.httpClient.get(this.environment.host.backend.gicBackoffice + 'gic-return-refund/getRubCode', {\r\n params: new HttpParams().set('disbursementDatatableId', disbursementDatatableId)\r\n });\r\n }\r\n\r\n getByDataTablesParameters(dataTableParameters: DataTableParameters): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicBackoffice + 'gic-return-refund/getByDataTablesParameters',\r\n\t\t\tdataTableParameters,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n updateBankvisionState(updateBankvisionRequestTO: UpdateBankvisionRequestTO): Observable<any> {\r\n\t\treturn this.httpClient.put(\r\n\t\t\tthis.environment.host.backend.gicBackoffice + 'gic-return-refund/updateBankvisionState',\r\n\t\t\tupdateBankvisionRequestTO\r\n\t\t);\r\n\t}\r\n\r\n}\r\n","import { HttpClient, HttpHeaders, HttpParams } from \"@angular/common/http\";\r\nimport { Injectable, Inject} from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { DataTableParameters, InterestAdjustment, UpdateBankvisionRequestTO } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class InterestAdjustmentService {\r\n private headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n constructor(\r\n @Inject('environment') private environment,\r\n\t\tprivate httpClient: HttpClient\r\n ) {}\r\n\r\n /** It save a return or refund */\r\n\tsave(interestAdjustment: InterestAdjustment): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicBackoffice + 'interest_adjustment/save',\r\n\t\t\tinterestAdjustment,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n getByDataTablesParameters(dataTableParameters: DataTableParameters): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicBackoffice +\r\n\t\t\t\t'interest_adjustment/getByDataTablesParameters',\r\n\t\t\tdataTableParameters,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tupdateBankvisionState(updateBankvisionRequestTO: UpdateBankvisionRequestTO): Observable<any> {\r\n\t\treturn this.httpClient.put(\r\n\t\t\tthis.environment.host.backend.gicBackoffice + 'interest_adjustment/updateBankvisionState',\r\n\t\t\tupdateBankvisionRequestTO\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class ImportExcelGICService {\r\n\tprivate urlBase: string = this.environment.host.backend.gicQueuePublisher + 'import-excel';\r\n\tprivate urlBaseBackoffice: string =\r\n\t\tthis.environment.host.backend.gicBackoffice + 'gic-disbursement';\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\tsendInitials(clients: any[]): Observable<any> {\r\n\t\treturn this.httpClient.post(this.urlBase + '/initials', clients);\r\n\t}\r\n\r\n\tsendDisbursments(disbursments: any[]) {\r\n\t\tlet aux: any = { disbursementList: disbursments };\r\n\t\treturn this.httpClient.post(this.urlBase + '/disbursments', aux, this.headerJson);\r\n\t}\r\n\r\n\tsendDisbursmentsBackoffice(disbursments: any[]) {\r\n\t\tlet aux: any = { disbursementList: disbursments };\r\n\t\treturn this.httpClient.post(this.urlBaseBackoffice + '/disbursments', aux, this.headerJson);\r\n\t}\r\n\r\n\t/**\r\n\t * Send collections\r\n\t * @param collections\r\n\t * @return observable<any>\r\n\t */\r\n\tsendCollections(collections: any[]): Observable<any> {\r\n\t\tlet aux: any = { gicCollectionList: collections };\r\n\t\treturn this.httpClient.post(this.urlBase + '/collections', aux, this.headerJson);\r\n\t}\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { GicCnfMaintenance } from 'ng-pli-util';\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class GicCnfMaintenaceService {\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\tgetByPromCodigo(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.gicConfiguration + 'gic-cnf-maintenance/getByPromCodigo',\r\n {\r\n params: new HttpParams().set('promCodigo', promCodigo)\r\n }\r\n\t\t);\r\n\t}\r\n\r\n\tsave(gicCnfMaintenance: GicCnfMaintenance): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicConfiguration + 'gic-cnf-maintenance/save',\r\n\t\t\tgicCnfMaintenance\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { DataTableParameters, UpdateBankvisionRequestTO } from 'ng-pli-util';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class GicPaymentPlanCubeService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\tgetTransactionsByDataTablesParameters(\r\n\t\tdataTableParameters: DataTableParameters\r\n\t): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicBackoffice +\r\n\t\t\t\t'gic-payment-plan-cube/getByDataTablesParameters',\r\n\t\t\tdataTableParameters,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { CondonationMaintenance, DataTableParameters, MaintenanceForm } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class MaintenanceService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\tgetByDataTablesParameters(dataTableParameters: DataTableParameters): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicBackoffice + 'maintenance/getByDataTablesParameters',\r\n\t\t\tdataTableParameters,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tgetByDataTablesParametersForCondonation(dataTableParameters: DataTableParameters): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicBackoffice + 'maintenance/getByDataTablesParametersForCondonation',\r\n\t\t\tdataTableParameters,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tupdate(maintenanceForm: MaintenanceForm) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicBackoffice + 'maintenance/update',\r\n\t\t\tmaintenanceForm,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tdownloadFlatFile(maintenanceIds: string[]) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicBackoffice + 'maintenance/downloadFlatFile',\r\n\t\t\t{ data: maintenanceIds },\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tdelete(maintenanceId: string) {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.gicBackoffice + 'maintenance/delete',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('maintenanceId', maintenanceId)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tdeleteCondonationMaintenance(maintenanceId: string) {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.gicBackoffice + 'maintenance/deleteCondonationMaintenace',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('maintenanceId', maintenanceId)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n deleteByIdIn(maintenanceIdList: string[]) {\r\n return this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.gicBackoffice + 'maintenance/deleteByIdIn',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('maintenanceIdList', maintenanceIdList.toString())\r\n\t\t\t}\r\n\t\t);\r\n }\r\n\r\n downloadCondonationFile() {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicBackoffice + 'maintenance/downloadCondonationFile',\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n updateCondonationMaintenace(maintenanceForm: CondonationMaintenance) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicBackoffice + 'maintenance/updateCondonationMaintenance',\r\n\t\t\tmaintenanceForm,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n generateCondonationMaintenance(dateGenerate: string) {\r\n return this.httpClient.get(\r\n\t\tthis.environment.host.backend.gicBackoffice + 'maintenance/generateCondonationMaintenace',\r\n\t\t{\r\n\t\t\tparams: new HttpParams().set('dateGenerate', dateGenerate)\r\n\t\t}\r\n\t);\r\n }\r\n\r\n deleteCondonationMaintenaceByIdIn(maintenanceIdList: string[]) {\r\n return this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.gicBackoffice + 'maintenance/deleteCondonationMaintenaceByIdIn',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('maintenanceIdList', maintenanceIdList.toString())\r\n\t\t\t}\r\n\t\t);\r\n }\r\n\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class GicPaymentPlanService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\tgeneratePaymentPlants(data: {\r\n\t\tidentification: string;\r\n\t\trefinancedFee?: number;\r\n\t\trefinancedFeeNumber?: number;\r\n\t\tminPaymentToCapital?: number;\r\n\t}): Observable<Object> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicBackoffice + 'payment-plan/generatePaymentPlants',\r\n\t\t\tdata,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tgeneratePaymentPlantsByIdentifications(identifications: string[]): Observable<Object> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicBackoffice + 'payment-plan/generatePaymentPlantsByIdentifications',\r\n\t\t\tidentifications,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\tgeneratePaymentPlansCubos(dateGenerate: string): Observable<Object> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.gicBackoffice + 'payment-plan/generatePaymentPlansCubos',\r\n\t\t\tdateGenerate,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { GicParametersConfiguration } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PlisEstatusChangeService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tprivate urlBase: string =\r\n\t\tthis.environment.host.backend.gicQueuePublisher + 'plis-estatus-change';\r\n\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\tgenerateCondonationMaintenance(dateGenerate: string): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.urlBase + '/generateCondonationMaintenance',\r\n\t\t\t{},\r\n\t\t\t{\r\n\t\t\t\t...this.headerJson,\r\n\t\t\t\tparams: new HttpParams().set('dateGenerate', dateGenerate)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { PliCnfMail } from 'ng-pli-util';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class PliCnfMailService {\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\tsave(pliCnfMail: PliCnfMail): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfMail/save',\r\n\t\t\tpliCnfMail\r\n\t\t);\r\n\t}\r\n\r\n\tgetByPromCodigo(promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration + 'pliCnfMail/getByPromCodigo',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('promCodigo', promCodigo.toString())\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { MasterUniversity, MasterUniversityResponseApi } from 'ng-pli-util';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class MasterUniversityService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\t/**\r\n\t * MasterUniversity[] returns a list of MasterUniversity\r\n\t * @returns MasterUniversity[]\r\n\t */\r\n\tgetAll(): Observable<MasterUniversity[]> {\r\n\t\treturn this.httpClient.get<MasterUniversity[]>(\r\n\t\t\tthis.environment.host.backend.configuration + 'master-university/getAll'\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * MasterUniversityResponseApi returns a MasterUniversityResponseApi\r\n\t * @returns MasterUniversityResponseApi\r\n\t */\r\n\tgetAllResponseApi(\r\n\t\tpage_size: number,\r\n\t\tpage?: number,\r\n\t\tname?: string,\r\n\t\tenglish_name?: string,\r\n\t\tcountry?: string\r\n\t): Observable<MasterUniversityResponseApi> {\r\n\t\treturn this.httpClient.get<MasterUniversityResponseApi>(\r\n\t\t\tthis.environment.host.backend.configuration + 'master-university/getAllResponseApi',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('page_size', page_size)\r\n\t\t\t\t\t.set('page', page)\r\n\t\t\t\t\t.set('name', name)\r\n\t\t\t\t\t.set('english_name', english_name)\r\n\t\t\t\t\t.set('country', country)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * Return university by id\r\n\t * @param id id university\r\n\t * @returns MasterUniversity university\r\n\t */\r\n\tgetById(id: number): Observable<MasterUniversity> {\r\n\t\treturn this.httpClient.get<MasterUniversity>(\r\n\t\t\tthis.environment.host.backend.configuration + 'master-university/getById',\r\n\t\t\t{ params: new HttpParams().set('id', id) }\r\n\t\t);\r\n\t}\r\n\t/**\r\n\t * Create University\r\n\t * @param university\r\n\t * @returns MasterUniversity university create\r\n\t */\r\n\tsave(university: MasterUniversity): Observable<MasterUniversity> {\r\n\t\treturn this.httpClient.post<MasterUniversity>(\r\n\t\t\tthis.environment.host.backend.configuration + 'master-university/save',\r\n\t\t\tuniversity,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * Delete university by id\r\n\t * @param id\r\n\t * @returns empty\r\n\t */\r\n\tdelete(id: number): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.configuration + 'master-university/' + id\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpHeaders, HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport { MasterProgram, MasterProgramResponseApi, MasterProgramType } from 'ng-pli-util';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class MasterProgramService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\t/**\r\n\t * MasterProgram[] returns a list of MasterProgram\r\n\t * @returns MasterProgram[]\r\n\t */\r\n\tgetAll(): Observable<MasterProgram[]> {\r\n\t\treturn this.httpClient.get<MasterProgram[]>(\r\n\t\t\tthis.environment.host.backend.configuration + 'master-program/getAll'\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * MasterProgramResponseApi returns a MasterProgramResponseApi\r\n\t * @returns MasterProgramResponseApi\r\n\t */\r\n\tgetAllResponseApi(\r\n\t\tpage_size: number,\r\n\t\tpage?: number,\r\n\t\tname?: string,\r\n\t\tenglish_name?: string,\r\n\t\ttype?: string,\r\n\t\tstudy_area?: string,\r\n\t\tfaculty?: string,\r\n\t\tuniversity_name?: string\r\n\t): Observable<MasterProgramResponseApi> {\r\n\t\treturn this.httpClient.get<MasterProgramResponseApi>(\r\n\t\t\tthis.environment.host.backend.configuration + 'master-program/getAllResponseApi',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('page_size', page_size)\r\n\t\t\t\t\t.set('page', page)\r\n\t\t\t\t\t.set('name', name)\r\n\t\t\t\t\t.set('english_name', english_name)\r\n\t\t\t\t\t.set('type', type)\r\n\t\t\t\t\t.set('study_area', study_area)\r\n\t\t\t\t\t.set('faculty', faculty)\r\n\t\t\t\t\t.set('university_name', university_name)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * Return program by id\r\n\t * @param id id program\r\n\t * @returns MasterProgram program\r\n\t */\r\n\tgetById(id: number): Observable<MasterProgram> {\r\n\t\treturn this.httpClient.get<MasterProgram>(\r\n\t\t\tthis.environment.host.backend.configuration + 'master-program/getById',\r\n\t\t\t{ params: new HttpParams().set('id', id) }\r\n\t\t);\r\n\t}\r\n\t/**\r\n\t * Create program\r\n\t * @param program\r\n\t * @returns MasterProgram program create\r\n\t */\r\n\tsave(program: MasterProgram): Observable<MasterProgram> {\r\n\t\treturn this.httpClient.post<MasterProgram>(\r\n\t\t\tthis.environment.host.backend.configuration + 'master-program/save',\r\n\t\t\tprogram,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * Delete program by id\r\n\t * @param id\r\n\t * @returns empty\r\n\t */\r\n\tdelete(id: number): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.configuration + 'master-program/' + id\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * MasterProgramType[] returns a list of MasterProgramType\r\n\t * @returns MasterProgramType[]\r\n\t */\r\n\tgetAllProgramType(): Observable<MasterProgramType[]> {\r\n\t\treturn this.httpClient.get<MasterProgramType[]>(\r\n\t\t\tthis.environment.host.backend.configuration + 'master-program/getAllProgramType'\r\n\t\t);\r\n\t}\r\n}\r\n","import { HttpHeaders, HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport { MasterCategory, MasterCategoryResponseApi } from 'ng-pli-util';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class MasterCategoryService {\r\n\tprivate headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };\r\n\r\n\tconstructor(@Inject('environment') private environment, private httpClient: HttpClient) {}\r\n\r\n\t/**\r\n\t * MasterCategory[] returns a list of MasterCategory\r\n\t * @returns MasterCategory[]\r\n\t */\r\n\tgetAll(): Observable<MasterCategory[]> {\r\n\t\treturn this.httpClient.get<MasterCategory[]>(\r\n\t\t\tthis.environment.host.backend.configuration + 'master-category/getAll'\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * return MasterCategoryResponseApi with list MasterCategory\r\n\t * @returns MasterCategoryResponseApi\r\n\t */\r\n\tgetAllResponseApi(\r\n\t\tpage_size: number,\r\n\t\tpage?: number,\r\n\t\tname?: string\r\n\t): Observable<MasterCategoryResponseApi> {\r\n\t\treturn this.httpClient.get<MasterCategoryResponseApi>(\r\n\t\t\tthis.environment.host.backend.configuration + 'master-category/getAllResponseApi',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('page_size', page_size)\r\n\t\t\t\t\t.set('page', page)\r\n\t\t\t\t\t.set('name', name)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * Return category by id\r\n\t * @param id id category\r\n\t * @returns MasterCategory category\r\n\t */\r\n\tgetById(id: number): Observable<MasterCategory> {\r\n\t\treturn this.httpClient.get<MasterCategory>(\r\n\t\t\tthis.environment.host.backend.configuration + 'master-category/getById',\r\n\t\t\t{ params: new HttpParams().set('id', id) }\r\n\t\t);\r\n\t}\r\n\t/**\r\n\t * Create category\r\n\t * @param category\r\n\t * @returns MasterCategory category create\r\n\t */\r\n\tsave(category: MasterCategory): Observable<MasterCategory> {\r\n\t\treturn this.httpClient.post<MasterCategory>(\r\n\t\t\tthis.environment.host.backend.configuration + 'master-category/save',\r\n\t\t\tcategory,\r\n\t\t\tthis.headerJson\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * Delete category by id\r\n\t * @param id\r\n\t * @returns empty\r\n\t */\r\n\tdelete(id: number): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.configuration + 'master-category/' + id\r\n\t\t);\r\n\t}\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PeopleMasterService {\r\n constructor(@Inject('environment') private environment: any, private httpClient: HttpClient) { }\r\n\r\n getPerson(find: string): Observable<any> {\r\n return this.httpClient.get(\r\n this.environment.host.backend.backoffice + 'people-master/getPerson',\r\n {\r\n params: new HttpParams().set('find', find)\r\n }\r\n );\r\n }\r\n\r\n getEmployee(find: string): Observable<any> {\r\n return this.httpClient.get(\r\n this.environment.host.backend.backoffice + 'people-master/getEmployee',\r\n {\r\n params: new HttpParams().set('find', find)\r\n }\r\n );\r\n }\r\n\r\n getStudent(find: string): Observable<any> {\r\n return this.httpClient.get(\r\n this.environment.host.backend.backoffice + 'people-master/getStudent',\r\n {\r\n params: new HttpParams().set('find', find)\r\n }\r\n );\r\n }\r\n\r\n getNotStudent(find: string): Observable<any> {\r\n return this.httpClient.get(\r\n this.environment.host.backend.backoffice + 'people-master/getNotStudent',\r\n {\r\n params: new HttpParams().set('find', find)\r\n }\r\n );\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport {\r\n\tCorrespondenceManager,\r\n\tCorrespondenceManagerTO,\r\n\tCorrespondenceTranslateTokensTO,\r\n\tDataTableParameters\r\n} from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class CorrespondenceManagerService {\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\tsave(correspondenceManager: CorrespondenceManager): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'correspondence-manager/save',\r\n\t\t\tcorrespondenceManager\r\n\t\t);\r\n\t}\r\n\r\n\tsaveEdit(correspondenceManager: CorrespondenceManagerTO): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'correspondence-manager/saveEdit',\r\n\t\t\tcorrespondenceManager\r\n\t\t);\r\n\t}\r\n\r\n\tdeleteAttatchment(correspondenceManagerId: string, index: number): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.backoffice + 'correspondence-manager/deleteAttatchment',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('correspondenceManagerId', correspondenceManagerId)\r\n\t\t\t\t\t.set('index', index)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tdeleteDocument(correspondenceManagerId: string): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.backoffice + 'correspondence-manager/deleteDocument',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('correspondenceManagerId', correspondenceManagerId)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetDocument(urlDocument: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice + 'correspondence-manager/getDocument',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('urlDocument', urlDocument)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tuploadDocument(uploadDocument: any): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'correspondence-manager/uploadDocument',\r\n\t\t\tuploadDocument\r\n\t\t);\r\n\t}\r\n\r\n\ttranslateTokens(translateTokens: CorrespondenceTranslateTokensTO): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice + 'correspondence-manager/translateTokens',\r\n\t\t\ttranslateTokens\r\n\t\t);\r\n\t}\r\n\r\n\tdeleteArchive(urlArchive: string): Observable<any> {\r\n\t\treturn this.httpClient.delete(\r\n\t\t\tthis.environment.host.backend.backoffice + 'correspondence-manager/deleteArchive',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('urlArchive', urlArchive)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetById(correspondenceId: string, promCodigo: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice + 'correspondence-manager/getById',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('correspondenceId', correspondenceId)\r\n\t\t\t\t\t.set('promCodigo', promCodigo)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetByDataTableParameters(dataTableParameters: DataTableParameters) {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.backoffice +\r\n\t\t\t\t'correspondence-manager/getByDatatableParameters',\r\n\t\t\tdataTableParameters\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class CorrespondenceDocumentCategoryService {\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\tgetAll(): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice + 'correspondence-document-category/getAll'\r\n\t\t);\r\n\t}\r\n\r\n\tfindByNameContaining(find: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.backoffice +\r\n\t\t\t\t'correspondence-document-category/findByNameContaining',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('find', find)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { CnfCorrespondenceDocumentManager } from 'ng-pli-util';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class CnfCorrespondenceDocumentManagerService {\r\n\tconstructor(@Inject('environment') private environment: any, private httpClient: HttpClient) {}\r\n\r\n\tsave(cnfCorrespondenceDocumentManager: CnfCorrespondenceDocumentManager): Observable<any> {\r\n\t\treturn this.httpClient.post(\r\n\t\t\tthis.environment.host.backend.configuration + 'cnf-correspondence-doc-manager/save',\r\n\t\t\tcnfCorrespondenceDocumentManager\r\n\t\t);\r\n\t}\r\n\r\n\tgetByPromCodigoAndCategoryId(promCodigo: number, categoryId: number): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'cnf-correspondence-doc-manager/getByPromCodigoAndCategoryId',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams().set('promCodigo', promCodigo).set('categoryId', categoryId)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetByPromCodigoAndCategoryName(promCodigo: number, categoryName: string): Observable<any> {\r\n\t\treturn this.httpClient.get(\r\n\t\t\tthis.environment.host.backend.configuration +\r\n\t\t\t\t'cnf-correspondence-doc-manager/getByPromCodigoAndCategoryName',\r\n\t\t\t{\r\n\t\t\t\tparams: new HttpParams()\r\n\t\t\t\t\t.set('promCodigo', promCodigo)\r\n\t\t\t\t\t.set('categoryName', categoryName)\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n}\r\n","/*\r\n * Public API Surface of ng-pli-commons\r\n */\r\n\r\nexport * from './lib/ng-pli-commons.service';\r\n// export * from './lib/ng-pli-commons.component';\r\nexport * from './lib/ng-pli-commons.module';\r\nexport * from './lib/components/backoffice.commons.component';\r\nexport * from './lib/components/dashboard.commons.component';\r\nexport * from './lib/components/common.lists.component';\r\nexport * from './lib/components/pdf-config/pdf-config.component';\r\nexport * from './lib/components/configuration-token/configuration-token.component';\r\nexport * from './lib/components/configuration.commons.component';\r\nexport * from './lib/components/dynamic-filter/dynamic-filter.component';\r\nexport * from './lib/components/excel-to-json/excel-to-json.component';\r\nexport * from './lib/components/frontoffice.commons.component';\r\nexport * from './lib/components/pdf-visualizer/pdf-visualizer.component';\r\nexport * from './lib/components/pdf-merge-visualizer/pdf-merge-visualizer.component';\r\nexport * from './lib/components/pdf-generator/pdf-generator.component';\r\nexport * from './lib/components/select-ppp/select-ppp.component';\r\nexport * from './lib/components/show-hide-columns/show-hide-columns-table.component';\r\nexport * from './lib/components/token/token.component';\r\nexport * from './lib/components/segmentation-tokens/segmentation-tokens.component';\r\nexport * from './lib/components/tokens-calculator/tokens-calculator.component';\r\nexport * from './lib/components/configuration-token/guarantee-token/guarantee-token.component';\r\nexport * from './lib/components/progress-bar/progress-bar.component';\r\nexport * from './lib/components/pdf-analyzer/pdf-analyzer.component';\r\nexport * from './lib/directives/currency-colfuturo-formatter.directive';\r\nexport * from './lib/directives/currency-decimal-colfuturo-formatter.directive';\r\nexport * from './lib/services/upload-documents.service';\r\nexport * from './lib/pipes/currency-colfuturo.pipe';\r\nexport * from './lib/pipes/currency-decimal-colfuturo.pipe';\r\nexport * from './lib/pipes/currency-print-colfuturo.pipe';\r\nexport * from './lib/pipes/thousands.pipe';\r\nexport * from './lib/services/application.service';\r\nexport * from './lib/services/application-fill-percentage.service';\r\nexport * from './lib/services/application-tag.service';\r\nexport * from './lib/services/authentication.service';\r\nexport * from './lib/services/blocked-beneficiary.service';\r\nexport * from './lib/services/budget-application.service';\r\nexport * from './lib/services/budget-simulation.service';\r\nexport * from './lib/services/budget.service';\r\nexport * from './lib/services/closure-wallet.service';\r\nexport * from './lib/services/common.service';\r\nexport * from './lib/services/committee-pdf.service';\r\nexport * from './lib/services/committee-money.service';\r\nexport * from './lib/services/committee-snapshot.service';\r\nexport * from './lib/services/configuration.service';\r\nexport * from './lib/services/common-info.service';\r\nexport * from './lib/services/credit-study.service';\r\nexport * from './lib/services/configuration-document.service';\r\nexport * from './lib/services/credit-score.service';\r\nexport * from './lib/services/cube.service';\r\nexport * from './lib/services/data-form.service';\r\nexport * from './lib/services/data-form-history.service';\r\nexport * from './lib/services/data-letter-segmentation.service';\r\nexport * from './lib/services/document-analysis-auto.service';\r\nexport * from './lib/services/document-management.service';\r\nexport * from './lib/services/document-validation-attempt.service';\r\nexport * from './lib/services/document.service';\r\nexport * from './lib/services/documentary.type.service';\r\nexport * from './lib/services/email.service';\r\nexport * from './lib/services/evaluation.service';\r\nexport * from './lib/services/export-excel.service';\r\nexport * from './lib/services/file.service';\r\nexport * from './lib/services/form.service';\r\nexport * from './lib/services/gic-client-disbursement-metadata.service';\r\nexport * from './lib/services/gic-cnf-bankvision-transaction.service';\r\nexport * from './lib/services/gic-cnf-closing-date.service';\r\nexport * from './lib/services/hash.service';\r\nexport * from './lib/services/gic-client.service';\r\nexport * from './lib/services/gic-disbursement.service';\r\nexport * from './lib/services/gic-collection.service';\r\nexport * from './lib/services/gic-extract.service';\r\nexport * from './lib/services/gic-log.service';\r\nexport * from './lib/services/gic-trm.service';\r\nexport * from './lib/services/gic-payment-application.service';\r\nexport * from './lib/services/global.show.task.service';\r\nexport * from './lib/services/guarantee.service';\r\nexport * from './lib/services/import-data.service';\r\nexport * from './lib/services/initial-configuration-gic-parameters.service';\r\nexport * from './lib/services/initial-record.service';\r\nexport * from './lib/services/interaction-application-user.service';\r\nexport * from './lib/services/keys-assignation.service';\r\nexport * from './lib/services/letter-campaing.service';\r\nexport * from './lib/services/letter-task-mapping.service';\r\nexport * from './lib/services/legalization.service';\r\nexport * from './lib/services/log.service';\r\nexport * from './lib/services/page.service';\r\nexport * from './lib/services/migration-plis.service';\r\nexport * from './lib/services/migration-survey-queue.service';\r\nexport * from './lib/services/summary-budget.service';\r\nexport * from './lib/services/pli-cnf-page-sub-process.service';\r\nexport * from './lib/services/permission.service';\r\nexport * from './lib/services/pli-cnf-acuity-fields.service';\r\nexport * from './lib/services/pli-cnf-app-card-filter.service';\r\nexport * from './lib/services/pli-cnf-appointment-type.service';\r\nexport * from './lib/services/pli-cnf-budget-program-type.service';\r\nexport * from './lib/services/pli-cnf-budget.service';\r\nexport * from './lib/services/pli-cnf-config-minisite.service';\r\nexport * from './lib/services/pli-cnf-committee-pdf-config-table-config.service';\r\nexport * from './lib/services/pli-cnf-committee-pdf-gen-status.service';\r\nexport * from './lib/services/pli-cnf-committee-visualization-mode.service';\r\nexport * from './lib/services/pli-cnf-committee.service';\r\nexport * from './lib/services/pli-cnf-committee-valpro-columns.service';\r\nexport * from './lib/services/pli-cnf-dynamic-keys-assign.service';\r\nexport * from './lib/services/pli-cnf-document-management.service';\r\nexport * from './lib/services/pli-cnf-evaluation-task.service';\r\nexport * from './lib/services/pli-cnf-evaluation-template.service';\r\nexport * from './lib/services/pli-cnf-header.service';\r\nexport * from './lib/services/pli-cnf-indicator.service';\r\nexport * from './lib/services/pli-cnf-information-system.service';\r\nexport * from './lib/services/pli-cnf-interaction.service';\r\nexport * from './lib/services/pli-cnf-letter-template.service';\r\nexport * from './lib/services/pli-cnf-letter-template-type.service';\r\nexport * from './lib/services/pli-cnf-look-and-feel.service';\r\nexport * from './lib/services/pli-cnf-migration-status-plis.service';\r\nexport * from './lib/services/pli-cnf-menu-form.service';\r\nexport * from './lib/services/pli-cnf-migration-plis-field.service';\r\nexport * from './lib/services/pli-cnf-page-section-form.service';\r\nexport * from './lib/services/pli-cnf-pdfs.service';\r\nexport * from './lib/services/pli-cnf-project-summary.service';\r\nexport * from './lib/services/pli-cnf-form-edit.service';\r\nexport * from './lib/services/pli-cnf-form-multiaplicacion.service';\r\nexport * from './lib/services/pli-cnf-profile-form.service';\r\nexport * from './lib/services/pli-cnf-profile-user.service';\r\nexport * from './lib/services/pli-cnf-scenario.service';\r\nexport * from './lib/services/pli-cnf-snapshot-token.service';\r\nexport * from './lib/services/pli-cnf-segmentation.service';\r\nexport * from './lib/services/pli-cnf-status-flow-interaction.service';\r\nexport * from './lib/services/pli-cnf-status-flow.service';\r\nexport * from './lib/services/pli-cnf-support-document.service';\r\nexport * from './lib/services/pli-cnf-survey.service';\r\nexport * from './lib/services/pli-cnf-survey-document.service';\r\nexport * from './lib/services/pli-cnf-survey-pdf.service';\r\nexport * from './lib/services/pli-cnf-task-group.service';\r\nexport * from './lib/services/pli-cnf-text.service';\r\nexport * from './lib/services/pli-cnf-text-category.service';\r\nexport * from './lib/services/pli-cnf-type-text.service';\r\nexport * from './lib/services/pli-cnf-user-calendar.service';\r\nexport * from './lib/services/pli-cnf-user-workspace.service';\r\nexport * from './lib/services/pli-cnf-valpro-keys.service';\r\nexport * from './lib/services/pli-cnf-workspace-segmentation.service';\r\nexport * from './lib/services/pli-cnf-migration-plis-field-budget.service';\r\nexport * from './lib/services/pli-multiple-value-filter.service';\r\nexport * from './lib/services/pli-promocion-username.service';\r\nexport * from './lib/services/pli-seg-action-user.service';\r\nexport * from './lib/services/pli-segmentation.service';\r\nexport * from './lib/services/pli-tag.service';\r\nexport * from './lib/services/pli-user.service';\r\nexport * from './lib/services/plis-beneficiario.service';\r\nexport * from './lib/services/ppp.service';\r\nexport * from './lib/services/profile.service';\r\nexport * from './lib/services/promotion-score.service';\r\nexport * from './lib/services/segmentation-user-service.service';\r\nexport * from './lib/services/segmentation.service';\r\nexport * from './lib/services/send-application.service';\r\nexport * from './lib/services/sesion-form.service';\r\nexport * from './lib/services/sesion.service';\r\nexport * from './lib/services/spinner.service';\r\nexport * from './lib/services/sponsorship-letter.service';\r\nexport * from './lib/services/status.service';\r\nexport * from './lib/services/survey.service';\r\nexport * from './lib/services/survey-metadata.service';\r\nexport * from './lib/services/survey-queue.service';\r\nexport * from './lib/services/tasa.cambio.service';\r\nexport * from './lib/services/token.service';\r\nexport * from './lib/services/token-transformation.service';\r\nexport * from './lib/services/user.service';\r\nexport * from './lib/services/registry-identifier.service';\r\nexport * from './lib/services/visualization-committee.service';\r\nexport * from './lib/services/pli-cnf-acuity-fields.service';\r\nexport * from './lib/services/pli-cnf-configuration-credit-study.service';\r\nexport * from './lib/services/pli-cnf-guarantee-documents-template.service';\r\nexport * from './lib/services/guarantee-document.service';\r\nexport * from './lib/services/pli-cnf-guarantee-token.service';\r\nexport * from './lib/services/integration-ado.service';\r\nexport * from './lib/services/guarantee-enrollment.service';\r\nexport * from './lib/services/pli-cnf-text-option.service';\r\nexport * from './lib/services/configuration-minisite.service';\r\nexport * from './lib/services/pli-tag-assignment.service';\r\nexport * from './lib/services/university.service';\r\nexport * from './lib/services/pli-cnf-university-article.service';\r\nexport * from './lib/services/pli-cnf-cloning.service';\r\nexport * from './lib/services/progress-bar.service';\r\nexport * from './lib/services/segmentation-tokens.service';\r\nexport * from './lib/services/pdf-analyzer.service';\r\nexport * from './lib/utils/custom-validator';\r\nexport * from './lib/utils/form-util';\r\nexport * from './lib/utils/formio-util';\r\nexport * from './lib/utils/version-commons';\r\nexport * from './lib/services/partner.service';\r\nexport * from './lib/services/partner-system.service';\r\nexport * from './lib/services/document-history.service';\r\nexport * from './lib/services/pli-cnf-support-document-category.service';\r\nexport * from './lib/services/pli-cnf-evaluation-task-mailing.service';\r\nexport * from './lib/components/configuration-token/configuration-token-subject.service';\r\nexport * from './lib/services/return-refund.service';\r\nexport * from './lib/services/interest-adjustment.service';\r\nexport * from './lib/services/import-excel-gic.service';\r\nexport * from './lib/services/gic-cnf-maintenance.service';\r\nexport * from './lib/services/gic-payment-plan-cube.service';\r\nexport * from './lib/services/maintenance.service';\r\nexport * from './lib/components/configuration-token/configuration-token-subject.service';\r\nexport * from './lib/services/gic-payment-plan.service';\r\nexport * from './lib/services/plis-estatus-change.service';\r\nexport * from './lib/services/pli-message-type.service';\r\nexport * from './lib/services/pli-cnf-mail.service';\r\nexport * from './lib/services/master-university.service';\r\nexport * from './lib/services/master-program.service';\r\nexport * from './lib/services/master-category.service';\r\nexport * from './lib/services/people-master.service';\r\nexport * from './lib/services/correspondence-manager.service';\r\nexport * from './lib/services/correspondence-document-category.service';\r\nexport * from './lib/services/cnf-correspondence-document-manager.service';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.HashService","i2.AuthenticationService","i2.TasaCambioService","i3.PppService","i4.StatusService","i5.ConfigurationService","i1.CommonService","i2.FormService","i3","i3.PliCnfSnapshotTokenServices","i3.PliCnfGuaranteeTokenService","i1","i2.CommonService","i4","i5.BudgetService","i6.TokenService","i7.PliCnfSnapshotTokenServices","i8.ConfigurationDocumentService","i9.PliCnfEvaluationTaskService","i10.PliCnfGuaranteeTokenService","i11.ConfigurationTokenSubjectService","i13","i14.SnapshotTokenComponent","i15.GuaranteeTokenComponent","i16","i17","i18","i19","i2","i2.ConfigurationDocumentService","i3.ConfigurationTokenComponent","i5","i6","PDFJS","i2.DataFormService","i3.ApplicationService","i4.PppService","i5.CommonService","i6.PliCnfLookAndFeelService","i7.PliCnfHeaderService","i8","i9.FormService","i10.PliCnfPdfsService","i11.TokenTransformationService","i12","i14","Panzoom","i4.FileService","panzoom_","i1.PppService","i2.TokenService","i4.AuthenticationService","PADDING","httpOptions","i1.TokenService","i2.EmailService","i3.InteractionApplicationUserService","i2.ProgressBarService","i1.SegmentationTokensService","i7","i4.TokensCalculatorComponent","i1.PdfAnalyzerService","i2.CommonInfoService","i1.FileService","i2.PppService"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAKa,mBAAmB,CAAA;AAE9B,IAAA,WAAA,GAAA,GAAiB;;gHAFN,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFlB,MAAM,EAAA,CAAA,CAAA;2FAEP,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;MCFY,QAAQ,CAAA;;IAEpB,OAAO,kBAAkB,CAAC,SAAoB,EAAA;AAC7C,QAAA,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;YACjD,IAAI,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,OAAO,YAAY,WAAW,EAAE;gBACnC,OAAO,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1C,aAAA;iBAAM,IAAI,OAAO,YAAY,SAAS,EAAE;AACxC,gBAAA,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACrC,aAAA;AACF,SAAC,CAAC,CAAC;KACH;;IAGD,OAAO,kBAAkB,CAAC,SAAoB,EAAA;QAC7C,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,QAAA,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;AACpC,QAAA,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;AAC5B,YAAA,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE;AAC3B,gBAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnB,aAAA;AACD,SAAA;AACD,QAAA,OAAO,OAAO,CAAC;KACf;;IAGD,OAAO,SAAS,CAAC,WAAwB,EAAA;AACxC,QAAA,OAAO,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;KACvF;;AAGD,IAAA,OAAO,QAAQ,CAAC,WAAwB,EAAE,KAAa,EAAA;AACtD,QAAA,OAAO,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KACpE;AACD;;MC5BY,iBAAiB,CAAA;IAC7B,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;;AAG1F,IAAA,2BAA2B,CAAC,IAAY,EAAA;AACvC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,wCAAwC,EAC7E,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAC9C,CAAC;KACF;AAED,IAAA,6CAA6C,CAC5C,IAAY,EACZ,SAAiB,EACjB,UAAkB,EAAA;AAElB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI;AACjC,YAAA,0DAA0D,EAC3D;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC;AACjB,iBAAA,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC;AAC3B,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC;AAC/B,SAAA,CACD,CAAC;KACF;;AA1BW,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,kBACT,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,iBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFjB,MAAM,EAAA,CAAA,CAAA;2FAEN,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCSrB,UAAU,CAAA;IAYtB,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAXnF,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;;QAMlF,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAAS,SAAS,CAAC,CAAC;;QAGpD,IAAA,CAAA,cAAc,GAAG,IAAI,eAAe,CAAa,SAAS,CAAC,CAAC;KAE2B;;IAG/F,WAAW,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;KACtC;;AAGD,IAAA,MAAM,CAAC,GAAW,EAAA;AACjB,QAAA,IAAI,GAAG,EAAE;AACR,YAAA,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AAC5B,gBAAA,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AAC7B,oBAAA,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;AACpB,iBAAA;AAAM,qBAAA;oBACN,GAAG,GAAG,CAAC,CAAC;AACR,iBAAA;AACD,aAAA;AAAM,iBAAA,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;gBACnC,GAAG,GAAG,CAAC,CAAC;AACR,aAAA;AACD,SAAA;AACD,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC1B;;IAGD,mBAAmB,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,4BAA4B,CACjE,CAAC;KACF;;AAGD,IAAA,mBAAmB,CAAC,EAAU,EAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,6BAA6B,EAClE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,CAC5D,CAAC;KACF;;IAGD,gBAAgB,CAAC,eAAgC,EAAE,YAA6B,EAAA;;AAE/E,QAAA,IAAI,MAAM,GAAG;AACZ,YAAA,qBAAqB,EAAE,eAAe;AACtC,YAAA,eAAe,EAAE,YAAY;YAC7B,UAAU,EAAE,EAAE,QAAQ,EAAE,kBAAkB,CAAC,WAAW,EAAE,EAAE;SAC1D,CAAC;QACF,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,0BAA0B,EAC/D,MAAM,EACN,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;IAGD,uBAAuB,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,iCAAiC,CACtE,CAAC;KACF;;IAGD,mBAAmB,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,6BAA6B,CAClE,CAAC;KACF;;IAGD,SAAS,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,aAAa,CAAC,CAAC;KAC/E;;AAGD,IAAA,2BAA2B,CAAC,SAAiB,EAAA;AAC5C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,sCAAsC,EAC3E,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,EAAE,CACnE,CAAC;KACF;;AAGD,IAAA,eAAe,CAAC,EAAU,EAAA;AACzB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,yBAAyB,EAAE;AAC1F,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;AACzD,SAAA,CAAC,CAAC;KACH;;IAGD,YAAY,CAAC,WAAwB,EAAE,QAAqB,EAAA;AAC3D,QAAA,IAAI,MAAM,GAAG;AACZ,YAAA,iBAAiB,EAAE,WAAW;AAC9B,YAAA,WAAW,EAAE,QAAQ;YACrB,UAAU,EAAE,EAAE,QAAQ,EAAE,kBAAkB,CAAC,WAAW,EAAE,EAAE;SAC1D,CAAC;QACF,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,sBAAsB,EAC3D,MAAM,EACN,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,8BAA8B,CAAC,UAAkB,EAAA;AAChD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,mCAAmC,EACxE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrE,CAAC;KACF;;AAGD,IAAA,6BAA6B,CAAC,SAAiB,EAAA;AAC9C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,uCAAuC,EAC5E,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,EAAE,CACnE,CAAC;KACF;;AAGD,IAAA,iDAAiD,CAAC,SAAiB,EAAA;AAClE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI;AACjC,YAAA,yDAAyD,EAC1D,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,EAAE,CACnE,CAAC;KACF;;AAGD,IAAA,gBAAgB,CAAC,EAAU,EAAA;AAC1B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,0BAA0B,EAC/D,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,CAC7D,CAAC;KACF;;IAGD,aAAa,CAAC,YAA0B,EAAE,SAAuB,EAAA;AAChE,QAAA,IAAI,MAAM,GAAG;AACZ,YAAA,kBAAkB,EAAE,YAAY;AAChC,YAAA,YAAY,EAAE,SAAS;YACvB,UAAU,EAAE,EAAE,QAAQ,EAAE,kBAAkB,CAAC,WAAW,EAAE,EAAE;SAC1D,CAAC;QACF,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,uBAAuB,EAC5D,MAAM,EACN,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;IAGD,2BAA2B,CAAC,SAAiB,EAAE,YAAqB,EAAA;AACnE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,2CAA2C,EAChF;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;AACtC,iBAAA,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC;AAC9C,SAAA,CACD,CAAC;KACF;;IAGD,oBAAoB,CAAC,EAAU,EAAE,YAAqB,EAAA;AACrD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,8BAA8B,EACnE;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;AAChC,iBAAA,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC;AAC9C,SAAA,CACD,CAAC;KACF;;IAGD,iBAAiB,CAAC,gBAAqC,EAAE,aAAkC,EAAA;AAC1F,QAAA,IAAI,MAAM,GAAG;AACZ,YAAA,yBAAyB,EAAE,gBAAgB;AAC3C,YAAA,mBAAmB,EAAE,aAAa;YAClC,UAAU,EAAE,EAAE,QAAQ,EAAE,kBAAkB,CAAC,WAAW,EAAE,EAAE;SAC1D,CAAC;QACF,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,2BAA2B,EAChE,MAAM,EACN,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;IAGD,+BAA+B,CAAC,UAAkB,EAAE,eAA8B,EAAA;AACjF,QAAA,IAAI,MAAM,GAAG;AACZ,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,eAAe,EAAE,eAAe;SAChC,CAAC;QACF,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,6CAA6C,EAClF,MAAM,EACN,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;IAGD,UAAU,GAAA;QACT,UAAU,CAAC,MAAK;YACf,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB,EAAE,GAAG,CAAC,CAAC;AACR,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;KAC1C;;AAGD,IAAA,qBAAqB,CAAC,SAAiB,EAAA;QACtC,IAAI,CAAC,SAAS,EAAE;YACf,SAAS,GAAG,CAAC,CAAC;AACd,SAAA;AACD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,0CAA0C,EAC/E,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,EAAE,CACnE,CAAC;KACF;;IAGD,MAAM,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,yBAAyB,CAAC,CAAC;KAC3F;;IAGD,uBAAuB,GAAA;QACtB,IAAI,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAC1D,QAAA,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE;YAChC,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACvC,YAAA,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE;AACnB,gBAAA,IAAI,gBAAgB,GAAG,KAAK,EAAmB,CAAC;AAChD,gBAAA,KAAK,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE;AACxB,oBAAA,IAAI,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;AACnC,oBAAA,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;AACjC,oBAAA,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;AACjC,oBAAA,MAAM,CAAC,cAAc,GAAG,GAAG,CAAC,cAAc,CAAC;oBAC3C,IAAI,GAAG,CAAC,gBAAgB,IAAI,GAAG,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;AAC5D,wBAAA,MAAM,CAAC,YAAY,GAAG,KAAK,EAAe,CAAC;AAC3C,wBAAA,KAAK,IAAI,IAAI,IAAI,GAAG,CAAC,gBAAgB,EAAE;AACtC,4BAAA,IAAI,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AAChC,4BAAA,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AACrC,4BAAA,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AACrC,4BAAA,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;4BAC/C,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;AAChE,gCAAA,OAAO,CAAC,aAAa,GAAG,KAAK,EAAgB,CAAC;AAC9C,gCAAA,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,iBAAiB,EAAE;AACxC,oCAAA,IAAI,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;AACjC,oCAAA,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AACrC,oCAAA,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AACrC,oCAAA,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;AAC/C,oCAAA,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;AACnD,oCAAA,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACpC,iCAAA;AACD,6BAAA;AACD,4BAAA,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAClC,yBAAA;AACD,qBAAA;AACD,oBAAA,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC9B,iBAAA;AACD,gBAAA,OAAO,gBAAgB,CAAC;AACxB,aAAA;AACD,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACZ;IAED,iBAAiB,GAAA;QAChB,IAAI,YAAY,GAAmB,EAAE,CAAC;QACtC,IAAI,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAC1D,QAAA,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE;YAChC,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACvC,YAAA,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE;AACnB,gBAAA,KAAK,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE;AACxB,oBAAA,IAAI,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;AACnC,oBAAA,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;AACjC,oBAAA,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;AACjC,oBAAA,MAAM,CAAC,cAAc,GAAG,GAAG,CAAC,cAAc,CAAC;oBAC3C,IAAI,GAAG,CAAC,gBAAgB,IAAI,GAAG,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;AAC5D,wBAAA,MAAM,CAAC,YAAY,GAAG,KAAK,EAAe,CAAC;AAC3C,wBAAA,KAAK,IAAI,IAAI,IAAI,GAAG,CAAC,gBAAgB,EAAE;AACtC,4BAAA,IAAI,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AAChC,4BAAA,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AACrC,4BAAA,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AACrC,4BAAA,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;4BAC/C,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;AAChE,gCAAA,OAAO,CAAC,aAAa,GAAG,KAAK,EAAgB,CAAC;AAC9C,gCAAA,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,iBAAiB,EAAE;AACxC,oCAAA,IAAI,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;AACjC,oCAAA,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AACrC,oCAAA,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AACrC,oCAAA,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;AAC/C,oCAAA,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;AACnD,oCAAA,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC3B,iCAAA;AACD,6BAAA;AACD,yBAAA;AACD,qBAAA;AACD,iBAAA;AACD,gBAAA,OAAO,YAAY,CAAC;AACpB,aAAA;AACD,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACZ;;AAGD,IAAA,wBAAwB,CAAC,UAAU,EAAA;QAClC,IAAI,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAC1D,QAAA,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE;YAChC,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACvC,YAAA,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG;AACjB,gBAAA,KAAK,MAAM,YAAY,IAAI,GAAG,CAAC,GAAG;AACjC,oBAAA,KAAK,MAAM,QAAQ,IAAI,YAAY,CAAC,gBAAgB;AACnD,wBAAA,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,iBAAiB;AACjD,4BAAA,IAAI,SAAS,CAAC,UAAU,IAAI,UAAU;gCAAE,OAAO,YAAY,CAAC,SAAS,CAAC;AAC1E,YAAA,OAAO,SAAS,CAAC;AACjB,SAAA;KACD;;AAGD,IAAA,yBAAyB,CAAC,UAAU,EAAA;QACnC,IAAI,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAC1D,QAAA,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE;YAChC,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACvC,YAAA,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG;AACjB,gBAAA,KAAK,MAAM,YAAY,IAAI,GAAG,CAAC,GAAG;AACjC,oBAAA,KAAK,MAAM,QAAQ,IAAI,YAAY,CAAC,gBAAgB;AACnD,wBAAA,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,iBAAiB;AACjD,4BAAA,IAAI,SAAS,CAAC,UAAU,IAAI,UAAU;gCAAE,OAAO,QAAQ,CAAC,UAAU,CAAC;AACvE,YAAA,OAAO,SAAS,CAAC;AACjB,SAAA;KACD;;IAEO,QAAQ,GAAA;;QAEf,IAAI,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAC1D,QAAA,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE;YAChC,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACvC,YAAA,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG;gBAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACtD,SAAA;AAAM,aAAA;;AAEN,YAAA,IAAI,WAAW,GAAG,kBAAkB,CAAC,cAAc,EAAE,CAAC;AACtD,YAAA,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC1C,IAAI,aAAa,GAAG,EAAE,CAAC;gBACvB,KAAK,MAAM,SAAS,IAAI,WAAW;AAAE,oBAAA,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AAE7E,gBAAA,IAAI,aAAa;AAChB,oBAAA,IAAI,CAAC,UAAU;yBACb,GAAG,CACH,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI;AACjC,wBAAA,gDAAgD,EACjD,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,EAAE,CACxE;AACA,yBAAA,SAAS,CACT,CAAC,MAAW,KAAI;AACf,wBAAA,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE;4BAC9B,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;4BAC5D,IAAI,CAAC,QAAQ,EAAE,CAAC;AAChB,yBAAA;AAAM,6BAAA;AACN,4BAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC7B,yBAAA;AACF,qBAAC,EACD,CAAC,KAAK,KAAI;AACT,wBAAA,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;AAC7C,wBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC9B,qBAAC,CACD,CAAC;AACJ,aAAA;AACD,SAAA;KACD;;IAGD,mBAAmB,GAAA;QAClB,IAAI,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,gBAAgB,GAAsB,EAAE,CAAC;AAC/C,QAAA,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE;YAChC,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACvC,YAAA,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG;AACjB,gBAAA,KAAK,MAAM,YAAY,IAAI,GAAG,CAAC,GAAG,EAAE;AACnC,oBAAA,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;oBAC9C,MAAM,YAAY,GAAkB,EAAE,CAAC;AACvC,oBAAA,KAAK,MAAM,QAAQ,IAAI,YAAY,CAAC,gBAAgB,EAAE;AACrD,wBAAA,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AACtC,wBAAA,WAAW,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;AAC7C,wBAAA,WAAW,CAAC,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;AACvD,wBAAA,WAAW,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;wBAC7C,MAAM,aAAa,GAAmB,EAAE,CAAC;AACzC,wBAAA,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,iBAAiB,EAAE;AACnD,4BAAA,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;AACxC,4BAAA,YAAY,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;AAC/C,4BAAA,YAAY,CAAC,eAAe,GAAG,SAAS,CAAC,eAAe,CAAC;AACzD,4BAAA,YAAY,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;AAC/C,4BAAA,YAAY,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;AAC3C,4BAAA,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACjC,yBAAA;AACD,wBAAA,WAAW,CAAC,aAAa,GAAG,aAAa,CAAC;AAC1C,wBAAA,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC/B,qBAAA;AACD,oBAAA,eAAe,CAAC,YAAY,GAAG,YAAY,CAAC;AAC5C,oBAAA,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AACvC,iBAAA;AACF,SAAA;AACD,QAAA,OAAO,gBAAgB,CAAC;KACxB;AAED,IAAA,WAAW,CAAC,UAAsB,EAAA;QAEjC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,aAAa,EAC3D,UAAU,EACV,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,kBAAkB,CAAC,UAAkB,EAAA;AACpC,QAAA,IAAI,MAAM,GAAG;AACZ,YAAA,UAAU,EAAE,UAAU;SACtB,CAAC;QACF,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,qCAAqC,EAC1E,MAAM,EACN,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AA7aD;AACO,UAAS,CAAA,SAAA,GAAG,UAAU,CAAC;AAJlB,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAU,kBAYF,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAZrB,UAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAU,cAFV,MAAM,EAAA,CAAA,CAAA;2FAEN,UAAU,EAAA,UAAA,EAAA,CAAA;kBAHtB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAaa,MAAM;+BAAC,aAAa,CAAA;;;;MCvBrB,WAAW,CAAA;IAEtB,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;AAE/F;;;;;;AAMG;AACJ,IAAA,OAAO,CAAC,cAAsB,EAAE,YAAoB,EAAE,kBAA2B,EAAA;AAC9E,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE;AAC5B,aAAA,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC;AACrC,aAAA,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC;AACjC,aAAA,GAAG,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAA,IAAA,CAAM,EACpD,EAAE,MAAM,EAAE,CACV,CAAC;KACF;;AApBW,WAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,kBAEF,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAFtB,WAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cAFV,MAAM,EAAA,CAAA,CAAA;2FAEP,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;8BAGc,MAAM;+BAAC,aAAa,CAAA;;;;MCAtB,qBAAqB,CAAA;AAIjC,IAAA,WAAA,CACgC,WAAgB,EACvC,UAAsB,EACtB,WAAwB,EAAA;AAFD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AACvC,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AACtB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;;QALzB,IAAc,CAAA,cAAA,GAAG,IAAI,eAAe,CAAU,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC;KAKhD;AAErC;;;AAGG;AACH,IAAA,KAAK,CAAC,IAAS,EAAA;QACd,YAAY,CAAC,KAAK,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,4BAA4B,EAC1E,IAAI,EACJ,WAAW,CACX,CAAC;KACF;AAED;;;;;;AAMG;AAEH,IAAA,cAAc,CAAC,IAAS,EAAA;QACvB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,mBAAmB,EACjE,IAAI,EACJ,WAAW,CACX,CAAC;KACF;;AAGD,IAAA,eAAe,CAAC,KAAa,EAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,kBAAkB,EAAE;YACnF,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC;AAC5C,SAAA,CAAC,CAAC;KACH;AAED;;AAEG;AACH,IAAA,MAAM,CAAC,WAAoB,EAAA;QAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,WAAW,GAAG,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;KACxF;AAED;;;AAGG;AACH,IAAA,QAAQ,CAAC,aAAqB,EAAA;AAC7B,QAAA,kBAAkB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AAC3C,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC/B;;IAGD,WAAW,GAAA;QACV,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC,CAAC;KAC3D;AAED;;AAEG;IACK,YAAY,GAAA;QACnB,YAAY,CAAC,KAAK,EAAE,CAAC;AACrB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAChC;AAED;;AAEG;IACH,eAAe,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;KAC1C;AAEO,IAAA,OAAO,CACd,cAAsB,EACtB,YAAoB,EACpB,kBAA0B,EAAA;QAE1B,MAAM,YAAY,GAAG,4BAA4B,CAAC;QAClD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACtC,YAAA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,cAAc,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAC,SAAS,CACnF,CAAC,QAAQ,KAAI;AACZ,gBAAA,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE;AAC9B,oBAAA,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACvB,iBAAA;AAAM,qBAAA;oBACN,MAAM,CAAC,YAAY,CAAC,CAAC;AACrB,iBAAA;aACD,EACD,CAAC,KAAK,KAAK,MAAM,CAAC,YAAY,CAAC,CAC/B,CAAC;AACH,SAAC,CAAC,CAAC;KACH;AAEK,IAAA,OAAO,CAAC,SAAiB,EAAA;;;YAE9B,IAAI,aAAa,GAAG,EAAE,CAAC;AACvB,YAAA,IAAI,YAAY,GAAG,kCAAkC,GAAG,SAAS,CAAC;AAClE,YAAA,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,YAAY,CAAC,CAAC;YACpF,IAAI;AACH,gBAAA,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC;AAC9B,aAAA;YAAC,OAAO,KAAK,EAAE,GAAE;AAClB,YAAA,OAAO,aAAa,CAAC;SACrB,CAAA,CAAA;AAAA,KAAA;AAEK,IAAA,WAAW,CAAC,UAAkB,EAAA;;;YAEnC,IAAI,aAAa,GAAG,EAAE,CAAC;AACvB,YAAA,IAAI,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,KAAK,CAAC;AAC7C,YAAA,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;YACjF,IAAI;AACH,gBAAA,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC;AAC9B,aAAA;YAAC,OAAO,KAAK,EAAE,GAAE;AAClB,YAAA,OAAO,aAAa,CAAC;SACrB,CAAA,CAAA;AAAA,KAAA;AAEK,IAAA,UAAU,CAAC,SAAiB,EAAA;;YACjC,IAAI,SAAS,GAAG,EAAE,CAAC;AACnB,YAAA,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC/D,MAAM,cAAc,GAAG,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YACnE,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC/D,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC;YAC9D,IAAI;AACH,gBAAA,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;gBACvE,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACxC,gBAAA,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC;AAC1B,aAAA;YAAC,OAAO,KAAK,EAAE,GAAE;AAClB,YAAA,OAAO,SAAS,CAAC;SACjB,CAAA,CAAA;AAAA,KAAA;;AAxIW,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,kBAKxB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AALV,qBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cAFrB,MAAM,EAAA,CAAA,CAAA;2FAEN,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAME,MAAM;+BAAC,aAAa,CAAA;;;;MCLV,aAAa,CAAA;AAGzB,IAAA,WAAA,CACgC,WAAgB,EACvC,UAAsB,EACtB,WAAkC,EAAA;AAFX,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AACvC,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AACtB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAuB;AALnC,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAMtF;;AAGJ,IAAA,OAAO,CAAC,QAAgB,EAAA;AACvB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,sBAAsB,EACpE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,CACjE,CAAC;KACF;;AAGD,IAAA,gBAAgB,CAAC,QAAgB,EAAA;AAChC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,+BAA+B,EAC7E,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,CACnE,CAAC;KACF;;IAGD,uBAAuB,CAAC,QAAgB,EAAE,IAAY,EAAA;AACrD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,sCAAsC,EACpF,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CACrF,CAAC;KACF;IAED,iCAAiC,CAChC,QAAgB,EAChB,mBAA2B,EAAA;AAE3B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,gDAAgD,EACjD;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AACtC,iBAAA,GAAG,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,QAAQ,EAAE,CAAC;AAC5D,SAAA,CACD,CAAC;KACF;;AAGD,IAAA,0BAA0B,CAAC,QAAgB,EAAA;AAC1C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,yCAAyC,EACvF,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,CACnE,CAAC;KACF;AAED,IAAA,IAAI,CAAC,SAAuB,EAAA;QAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,mBAAmB,EACjE,SAAS,EACT,WAAW,CACX,CAAC;KACF;IAED,mCAAmC,CAAC,UAAkB,EAAE,MAAc,EAAA;AACrE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,kDAAkD,EACnD;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACxC,iBAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAClC,SAAA,CACD,CAAC;KACF;IAED,kCAAkC,CAAC,UAAkB,EAAE,UAAkB,EAAA;AACxE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,iDAAiD,EAClD;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACxC,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AAC1C,SAAA,CACD,CAAC;KACF;AAED,IAAA,4CAA4C,CAC3C,aAAsB,EACtB,UAAkB,EAClB,UAAkB,EAAA;AAElB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,2DAA2D,EAC5D;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC;AAC9C,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACxC,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AAC1C,SAAA,CACD,CAAC;KACF;IAED,6BAA6B,CAAC,UAAkB,EAAE,WAAoB,EAAA;AACrE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,4CAA4C,EAC7C;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACxC,iBAAA,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC;AAC5C,SAAA,CACD,CAAC;KACF;IAED,mCAAmC,CAAC,UAAkB,EAAE,mBAA2B,EAAA;AAClF,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,kDAAkD,EACnD;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC;AAC7B,iBAAA,GAAG,CAAC,qBAAqB,EAAE,mBAAmB,CAAC;AACjD,SAAA,CACD,CAAC;KACF;AAED,IAAA,yBAAyB,CAAC,OAAuB,EAAA;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,wCAAwC,EACtF,OAAO,CACP,CAAC;KACF;AAED,IAAA,iCAAiC,CAAC,aAA6B,EAAA;QAC9D,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,gDAAgD,EAC9F,aAAa,EACb,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AA9IW,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,kBAIhB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,qBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAJV,aAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFb,MAAM,EAAA,CAAA,CAAA;2FAEN,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAKE,MAAM;+BAAC,aAAa,CAAA;;;;MCLV,oBAAoB,CAAA;IAChC,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;;IAG/F,aAAa,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,6BAA6B,CAC3E,CAAC;KACF;;IAGD,OAAO,CAAC,OAAe,SAAS,EAAA;AAC/B,QAAA,IAAI,GAAG,IAAI,KAAK,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC;;QAExC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,uBAAuB,EACrE,IAAI,EACJ,WAAW,CACX,CAAC;;;;;;;;;;;KAWF;IAED,YAAY,CAAC,GAAG,EAAE,IAAI,EAAA;AACrB,QAAA,IAAI,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AAChC,QAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AACzC,QAAA,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,GAAG,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC;AACxE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,4BAA4B,EAC1E;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC;AAC1D,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,YAAY,EAAE,MAAM;AACpB,SAAA,CACD,CAAC;KACF;;AA3CW,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,kBACZ,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,oBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cAFpB,MAAM,EAAA,CAAA,CAAA;2FAEN,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCarB,aAAa,CAAA;IAuBzB,WACgC,CAAA,WAAgB,EACvC,UAAsB,EACtB,iBAAoC,EACpC,UAAsB,EACtB,aAA4B,EAC5B,oBAA0C,EAAA;AALnB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AACvC,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AACtB,QAAA,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;AACpC,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AACtB,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAC5B,QAAA,IAAoB,CAAA,oBAAA,GAApB,oBAAoB,CAAsB;AA5B3C,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;;QAE1F,IAAA,CAAA,eAAe,GAAG,IAAI,eAAe,CAAW,SAAS,CAAC,CAAC;;QAI3D,IAAA,CAAA,eAAe,GAAG,IAAI,eAAe,CAAU,SAAS,CAAC,CAAC;;QAI1D,IAAA,CAAA,mBAAmB,GAAG,IAAI,eAAe,CAAe,SAAS,CAAC,CAAC;;QAInE,IAAA,CAAA,eAAe,GAAG,IAAI,eAAe,CAAW,SAAS,CAAC,CAAC;;QAI3D,IAAA,CAAA,cAAc,GAAG,IAAI,eAAe,CAAY,SAAS,CAAC,CAAC;QAY1D,IAAI,CAAC,UAAU,EAAE,CAAC;KAClB;;IAGD,iBAAiB,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;KAC3C;;IAGD,iBAAiB,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;KAC3C;;IAGD,iBAAiB,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;KAC3C;;IAGD,qBAAqB,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,CAAC;KAC/C;;IAGD,gBAAgB,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;KAC1C;AAED;;;AAGG;IACH,UAAU,GAAA;QACT,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,cAAc,EAAE,CAAC;KACtB;AAED;;AAEG;IACH,YAAY,GAAA;AACX,QAAA,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AACrC,QAAA,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AACrC,QAAA,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;AACzC,QAAA,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AACrC,QAAA,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;KACpC;;IAGD,YAAY,GAAA;AACX,QAAA,IAAI,CAAC,UAAU;AACb,aAAA,GAAG,CAAW,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,eAAe,CAAC;AACnE,aAAA,SAAS,CACT,CAAC,SAAmB,KAAI;AACvB,YAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;AAC9B,SAAC,EACD,CAAC,KAAK,KAAI;AACT,YAAA,OAAO,CAAC,KAAK,CAAC,mDAAmD,EAAE,KAAK,CAAC,CAAC;AAC3E,SAAC,CACD,CAAC;KACH;;IAGD,aAAa,GAAA;AACZ,QAAA,IAAI,CAAC,UAAU;AACb,aAAA,GAAG,CAAW,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,eAAe,CAAC;AACnE,aAAA,SAAS,CACT,CAAC,SAAmB,KAAI;AACvB,YAAA,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AAChC,SAAC,EACD,CAAC,KAAK,KAAI;AACT,YAAA,OAAO,CAAC,KAAK,CAAC,mDAAmD,EAAE,KAAK,CAAC,CAAC;AAC3E,SAAC,CACD,CAAC;KACH;;IAGD,aAAa,GAAA;AACZ,QAAA,IAAI,CAAC,UAAU;AACb,aAAA,GAAG,CAAU,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,cAAc,EAAE;YAClE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC;SACpD,CAAC;AACD,aAAA,SAAS,CACT,CAAC,SAAkB,KAAI;AACtB,YAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;AAC9B,SAAC,EACD,CAAC,KAAK,KAAI;AACT,YAAA,OAAO,CAAC,KAAK,CAAC,+CAA+C,EAAE,KAAK,CAAC,CAAC;AACvE,SAAC,CACD,CAAC;KACH;;AAGD,IAAA,eAAe,CAAC,IAAY,EAAA;AAC3B,QAAA,IAAI,CAAC,iBAAiB,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,SAAS,CACjE,CAAC,aAA2B,KAAI;AAC/B,YAAA,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;AACtC,SAAC,EACD,CAAC,KAAK,KAAI;AACT,YAAA,OAAO,CAAC,KAAK,CAAC,iDAAiD,EAAE,KAAK,CAAC,CAAC;AACzE,SAAC,CACD,CAAC;KACF;;IAGD,UAAU,GAAA;AACT,QAAA,IAAI,CAAC,UAAU;AACb,aAAA,GAAG,CAAY,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,uBAAuB,CAAC;AAC5E,aAAA,SAAS,CACT,CAAC,QAAmB,KAAI;AACvB,YAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AAC5B,SAAC,EACD,CAAC,KAAK,KAAI;AACT,YAAA,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,KAAK,CAAC,CAAC;AACpE,SAAC,CACD,CAAC;KACH;AAED,IAAA,cAAc,CAAC,SAAmB,EAAA;AACjC,QAAA,KAAK,IAAI,GAAG,IAAI,SAAS,EAAE;AAC1B,YAAA,IAAI,QAAQ,GAAW,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AACnE,YAAA,SAAS,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;AAC1B,SAAA;AACD,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;AAC5C,QAAA,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;AAClE,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KAC1C;AAED,IAAA,YAAY,CAAC,SAAkB,EAAA;AAC9B,QAAA,KAAK,IAAI,GAAG,IAAI,SAAS,EAAE;AAC1B,YAAA,IAAI,QAAQ,GAAU,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AACjE,YAAA,SAAS,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;AAC1B,SAAA;AACD,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;AAC5C,QAAA,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;AAClE,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KAC1C;AAED,IAAA,YAAY,CAAC,SAAmB,EAAA;AAC/B,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,cAAc,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;AAC9E,QAAA,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;AAClE,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KAC1C;AAED,IAAA,gBAAgB,CAAC,aAA2B,EAAA;AAC3C,QAAA,KAAK,IAAI,GAAG,IAAI,aAAa,EAAE;AAC9B,YAAA,IAAI,YAAY,GAAe,MAAM,CAAC,MAAM,CAAC,IAAI,UAAU,EAAE,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;AACnF,YAAA,aAAa,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;AAClC,SAAA;AACD,QAAA,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;AACnC,QAAA,IAAI,kBAAkB,GAAG,IAAI,CAAC,aAAa;AAC1C,cAAE,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;AAC5B,cAAE,IAAI,CAAC,aAAa,CAAC;AACtB,QAAA,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAC1E,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;KAClD;AAED,IAAA,WAAW,CAAC,QAAmB,EAAA;AAC9B,QAAA,KAAK,IAAI,GAAG,IAAI,QAAQ,EAAE;AACzB,YAAA,IAAI,OAAO,GAAY,MAAM,CAAC,MAAM,CAAC,IAAI,OAAO,EAAE,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AACnE,YAAA,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;AACxB,SAAA;AACD,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,aAAa,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;AAC1E,QAAA,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;AAChE,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KACxC;IAED,eAAe,GAAA;QACd,IAAI,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AAClD,QAAA,IAAI,CAAC,SAAS,IAAI,SAAS,KAAK,WAAW,EAAE;YAC5C,IAAI,CAAC,aAAa,EAAE,CAAC;AACrB,SAAA;AAAM,aAAA;YACN,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;AAC3C,SAAA;KACD;IAED,eAAe,GAAA;QACd,IAAI,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AAClD,QAAA,IAAI,CAAC,SAAS,IAAI,SAAS,KAAK,WAAW,EAAE;YAC5C,IAAI,CAAC,YAAY,EAAE,CAAC;AACpB,SAAA;AAAM,aAAA;YACN,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;AACzC,SAAA;KACD;IAED,eAAe,GAAA;QACd,IAAI,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AAClD,QAAA,IAAI,CAAC,SAAS,IAAI,SAAS,KAAK,WAAW,EAAE;YAC5C,IAAI,CAAC,aAAa,EAAE,CAAC;AACrB,SAAA;AAAM,aAAA;YACN,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;AACzC,SAAA;KACD;IAED,mBAAmB,GAAA;QAClB,IAAI,QAAQ,GAAY,KAAK,CAAC;AAC9B,QAAA,IAAI,UAAU,GAAG,QAAQ,CAAC,iBAAiB,EAAE,CAAC;;QAE9C,IAAI,mBAAmB,GAAW,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACxE,IAAI,aAAa,GAAiB,EAAE,CAAC;AACrC,QAAA,IACC,mBAAmB;AACnB,YAAA,mBAAmB,IAAI,WAAW;AAClC,YAAA,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAC7B;AACD,YAAA,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;AAChD,YAAA,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;AAC9C,gBAAA,IAAI,KAAK,GAAW,QAAQ,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAC/E,gBAAA,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE;oBAC3D,QAAQ,GAAG,IAAI,CAAC;AAChB,iBAAA;AACD,aAAA;AACD,SAAA;AAAM,aAAA;YACN,QAAQ,GAAG,IAAI,CAAC;AAChB,SAAA;QACD,IAAI,QAAQ,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE;AAC5D,YAAA,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,WAAW,CAAC,CAAC;AACpE,SAAA;AAAM,aAAA;AACN,YAAA,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;AACrC,SAAA;KACD;IAED,cAAc,GAAA;QACb,IAAI,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAChD,QAAA,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,WAAW,EAAE;YAC1C,IAAI,CAAC,UAAU,EAAE,CAAC;AAClB,SAAA;AAAM,aAAA;YACN,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvC,SAAA;KACD;AAED;;;AAGG;AACH,IAAA,YAAY,CAAC,UAAsB,EAAA;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,kBAAkB,EAC7D,UAAU,EACV,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED;;;AAGG;AACH,IAAA,gBAAgB,CAAC,WAAyB,EAAA;QACzC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,sBAAsB,EACjE,WAAW,EACX,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED;;;AAGG;AACH,IAAA,iBAAiB,CAAC,OAAe,EAAA;QAChC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,uBAAuB,EAClE,OAAO,EACP,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED;;;AAGG;AACH,IAAA,mBAAmB,CAAC,OAAe,EAAA;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,yBAAyB,EACpE,OAAO,EACP,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;IAGD,aAAa,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,6BAA6B,CAC3E,CAAC;KACF;;AAGD,IAAA,+BAA+B,CAC9B,UAAkB,EAClB,UAAkB,EAClB,aAAsB,EAAA;AAEtB,QAAA,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE;AAC3B,aAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;aACxC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3C,IAAI,aAAa,IAAI,SAAS,EAAE;YAC/B,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;AACtD,SAAA;AACD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,+CAA+C,EAChD;YACC,MAAM;AACN,SAAA,CACD,CAAC;KACF;;AAvVW,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,kBAwBhB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAxBV,aAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFb,MAAM,EAAA,CAAA,CAAA;2FAEN,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAyBE,MAAM;+BAAC,aAAa,CAAA;;;;MCzBD,oBAAoB,CAAA;IAmCzC,WAAsB,CAAA,aAA4B,EAAY,KAAwB,EAAA;AAAhE,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAAY,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAmB;KAAI;IAE1F,QAAQ,GAAA;QACP,IAAI,CAAC,cAAc,EAAE,CAAC;AACtB,QAAA,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;KACnC;;AAGO,IAAA,iBAAiB,CAAC,QAAgB,EAAA;QACzC,OAAO,QAAQ,CAAC,YAAY,GAAG,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC;KACxD;AAED;;AAEG;IACH,cAAc,GAAA;;QAEb,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC,SAAS,CAAC,CAAC,SAAmB,KAAI;AACxE,YAAA,IAAI,SAAS,EAAE;AACd,gBAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AAC3B,gBAAA,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;AACtB,gBAAA,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE;oBAC/B,IAAI,QAAQ,GAAW,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AAC3C,oBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;AACrB,wBAAA,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC;AACvC,wBAAA,KAAK,EAAE,QAAQ;AACf,qBAAA,CAAC,CAAC;AACH,iBAAA;AACD,aAAA;AACF,SAAC,CAAC,CAAC;;QAEH,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC,SAAS,CAAC,CAAC,SAAkB,KAAI;AACvE,YAAA,IAAI,SAAS,EAAE;AACd,gBAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AAC3B,gBAAA,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;AACtB,gBAAA,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE;oBAC/B,IAAI,QAAQ,GAAU,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AAC1C,oBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;wBACrB,KAAK,EAAE,QAAQ,CAAC,QAAQ;AACxB,wBAAA,KAAK,EAAE,QAAQ;AACf,qBAAA,CAAC,CAAC;AACH,iBAAA;AACD,aAAA;AACF,SAAC,CAAC,CAAC;;QAEH,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC,SAAS,CAAC,CAAC,SAAmB,KAAI;AACxE,YAAA,IAAI,SAAS,EAAE;AACd,gBAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AAC3B,aAAA;AACF,SAAC,CAAC,CAAC;;QAGH,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,SAAS,CAAC,CAAC,aAA2B,KAAI;AACpF,YAAA,IAAI,aAAa,EAAE;AAClB,gBAAA,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;gBACnC,IAAI,CAAC,qBAAqB,EAAE,CAAC;AAC7B,aAAA;AACF,SAAC,CAAC,CAAC;;QAGH,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAAC,CAAC,QAAmB,KAAI;AACvE,YAAA,IAAI,QAAQ,EAAE;AACb,gBAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACzB,gBAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;AACrB,gBAAA,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE;oBAC9B,IAAI,OAAO,GAAY,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC1C,oBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACpB,KAAK,EAAE,OAAO,CAAC,SAAS;AACxB,wBAAA,KAAK,EAAE,OAAO;AACd,qBAAA,CAAC,CAAC;AACH,iBAAA;AACD,aAAA;AACF,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;KAChC;IAED,qBAAqB,GAAA;;QAEpB,IAAI,WAAW,GAAG,EAAE,CAAC;AACrB,QAAA,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,aAAa,EAAE;YACnC,IAAI,YAAY,GAAe,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YACvD,IAAI,UAAU,GAAG,EAAE,CAAC;YACpB,IAAI,WAAW,CAAC,YAAY,CAAC,YAAY,CAAC,YAAY,CAAC,KAAK,SAAS,EAAE;gBACtE,UAAU,GAAG,WAAW,CAAC,YAAY,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;AACjE,aAAA;YACD,UAAU,CAAC,YAAY,CAAC,aAAa,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC;YACnE,WAAW,CAAC,YAAY,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG,UAAU,CAAC;;;AAGjE,SAAA;AACD,QAAA,IAAI,WAAW,EAAE;AAChB,YAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;AAC3B,YAAA,KAAK,IAAI,GAAG,IAAI,WAAW,EAAE;AAC5B,gBAAA,KAAK,IAAI,MAAM,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE;oBACpC,IAAI,YAAY,GAAe,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;AACxD,oBAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,GAAG,GAAG,GAAG,MAAM,CAAC,GAAG,YAAY,CAAC,cAAc,CAAC;AACxE,iBAAA;AACD,aAAA;AACD,SAAA;KACD;;AAGD,IAAA,SAAS,CAAC,WAAwB,EAAA;AACjC,QAAA,OAAO,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;KACvC;;IAED,QAAQ,CAAC,WAAwB,EAAE,KAAa,EAAA;QAC/C,OAAO,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;KAC7C;;AAGD,IAAA,WAAW,CAAC,SAAoB,EAAA;AAC/B,QAAA,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,SAAS,CAAC,KAAK,EAAE;AACpB,YAAA,OAAO,IAAI,CAAC;AACZ,SAAA;AAAM,aAAA;AACN,YAAA,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;AAC1E,YAAA,OAAO,KAAK,CAAC;AACb,SAAA;KACD;AAED,IAAA,WAAW,CAAC,GAAW,EAAA;AACtB,QAAA,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;KAC5B;;;;;;;;;;;;;;;;;;;AAoBD,IAAA,CAAC,CAAC,CAAC,EAAA;AACF,QAAA,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC;KACtB;AAED,IAAA,WAAW,CAAC,GAAG,EAAA;AACd,QAAA,IAAI,IAAI,IAAI,GAAG,IAAI,QAAQ,IAAI,OAAO,GAAG;AAAE,YAAA,OAAO,GAAG,CAAC;AACtD,QAAA,IAAI,IAAI,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;AAC7B,QAAA,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE;AACrB,YAAA,IAAI,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC;AAAE,gBAAA,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACvE,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACZ;IAED,aAAa,CAAC,SAAkB,KAAK,EAAA;QACpC,MAAM,GAAG,MAAM,KAAK,SAAS,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC;QAC9E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACtC,YAAA,IAAI,MAAM,EAAE;gBACX,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC,SAAS,CAC3C,CAAC,UAAkB,KAAI;AACtB,oBAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;oBAC7B,OAAO,CAAC,UAAU,CAAC,CAAC;AACrB,iBAAC,EACD,CAAC,KAAK,KAAI;oBACT,MAAM,CAAC,KAAK,CAAC,CAAC;AACf,iBAAC,CACD,CAAC;AACF,aAAA;AAAM,iBAAA;AACN,gBAAA,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACzB,aAAA;AACF,SAAC,CAAC,CAAC;KACH;AAED,IAAA,IAAI,cAAc,GAAA;QACjB,OAAO,QAAQ,CAAC,kBAAkB,CAAC;KACnC;AAED,IAAA,IAAI,SAAS,GAAA;QACZ,OAAO,QAAQ,CAAC,kBAAkB,CAAC;KACnC;;AAvND;AACO,oBAAsB,CAAA,sBAAA,GAAW,sBAAuB,CAAA;iHAF1C,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,0DAF5B,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;2FAEM,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,QAAQ,EAAE,EAAE;iBACf,CAAA;iIAM0B,MAAM,EAAA,CAAA;sBAA/B,MAAM;uBAAC,SAAS,CAAA;;;AC1BlB;AAKA,MAAM,KAAK,GAAG,MAAM,CAAC;MAER,UAAU,CAAA;AACtB;;;;AAIG;IACH,OAAO,6BAA6B,CAAC,UAAU,EAAA;QAC9C,IAAI,MAAM,GAAG,EAAE,CAAC;AAChB,QAAA,IAAI,UAAU,EAAE;YACf,IAAI,KAAK,GAAG,IAAI,CAAC;YACjB,IAAI,MAAM,GAAG,IAAI,CAAC;AAClB,YAAA,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;gBACnC,IAAI,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;oBAChD,IAAI,KAAK,KAAK,IAAI,EAAE;AACnB,wBAAA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACpB,qBAAA;AACD,oBAAA,MAAM,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAChF,oBAAA,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAC1C,iBAAA;AACD,gBAAA,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;AACjB,oBAAA,KAAK,EAAE,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC;AAClC,oBAAA,KAAK,EAAE,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;AAChC,iBAAA,CAAC,CAAC;AACH,aAAA;YACD,IAAI,KAAK,KAAK,IAAI;AAAE,gBAAA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACxC,SAAA;AACD,QAAA,OAAO,MAAM,CAAC;KACd;IACD,OAAO,cAAc,CAAC,UAAU,EAAA;QAC/B,IAAI,MAAM,GAAG,KAAK,CAAC;AAEnB,QAAA,IAAI,UAAU,IAAI,SAAS,IAAI,UAAU,IAAI,IAAI,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;YACpF,IAAI,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAE5C,YAAA,WAAW,CAAC,OAAO,CAAC,UAAU,KAAK,EAAA;AAClC,gBAAA,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,EAAE;oBACxC,MAAM,GAAG,KAAK,CAAC;AACf,oBAAA,OAAO,KAAK,CAAC;AACb,iBAAA;AACF,aAAC,CAAC,CAAC;AACH,SAAA;;AAID,QAAA,OAAO,MAAM,CAAC;KACd;AAED;;;;AAIG;AACH,IAAA,OAAO,2BAA2B,CAAC,UAAU,EAAE,IAAI,EAAA;;QAGlD,IAAI,KAAK,GAAG,UAAU,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;;QAGzD,IAAI,IAAI,IAAI,KAAK,EAAE;AAClB,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACtC,gBAAA,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;;AAE3B,gBAAA,IAAI,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;oBAC5D,MAAM,GAAG,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAEtC,oBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;;AAErD,wBAAA,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACnB,wBAAA,CAAC,EAAE,CAAC;AACJ,qBAAA;AAAM,yBAAA,IACN,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ;AAC7B,wBAAA,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,mBAAmB,CAAC;AACrE,wBAAA,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC;AAChE,wBAAA,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC;AAC9D,wBAAA,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC;AACjE,yBAAC,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;wBAC9H,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EACnC;;AAED,wBAAA,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACnB,wBAAA,CAAC,EAAE,CAAC;AACJ,qBAAA;AAAM,yBAAA,IACN,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ;AAC7B,wBAAA,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,mBAAmB,CAAC;AACrE,wBAAA,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC;AAChE,wBAAA,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC;AAC9D,wBAAA,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC;AACjE,yBAAC,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;wBAC9H,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EACpC;AACD,qBAAA;yBAAM,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE;;AAE1E,wBAAA,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACnB,wBAAA,CAAC,EAAE,CAAC;AACJ,qBAAA;AAAM,yBAAA;wBACN,IACC,SAAS,CAAC,iBAAiB;AAC3B,4BAAA,SAAS,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC3C;;AAED,4BAAA,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACnB,4BAAA,CAAC,EAAE,CAAC;AACJ,yBAAA;AACD,qBAAA;AACD,iBAAA;AAAM,qBAAA;;AAEN,oBAAA,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACnB,oBAAA,CAAC,EAAE,CAAC;AACJ,iBAAA;AACD,aAAA;AACD,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KACb;AAED;;;AAGG;IACH,OAAO,mBAAmB,CAAC,UAAU,EAAA;AACpC,QAAA,OAAO,UAAU,CAAC,sBAAsB,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;KAChF;AAED;;;AAGG;IACH,OAAO,qBAAqB,CAAC,UAAU,EAAA;AACtC,QAAA,OAAO,UAAU,CAAC,sBAAsB,CACvC,UAAU,EACV,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,EAC1C,IAAI,CACJ,CAAC;KACF;AAED;;;;;AAKG;AACK,IAAA,OAAO,sBAAsB,CAAC,UAAiB,EAAE,UAAoB,EAAE,KAAU,EAAA;QACxF,IAAI,MAAM,GAAG,EAAE,CAAC;AAChB,QAAA,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;;YAExC,MAAM,MAAM,GAAU,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;;AAG3D,YAAA,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,YAAY,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAEvD,YAAA,IAAI,MAAM,EAAE;;AAEX,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;;AAEvC,oBAAA,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;;oBAExB,IAAI,SAAS,GAAG,KAAK,CAAC;AACtB,oBAAA,IAAI,KAAK,CAAC,aAAa,CAAC,EAAE;AACzB,wBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC3C,4BAAA,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;;AAE/B,4BAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;gCAAE,MAAM;4BAChC,IAAI,QAAQ,KAAK,YAAY,EAAE;;AAE9B,gCAAA,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK;AAAE,oCAAA,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACrD,6BAAA;AAAM,iCAAA;;AAEN,gCAAA,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAChC,6BAAA;AACD,yBAAA;AACD,qBAAA;AACD,iBAAA;AACD,aAAA;AACD,SAAA;AACD,QAAA,OAAO,MAAM,CAAC;KACd;AAED;;;AAGG;IACH,OAAO,aAAa,CAAC,UAAiB,EAAA;QACrC,OAAO,UAAU,CAAC,wBAAwB,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;KACjE;AAED;;;;;AAKG;AACK,IAAA,OAAO,wBAAwB,CACtC,UAAiB,EACjB,UAAkB,EAClB,iBAAsB,EAAA;;QAGtB,IAAI,MAAM,GAAG,EAAE,CAAC;AAChB,QAAA,IAAI,UAAU,EAAE;;AAEf,YAAA,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;;gBAEnC,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,QAAQ,EAAE;;oBAEvD,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,KAAK,EAAE;AACpD,wBAAA,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACzC,qBAAA;oBAED,IACC,CAAC,OAAO,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,WAAW;wBACvD,OAAO,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,WAAW;yBACpD,OAAO,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,WAAW;4BAChD,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,YAAY,CAAC,EACvD;AACD,wBAAA,IAAI,SAAS,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE;;AAEpC,4BAAA,MAAM,WAAW,GAAG,IAAI,CAAC,6BAA6B,CACrD,iBAAiB,EACjB,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,EACjC,SAAS,CAAC,UAAU,CAAC,kBAAkB,CAAC,EACxC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CACxB,CAAC;;AAEF,4BAAA,IAAI,WAAW;gCAAE,iBAAiB,GAAG,WAAW,CAAC;;4BAEjD,IAAI,aAAa,GAChB,OAAO,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,WAAW;AACtD,kCAAE,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC;AAClC,kCAAE,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;;AAElC,4BAAA,MAAM,eAAe,GAAG,UAAU,CAAC,wBAAwB,CAC1D,aAAa,EACb,UAAU,EACV,iBAAiB,CACjB,CAAC;;AAEF,4BAAA,IAAI,eAAe;AAAE,gCAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;;4BAE7D,IAAI,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,iBAAiB,CAAC,EAAE;gCACnD,iBAAiB,GAAG,SAAS,CAAC;AAC/B,yBAAA;AAAM,6BAAA;AACN,4BAAA,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACvB,yBAAA;AACD,qBAAA;AAAM,yBAAA;;wBAEN,IACC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,MAAM;AAChD,4BAAA,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;AACzB,4BAAA,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,EAC1B;;AAED,4BAAA,IAAI,WAAW,GAAG,IAAI,CAAC,6BAA6B,CACnD,iBAAiB,EACjB,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,EACjC,SAAS,CAAC,UAAU,CAAC,kBAAkB,CAAC,EACxC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CACxB,CAAC;AACF,4BAAA,IAAI,CAAC,WAAW;gCAAE,WAAW,GAAG,iBAAiB,CAAC;AAClD,4BAAA,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AACxE,4BAAA,SAAS,CAAC,UAAU,CAAC,kBAAkB,CAAC;AACvC,gCAAA,WAAW,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;;AAE5C,4BAAA,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC;;AAE/C,4BAAA,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACvB,yBAAA;AACD,qBAAA;AACD,iBAAA;qBAAM,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,QAAQ,EAAE;AAC9D,oBAAA,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE;AAChC,wBAAA,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACvB,qBAAA;AACD,iBAAA;AACD,aAAA;AACD,SAAA;AACD,QAAA,OAAO,MAAM,CAAC;KACd;AAED;;;;AAIG;IACH,OAAO,0BAA0B,CAAC,UAAiB,EAAA;QAClD,OAAO,UAAU,CAAC,qCAAqC,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;KAC9E;AAED;;;;;AAKG;AACK,IAAA,OAAO,qCAAqC,CACnD,UAAiB,EACjB,UAAkB,EAClB,iBAAsB,EAAA;;QAGtB,IAAI,MAAM,GAAG,EAAE,CAAC;AAChB,QAAA,IAAI,UAAU,EAAE;;AAEf,YAAA,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;;;gBAInC,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,KAAK,EAAE;AACpD,oBAAA,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACzC,iBAAA;gBAED,IACC,CAAC,OAAO,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,WAAW;oBACvD,OAAO,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,WAAW;qBACpD,OAAO,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,WAAW;wBAChD,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,YAAY,CAAC,EACvD;;AAED,oBAAA,MAAM,WAAW,GAAG,IAAI,CAAC,6BAA6B,CACrD,iBAAiB,EACjB,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,EACjC,SAAS,CAAC,UAAU,CAAC,kBAAkB,CAAC,EACxC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CACxB,CAAC;;AAEF,oBAAA,IAAI,WAAW;wBAAE,iBAAiB,GAAG,WAAW,CAAC;;oBAEjD,IAAI,aAAa,GAChB,OAAO,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,WAAW;AACtD,0BAAE,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC;AAClC,0BAAE,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;oBAElC,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,QAAQ,EAAE;AACvD,wBAAA,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC;AAC/C,wBAAA,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACvB,qBAAA;;AAED,oBAAA,MAAM,eAAe,GAAG,UAAU,CAAC,qCAAqC,CACvE,aAAa,EACb,UAAU,EACV,iBAAiB,CACjB,CAAC;;AAEF,oBAAA,IAAI,eAAe;AAAE,wBAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;;oBAE7D,IAAI,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,iBAAiB,CAAC,EAAE;wBACnD,iBAAiB,GAAG,SAAS,CAAC;AAC/B,iBAAA;AAAM,qBAAA;;oBAEN,IACC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,MAAM;AAChD,wBAAA,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;AACzB,wBAAA,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,EAC1B;;AAED,wBAAA,IAAI,WAAW,GAAG,IAAI,CAAC,6BAA6B,CACnD,iBAAiB,EACjB,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,EACjC,SAAS,CAAC,UAAU,CAAC,kBAAkB,CAAC,EACxC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CACxB,CAAC;AACF,wBAAA,IAAI,CAAC,WAAW;4BAAE,WAAW,GAAG,iBAAiB,CAAC;AAClD,wBAAA,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AACxE,wBAAA,SAAS,CAAC,UAAU,CAAC,kBAAkB,CAAC;AACvC,4BAAA,WAAW,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;;AAE5C,wBAAA,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC;;AAE/C,wBAAA,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACvB,qBAAA;AACD,iBAAA;AACD,aAAA;AACD,SAAA;AACD,QAAA,OAAO,MAAM,CAAC;KACd;AAED;;;;;AAKG;IACK,OAAO,6BAA6B,CAC3C,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,QAAQ,EAAA;;AAGR,QAAA,IACC,CAAC,iBAAiB;YAClB,iBAAiB;AACjB,aAAC,WAAW,IAAI,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;aAC1E,WAAW,IAAI,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAC5C;AACD,YAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC;AACxF,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACZ;AAED;;;AAGG;IACH,OAAO,oBAAoB,CAAC,UAAiB,EAAA;QAC5C,OAAO,UAAU,CAAC,+BAA+B,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;KACxE;AAED;;;;;AAKG;AACK,IAAA,OAAO,+BAA+B,CAC7C,UAAiB,EACjB,UAAkB,EAClB,iBAAsB,EAAA;;QAGtB,IAAI,MAAM,GAAG,EAAE,CAAC;AAChB,QAAA,IAAI,UAAU,EAAE;;AAEf,YAAA,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;;gBAEnC,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,KAAK,EAAE;AACpD,oBAAA,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACzC,iBAAA;gBAED,IACC,CAAC,OAAO,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,WAAW;oBACvD,OAAO,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,WAAW;qBACpD,OAAO,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,WAAW;wBAChD,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,YAAY,CAAC,EACvD;;AAED,oBAAA,MAAM,WAAW,GAAG,IAAI,CAAC,6BAA6B,CACrD,iBAAiB,EACjB,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,EACjC,SAAS,CAAC,UAAU,CAAC,kBAAkB,CAAC,EACxC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CACxB,CAAC;;AAEF,oBAAA,IAAI,WAAW;wBAAE,iBAAiB,GAAG,WAAW,CAAC;;oBAEjD,IAAI,aAAa,GAChB,OAAO,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,WAAW;AACtD,0BAAE,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC;AAClC,0BAAE,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;oBAClC,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,QAAQ,EAAE;;AAEtD,wBAAA,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC;;AAE/C,wBAAA,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACvB,qBAAA;AAAM,yBAAA;;AAEN,wBAAA,MAAM,eAAe,GAAG,UAAU,CAAC,+BAA+B,CACjE,aAAa,EACb,UAAU,EACV,iBAAiB,CACjB,CAAC;;AAEF,wBAAA,IAAI,eAAe;AAAE,4BAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;;wBAE7D,IAAI,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,iBAAiB,CAAC,EAAE;4BACnD,iBAAiB,GAAG,SAAS,CAAC;AAC/B,qBAAA;AACD,iBAAA;AAAM,qBAAA;AACN,iBAAA;AACD,aAAA;AACD,SAAA;AACD,QAAA,OAAO,MAAM,CAAC;KACd;AAED;;;;AAIG;AACH,IAAA,OAAO,0BAA0B,CAAC,UAAiB,EAAE,YAAoB,EAAA;AACxE,QAAA,OAAO,UAAU,CAAC,qCAAqC,CACtD,UAAU,EACV,EAAE,EACF,IAAI,EACJ,YAAY,EACZ,KAAK,CACL,CAAC;KACF;AAED;;;;;AAKG;IACK,OAAO,qCAAqC,CACnD,UAAiB,EACjB,UAAkB,EAClB,iBAAsB,EACtB,YAAoB,EACpB,aAAsB,EAAA;;QAGtB,IAAI,MAAM,GAAG,EAAE,CAAC;AAChB,QAAA,IAAI,UAAU,EAAE;;AAEf,YAAA,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;;;gBAInC,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,KAAK,EAAE;AACpD,oBAAA,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACzC,iBAAA;gBAED,IACC,CAAC,OAAO,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,WAAW;oBACvD,OAAO,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,WAAW;qBACpD,OAAO,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,WAAW;wBAChD,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,YAAY,CAAC,EACvD;;AAED,oBAAA,MAAM,WAAW,GAAG,IAAI,CAAC,6BAA6B,CACrD,iBAAiB,EACjB,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,EACjC,SAAS,CAAC,UAAU,CAAC,kBAAkB,CAAC,EACxC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CACxB,CAAC;;AAEF,oBAAA,IAAI,WAAW;wBAAE,iBAAiB,GAAG,WAAW,CAAC;;oBAEjD,IAAI,aAAa,GAChB,OAAO,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,WAAW;AACtD,0BAAE,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC;AAClC,0BAAE,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;oBAElC,IACC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,QAAQ;AAClD,wBAAA,SAAS,CAAC,KAAK,CAAC,IAAI,YAAY,EAC/B;wBACD,aAAa,GAAG,IAAI,CAAC;wBACrB,IACC,CAAC,OAAO,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,WAAW;4BACvD,OAAO,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,WAAW;6BACpD,OAAO,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,WAAW;gCAChD,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,YAAY,CAAC,EACvD;;AAED,4BAAA,MAAM,WAAW,GAAG,IAAI,CAAC,6BAA6B,CACrD,iBAAiB,EACjB,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,EACjC,SAAS,CAAC,UAAU,CAAC,kBAAkB,CAAC,EACxC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CACxB,CAAC;;AAEF,4BAAA,IAAI,WAAW;gCAAE,iBAAiB,GAAG,WAAW,CAAC;;4BAEjD,IAAI,aAAa,GAChB,OAAO,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,WAAW;AACtD,kCAAE,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC;AAClC,kCAAE,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;;AAGlC,4BAAA,MAAM,eAAe,GACpB,UAAU,CAAC,qCAAqC,CAC/C,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,aAAa,CACb,CAAC;;AAEH,4BAAA,IAAI,eAAe;AAAE,gCAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;;4BAE7D,IAAI,SAAS,IAAI,iBAAiB,EAAE;gCACnC,IAAI,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,iBAAiB,CAAC,EAAE;oCACnD,iBAAiB,GAAG,SAAS,CAAC;AAC/B,6BAAA;AACD,yBAAA;AAAM,6BAAA;;4BAEN,IACC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,MAAM;AAChD,gCAAA,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;AACzB,gCAAA,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC;AAC3B,gCAAA,aAAa,EACZ;;AAED,gCAAA,IAAI,WAAW,GAAG,IAAI,CAAC,6BAA6B,CACnD,iBAAiB,EACjB,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,EACjC,SAAS,CAAC,UAAU,CAAC,kBAAkB,CAAC,EACxC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CACxB,CAAC;AACF,gCAAA,IAAI,CAAC,WAAW;oCAAE,WAAW,GAAG,iBAAiB,CAAC;AAClD,gCAAA,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC;AAChC,oCAAA,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AACrC,gCAAA,SAAS,CAAC,UAAU,CAAC,kBAAkB,CAAC;AACvC,oCAAA,WAAW,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;;AAE5C,gCAAA,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC;;AAE/C,gCAAA,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACvB,6BAAA;AACD,yBAAA;AACD,qBAAA;;AAED,oBAAA,MAAM,eAAe,GAAG,UAAU,CAAC,qCAAqC,CACvE,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,aAAa,CACb,CAAC;;AAEF,oBAAA,IAAI,eAAe;AAAE,wBAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;;oBAE7D,IAAI,SAAS,IAAI,iBAAiB,EAAE;wBACnC,IAAI,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,iBAAiB,CAAC,EAAE;4BACnD,iBAAiB,GAAG,SAAS,CAAC;AAC/B,qBAAA;AACD,iBAAA;AAAM,qBAAA;;oBAEN,IACC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,MAAM;AAChD,wBAAA,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;AACzB,wBAAA,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC;AAC3B,wBAAA,aAAa,EACZ;;AAED,wBAAA,IAAI,WAAW,GAAG,IAAI,CAAC,6BAA6B,CACnD,iBAAiB,EACjB,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,EACjC,SAAS,CAAC,UAAU,CAAC,kBAAkB,CAAC,EACxC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CACxB,CAAC;AACF,wBAAA,IAAI,CAAC,WAAW;4BAAE,WAAW,GAAG,iBAAiB,CAAC;AAClD,wBAAA,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AACxE,wBAAA,SAAS,CAAC,UAAU,CAAC,kBAAkB,CAAC;AACvC,4BAAA,WAAW,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;;AAE5C,wBAAA,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC;;AAE/C,wBAAA,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACvB,qBAAA;AACD,iBAAA;AACD,aAAA;AACD,SAAA;AACD,QAAA,OAAO,MAAM,CAAC;KACd;AAED;;;;AAIG;AACH,IAAA,OAAO,4BAA4B,CAAC,QAAa,EAAE,QAAe,EAAA;QACjE,IAAI,QAAQ,GAAQ,EAAE,CAAC;QACvB,IAAI,cAAc,GAAQ,EAAE,CAAC;AAC7B,QAAA,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACpC,QAAQ,GAAG,EAAE,CAAC;YACd,cAAc,GAAG,EAAE,CAAC;AACpB,YAAA,IAAI,KAAU,CAAC;YACf,KAAK,KAAK,IAAI,QAAQ,EAAE;AACvB,gBAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;oBAChB,SAAS;AACT,iBAAA;AACD,gBAAA,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,OAAO,EAAA;AAC3C,oBAAA,OAAO,OAAO,CAAC,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC;AACnC,iBAAC,CAAC,CAAC;gBACH,IAAI,CAAC,IAAI,EAAE;;oBAEV,SAAS;AACT,iBAAA;AACD,gBAAA,MAAM,YAAY,GAAG,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;AACrE,gBAAA,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE;oBAC7B,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChC,oBAAA,cAAc,CAAC,YAAY,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACrD,iBAAA;AACD,aAAA;AACD,SAAA;QACD,OAAO;AACN,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,cAAc,EAAE,cAAc;SAC9B,CAAC;KACF;AAED;;;AAGG;IACH,OAAO,kBAAkB,CAAC,UAAiB,EAAA;AAC1C,QAAA,OAAO,UAAU,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;KACnD;AAED;;;AAGG;IACK,OAAO,oBAAoB,CAAC,UAAiB,EAAA;;QAEpD,IAAI,MAAM,GAAG,EAAE,CAAC;AAChB,QAAA,IAAI,UAAU,EAAE;;AAEf,YAAA,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;;gBAEnC,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,QAAQ,EAAE;;oBAEvD,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,KAAK,EAAE;AACpD,wBAAA,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACvB,qBAAA;AACD,iBAAA;AACD,aAAA;AACD,SAAA;AACD,QAAA,OAAO,MAAM,CAAC;KACd;AACD;;MCxsBY,WAAW,CAAA;IAGvB,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAFnF,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEK;;AAG/F,IAAA,eAAe,CAAC,UAAkB,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,sBAAsB,EACpE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrE,CAAC;KACF;;IAGD,MAAM,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,aAAa,CAAC,CAAC;KACxF;;AAGD,IAAA,OAAO,CAAC,EAAE,EAAA;AACT,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,cAAc,EAAE;YACxF,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;AACtC,SAAA,CAAC,CAAC;KACH;;AAED,IAAA,IAAI,CAAC,IAAS,EAAA;QACb,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,WAAW,EACzD,IAAI,EACJ,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,uBAAuB,CAAC,gBAAqB,EAAA;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,iCAAiC,EAC/E,gBAAgB,EAChB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,MAAM,CAAC,EAAE,EAAA;AACR,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,aAAa,EAAE;YAC1F,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;AACtC,SAAA,CAAC,CAAC;KACH;;AAGD,IAAA,iCAAiC,CAChC,UAAkB,EAClB,SAAiB,EACjB,MAAe,EAAA;AAEf,QAAA,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE;AAC3B,aAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACxC,aAAA,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;AACtC,aAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,SAAS,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,gCAAgC,EAC9E,EAAE,MAAM,EAAE,MAAM,EAAE,CAClB,CAAC;KACF;;AAGD,IAAA,mBAAmB,CAAC,WAA0B,EAAA;AAC7C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,0BAA0B,EACxE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,gBAAgB,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,EAAE,CAC1E,CAAC;KACF;;AAGD,IAAA,2BAA2B,CAAC,UAAkB,EAAA;AAC7C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,kCAAkC,EAChF;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACjE,SAAA,CACD,CAAC;KACF;;IAGD,mCAAmC,CAAC,UAAkB,EAAE,KAAa,EAAA;AACpE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,0CAA0C,EAC3C;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACxC,iBAAA,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC;AACrB,SAAA,CACD,CAAC;KACF;;AAGD,IAAA,qCAAqC,CACpC,UAAkB,EAClB,SAAiB,EACjB,MAAc,EACd,QAAgB,EAAA;AAEhB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,4CAA4C,EAC7C;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACxC,iBAAA,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;AACtC,iBAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC;AACrB,iBAAA,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC;AAC3B,SAAA,CACD,CAAC;KACF;AAED;;;AAGG;AACH,IAAA,YAAY,CAAC,QAAgB,EAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,mBAAmB,EACjE;YACC,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC;AAClD,SAAA,CACD,CAAC;KACF;IAED,uBAAuB,CAAC,UAAkB,EAAE,UAAkB,EAAA;AAC7D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,8BAA8B,EAC5E;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACxC,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AAC1C,SAAA,CACD,CAAC;KACF;IAED,2CAA2C,CAC1C,UAAkB,EAClB,SAAiB,EAAA;AAEjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,kDAAkD,EACnD;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACxC,iBAAA,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;AACxC,SAAA,CACD,CAAC;KACF;;AAxJW,WAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,kBAGH,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,WAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cAFX,MAAM,EAAA,CAAA,CAAA;2FAEN,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCCrB,YAAY,CAAA;AAoWxB,IAAA,WAAA,CACgC,WAAW,EAClC,UAAsB,EACtB,WAAwB,EACxB,YAA0B,EAAA;AAHH,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAClC,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AACtB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AACxB,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;KAC/B;;AAGJ,IAAA,uBAAuB,CAAC,UAAU,EAAA;QACjC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;;YAEtC,IAAI,gBAAgB,GAAU,IAAI,CAAC;YACnC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC;AACtD,gBAAA,IAAI,EAAE,CAAC,UAAe,KAAI;AACzB,oBAAA,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;AAC1B,wBAAA,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE;4BAC/B,IAAI,UAAU,GAAG,EAAE,CAAC;AAEpB,4BAAA,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;4BAE/D,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;AACpD,gCAAA,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,UAAU,EAAE;oCAC1C,IAAI,UAAU,CAAC,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;AAC9D,wCAAA,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,UAAU,EAAE;4CAC9C,IAAI,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;AACtD,gDAAA,KAAK,MAAM,WAAW,IAAI,SAAS,CAAC,OAAO,EAAE;oDAC5C,IACC,WAAW,CAAC,UAAU;AACtB,wDAAA,WAAW,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAChC;AACD,wDAAA,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,UAAU,EAAE;AAC9C,4DAAA,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE;gEAChC,OAAO,QAAQ,CAAC,UAAU,CAAC;AAC3B,6DAAA;AACD,yDAAA;AACD,qDAAA;AACD,iDAAA;AACD,6CAAA;AACD,yCAAA;AACD,qCAAA;AACD,iCAAA;AACD,6BAAA;AACD,yBAAA;AACD,qBAAA;oBAED,IAAI,IAAI,GAAQ,UAAU,CAAC;AAC3B,oBAAA,IACC,CAAC,IAAI;wBACL,CAAC,IAAI,CAAC,CAAC,CAAC;AACR,wBAAA,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU;AACnB,wBAAA,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,UAAU,EAC/B;;wBAED,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC1B,qBAAA;oBACD,gBAAgB,GAAG,EAAE,CAAC;AACtB,oBAAA,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;AAC1B,wBAAA,IAAI,aAAkB,CAAC;wBACvB,IAAI,UAAU,GAAU,EAAE,CAAC;wBAC3B,IAAI,QAAQ,CAAC,UAAU,EAAE;AACxB,4BAAA,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC;AACpC,yBAAA;6BAAM,IAAI,QAAQ,CAAC,OAAO,EAAE;AAC5B,4BAAA,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC;AACjC,yBAAA;wBACD,IAAI,aAAa,IAAI,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;4BACxD,gBAAgB,CAAC,IAAI,CAAC;AACrB,gCAAA,KAAK,EAAE;oCACN,GAAG,EAAE,YAAY,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC;oCAClD,KAAK,EAAE,QAAQ,CAAC,KAAK;AACrB,oCAAA,MAAM,EAAE,QAAQ;AAChB,iCAAA;AACD,gCAAA,KAAK,EAAE,EAAE;AACT,6BAAA,CAAC,CAAC;4BACH,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK;AAClD,gCAAA,IAAI,CAAC,iBAAiB,CACrB,UAAU,EACV,aAAa,EACb,IAAI,EACJ,KAAK,EACL,IAAI,CACJ,CAAC;AACH,yBAAA;AACD,qBAAA;oBACD,OAAO,CAAC,gBAAgB,CAAC,CAAC;iBAC1B;AACD,gBAAA,KAAK,EAAE,CAAC,KAAK,KAAI;oBAChB,MAAM,CAAC,KAAK,CAAC,CAAC;iBACd;AACD,aAAA,CAAC,CAAC;AACJ,SAAC,CAAC,CAAC;KACH;AAED,IAAA,qBAAqB,CAAC,MAAc,EAAA;QACnC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;;YAEtC,IAAI,gBAAgB,GAAU,IAAI,CAAC;AACnC,YAAA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,CACzC,CAAC,MAAW,KAAI;gBACf,IAAI,IAAI,GAAQ,MAAM,CAAC;gBACvB,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;oBACtB,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC1B,iBAAA;gBACD,gBAAgB,GAAG,EAAE,CAAC;AACtB,gBAAA,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;AAC1B,oBAAA,IAAI,aAAkB,CAAC;oBACvB,IAAI,UAAU,GAAU,EAAE,CAAC;oBAC3B,IAAI,QAAQ,CAAC,UAAU,EAAE;AACxB,wBAAA,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC;AACpC,qBAAA;yBAAM,IAAI,QAAQ,CAAC,OAAO,EAAE;AAC5B,wBAAA,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC;AACjC,qBAAA;oBACD,IAAI,aAAa,IAAI,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;wBACxD,gBAAgB,CAAC,IAAI,CAAC;AACrB,4BAAA,KAAK,EAAE;gCACN,GAAG,EAAE,YAAY,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC;gCAClD,KAAK,EAAE,QAAQ,CAAC,KAAK;AACrB,gCAAA,MAAM,EAAE,QAAQ;AAChB,6BAAA;AACD,4BAAA,KAAK,EAAE,EAAE;AACT,yBAAA,CAAC,CAAC;wBACH,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK;AAClD,4BAAA,IAAI,CAAC,iBAAiB,CACrB,UAAU,EACV,aAAa,EACb,IAAI,EACJ,KAAK,EACL,IAAI,CACJ,CAAC;AACH,qBAAA;AACD,iBAAA;gBACD,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC3B,aAAC,EACD,CAAC,KAAK,KAAI;gBACT,MAAM,CAAC,KAAK,CAAC,CAAC;AACf,aAAC,CACD,CAAC;AACH,SAAC,CAAC,CAAC;KACH;;AAGD,IAAA,uBAAuB,CAAC,UAAU,EAAA;QACjC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;;YAEtC,IAAI,iBAAiB,GAAU,IAAI,CAAC;AACpC,YAAA,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,SAAS,CACrD,CAAC,MAAW,KAAI;gBACf,IAAI,IAAI,GAAQ,MAAM,CAAC;AACvB,gBAAA,IACC,CAAC,IAAI;oBACL,CAAC,IAAI,CAAC,CAAC,CAAC;AACR,oBAAA,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU;AACnB,oBAAA,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,UAAU,EAC/B;;oBAED,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAC3B,iBAAA;gBACD,iBAAiB,GAAG,EAAE,CAAC;AACvB,gBAAA,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;AAC1B,oBAAA,IAAI,aAAkB,CAAC;oBACvB,IAAI,UAAU,GAAU,EAAE,CAAC;oBAC3B,IAAI,QAAQ,CAAC,UAAU,EAAE;AACxB,wBAAA,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC;AACpC,qBAAA;yBAAM,IAAI,QAAQ,CAAC,OAAO,EAAE;AAC5B,wBAAA,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC;AACjC,qBAAA;oBACD,IAAI,aAAa,IAAI,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;wBACxD,iBAAiB,CAAC,IAAI,CAAC;AACtB,4BAAA,KAAK,EAAE;gCACN,GAAG,EAAE,YAAY,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC;gCAClD,KAAK,EAAE,QAAQ,CAAC,KAAK;AACrB,gCAAA,MAAM,EAAE,QAAQ;AAChB,6BAAA;AACD,4BAAA,KAAK,EAAE,EAAE;AACT,yBAAA,CAAC,CAAC;wBACH,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK;4BACpD,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;AAC1D,qBAAA;AACD,iBAAA;gBACD,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAC5B,aAAC,EACD,CAAC,KAAK,KAAI;gBACT,MAAM,CAAC,KAAK,CAAC,CAAC;AACf,aAAC,CACD,CAAC;AACH,SAAC,CAAC,CAAC;KACH;AAED;;;;AAIG;AACH,IAAA,kBAAkB,CAAC,UAAiB,EAAE,IAAS,EAAE,SAAiB,EAAA;AACjE,QAAA,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;AAC1B,YAAA,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE;AAC9B,gBAAA,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC1B,aAAA;AAAM,iBAAA,IAAI,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,OAAO,EAAE;AACnD,gBAAA,IAAI,aAAkB,CAAC;gBACvB,IAAI,QAAQ,CAAC,UAAU,EAAE;AACxB,oBAAA,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC;AACpC,iBAAA;qBAAM,IAAI,QAAQ,CAAC,OAAO,EAAE;AAC5B,oBAAA,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC;AACjC,iBAAA;gBACD,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;AAC3E,aAAA;AACD,SAAA;AACD,QAAA,OAAO,UAAU,CAAC;KAClB;AAED;;;;AAIG;IACH,iBAAiB,CAChB,UAAiB,EACjB,IAAS,EACT,SAAiB,EACjB,QAAiB,EACjB,WAAmB,EAAA;AAEnB,QAAA,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;;AAE1B,YAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE;AAC7E,gBAAA,IAAI,aAAkB,CAAC;gBACvB,IAAI,QAAQ,CAAC,UAAU,EAAE;AACxB,oBAAA,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC;AACpC,oBAAA,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE;wBACjC,QAAQ,GAAG,IAAI,CAAC;AAChB,wBAAA,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC;AAC3B,qBAAA;AACD,iBAAA;qBAAM,IAAI,QAAQ,CAAC,OAAO,EAAE;AAC5B,oBAAA,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC;AACjC,iBAAA;gBACD,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE;AAC/C,oBAAA,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC;AAC3B,iBAAA;AACD,gBAAA,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAClC,UAAU,EACV,aAAa,EACb,SAAS,EACT,QAAQ,EACR,WAAW,CACX,CAAC;AACF,aAAA;AAAM,iBAAA;AACN,gBAAA,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;AAC/B,gBAAA,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC7B,gBAAA,QAAQ,CAAC,WAAW,GAAG,WAAW,CAAC;AACnC,gBAAA,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC1B,aAAA;AACD,SAAA;AACD,QAAA,OAAO,UAAU,CAAC;KAClB;;AAGD,IAAA,+BAA+B,CAAC,UAAU,EAAA;QACzC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;;YAEtC,IAAI,gBAAgB,GAAU,IAAI,CAAC;AACnC,YAAA,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,SAAS,CACrD,CAAC,MAAW,KAAI;gBACf,IAAI,IAAI,GAAQ,MAAM,CAAC;AACvB,gBAAA,IACC,CAAC,IAAI;oBACL,CAAC,IAAI,CAAC,CAAC,CAAC;AACR,oBAAA,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU;AACnB,oBAAA,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,UAAU,EAC/B;;oBAED,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC1B,iBAAA;gBACD,gBAAgB,GAAG,EAAE,CAAC;AACtB,gBAAA,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;AAC1B,oBAAA,IAAI,aAAkB,CAAC;oBACvB,IAAI,UAAU,GAAU,EAAE,CAAC;oBAC3B,IAAI,QAAQ,CAAC,UAAU,EAAE;AACxB,wBAAA,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC;AACpC,qBAAA;yBAAM,IAAI,QAAQ,CAAC,OAAO,EAAE;AAC5B,wBAAA,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC;AACjC,qBAAA;oBACD,IAAI,aAAa,IAAI,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;wBACxD,gBAAgB,CAAC,IAAI,CAAC;AACrB,4BAAA,KAAK,EAAE;gCACN,GAAG,EAAE,YAAY,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC;gCAClD,KAAK,EAAE,QAAQ,CAAC,KAAK;AACrB,gCAAA,MAAM,EAAE,QAAQ;AAChB,6BAAA;AACD,4BAAA,KAAK,EAAE,EAAE;AACT,yBAAA,CAAC,CAAC;wBACH,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK;4BAClD,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;AAC7D,qBAAA;AACD,iBAAA;gBACD,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC3B,aAAC,EACD,CAAC,KAAK,KAAI;gBACT,MAAM,CAAC,KAAK,CAAC,CAAC;AACf,aAAC,CACD,CAAC;AACH,SAAC,CAAC,CAAC;KACH;AAED;;;;AAIG;AACH,IAAA,qBAAqB,CAAC,UAAiB,EAAE,IAAS,EAAE,SAAiB,EAAA;AACpE,QAAA,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE;AAC1B,YAAA,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE;AACjC,gBAAA,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;AAC/B,gBAAA,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC1B,aAAA;AAAM,iBAAA,IAAI,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,OAAO,EAAE;AACnD,gBAAA,IAAI,aAAkB,CAAC;gBACvB,IAAI,QAAQ,CAAC,UAAU,EAAE;AACxB,oBAAA,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC;AACpC,iBAAA;qBAAM,IAAI,QAAQ,CAAC,OAAO,EAAE;AAC5B,oBAAA,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC;AACjC,iBAAA;gBACD,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE;AAC/C,oBAAA,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC;AAC3B,iBAAA;gBACD,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;AAC9E,aAAA;AACD,SAAA;AACD,QAAA,OAAO,UAAU,CAAC;KAClB;;AAGD,IAAA,mBAAmB,CAAC,QAAgB,EAAA;AACnC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,uBAAuB,EACrE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,CACnE,CAAC;KACF;;AAGD,IAAA,OAAO,CAAC,EAAU,EAAA;AACjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,eAAe,EAAE;AACzF,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;AACjD,SAAA,CAAC,CAAC;KACH;;AAGD,IAAA,MAAM,CAAC,EAAE,EAAA;AACR,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,cAAc,EAC5D,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAC1C,CAAC;KACF;;AAGD,IAAA,IAAI,CAAC,KAAY,EAAA;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,YAAY,EAC1D,KAAK,EACL,WAAW,CACX,CAAC;KACF;IAED,OAAO,gBAAgB,CAAC,SAAiB,EAAA;AACxC,QAAA,IAAI,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAClC,QACC,UAAU,CAAC,yBAAyB,CAAC,YAAY,CAAC,gBAAgB,CAAC;AACnE,gBAAA,UAAU,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EACjE;AACF,SAAA;AACD,QAAA,OAAO,EAAE,CAAC;KACV;;IAGD,yBAAyB,CAAC,KAAa,EAAE,KAAa,EAAA;AACrD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB;YAChD,iCAAiC;YACjC,KAAK;YACL,GAAG;YACH,KAAK,EACN,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,EAAE,CAC5B,CAAC;KACF;;IAGD,6BAA6B,CAC5B,KAAa,EACb,KAAa,EACb,UAAkB,EAClB,WAAmB,EACnB,YAAoB,EAAA;AAEpB,QAAA,IAAI,aAAa,GAAG;AACnB,YAAA,WAAW,EAAE,UAAU;AACvB,YAAA,aAAa,EAAE,WAAW;AAC1B,YAAA,YAAY,EAAE,YAAY;SAC1B,CAAC;AACF,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB;YAChD,+BAA+B;YAC/B,KAAK;YACL,GAAG;AACH,YAAA,KAAK,EACN,aAAa,EACb,WAAW,CACX,CAAC;KACF;AAED,IAAA,OAAO,YAAY,GAAA;QAClB,OAAO,UAAU,CAAC,yBAAyB,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;KAC7E;AAED,IAAA,OAAO,cAAc,GAAA;QACpB,OAAO,UAAU,CAAC,yBAAyB,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC;KAChF;AAED,IAAA,OAAO,sBAAsB,GAAA;QAC5B,OAAO,UAAU,CAAC,yBAAyB,CAAC,YAAY,CAAC,6BAA6B,CAAC,CAAC;KACxF;AAED,IAAA,OAAO,UAAU,GAAA;QAChB,OAAO,UAAU,CAAC,yBAAyB,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;KAC5E;AAED,IAAA,OAAO,YAAY,GAAA;QAClB,OAAO,UAAU,CAAC,yBAAyB,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;KAC7E;IAED,OAAO,gBAAgB,CAAC,KAAY,EAAA;QACnC,QACC,UAAU,CAAC,yBAAyB,CAAC,YAAY,CAAC,sBAAsB,CAAC;YACzE,GAAG;YACH,UAAU,CAAC,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,EAC/C;KACF;IAED,OAAO,cAAc,CAAC,KAAY,EAAA;QACjC,QACC,UAAU,CAAC,yBAAyB,CAAC,YAAY,CAAC,oBAAoB,CAAC;YACvE,GAAG;YACH,UAAU,CAAC,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,EAC/C;KACF;IAED,OAAO,eAAe,CAAC,KAA2B,EAAA;QACjD,QACC,UAAU,CAAC,yBAAyB,CAAC,YAAY,CAAC,qBAAqB,CAAC;YACxE,GAAG;YACH,UAAU,CAAC,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,EAC/C;KACF;AAED;;;AAGG;IACH,OAAO,UAAU,CAAC,GAAW,EAAA;AAC5B,QAAA,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAC5C,QAAA,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AACzC,QAAA,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,yBAAyB,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,EAAE;AACxF,YAAA,OAAO,CAAC,CAAC;AACT,SAAA;AAAM,aAAA,IACN,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,yBAAyB,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,EACpF;AACD,YAAA,OAAO,CAAC,CAAC;AACT,SAAA;AAAM,aAAA,IACN,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,yBAAyB,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,EACpF;AACD,YAAA,OAAO,CAAC,CAAC;AACT,SAAA;AAAM,aAAA,IACN,GAAG,CAAC,UAAU,CACb,UAAU,CAAC,yBAAyB,CAAC,YAAY,CAAC,sBAAsB,CAAC,CACzE,EACA;AACD,YAAA,OAAO,CAAC,CAAC;AACT,SAAA;AAAM,aAAA,IACN,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,yBAAyB,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,EACnF;AACD,YAAA,OAAO,CAAC,CAAC;AACT,SAAA;AAAM,aAAA,IACN,GAAG,CAAC,UAAU,CACb,UAAU,CAAC,yBAAyB,CAAC,YAAY,CAAC,6BAA6B,CAAC,CAChF,EACA;AACD,YAAA,OAAO,CAAC,CAAC;AACT,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACZ;AAED;;;;AAIG;IACH,qBAAqB,CAAC,cAAmB,EAAE,SAAc,EAAA;AACxD,QAAA,IAAI,OAAO,SAAS,IAAI,QAAQ,EAAE;YACjC,IAAI,cAAc,CAAC,IAAI,EAAE;AACxB,gBAAA,IAAI,cAAc,CAAC,IAAI,IAAI,SAAS,EAAE;oBACrC,OAAO,SAAS,CAAC,iBAAiB,CAAC;AACnC,iBAAA;AACD,gBAAA,IACC,cAAc,CAAC,IAAI,IAAI,QAAQ;AAC/B,oBAAA,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,WAAW,CAAC,EACnD;oBACD,IAAI,SAAS,CAAC,cAAc,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE;wBACrD,OAAO,SAAS,CAAC,aAAa,CAAC;AAC/B,qBAAA;yBAAM,IAAI,SAAS,CAAC,cAAc,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE;wBACzD,OAAO,SAAS,CAAC,UAAU,CAAC;AAC5B,qBAAA;yBAAM,IAAI,cAAc,CAAC,WAAW,EAAE;AACtC,wBAAA,OAAO,SAAS,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;AAC7C,qBAAA;AACD,iBAAA;AACD,aAAA;AACD,SAAA;AACD,QAAA,OAAO,SAAS,CAAC;KACjB;IACD,UAAU,CAAC,KAAW,EAAE,MAAc,EAAA;AACrC,QAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;AAE7B,QAAA,MAAM,MAAM,GAAG;AACd,YAAA,EAAE,EAAE;gBACH,OAAO;gBACP,SAAS;gBACT,OAAO;gBACP,OAAO;gBACP,MAAM;gBACN,OAAO;gBACP,OAAO;gBACP,QAAQ;gBACR,YAAY;gBACZ,SAAS;gBACT,WAAW;gBACX,WAAW;AACX,aAAA;AACD,YAAA,EAAE,EAAE;gBACH,SAAS;gBACT,UAAU;gBACV,OAAO;gBACP,OAAO;gBACP,KAAK;gBACL,MAAM;gBACN,MAAM;gBACN,QAAQ;gBACR,WAAW;gBACX,SAAS;gBACT,UAAU;gBACV,UAAU;AACV,aAAA;AACD,YAAA,EAAE,EAAE;gBACH,SAAS;gBACT,SAAS;gBACT,MAAM;gBACN,OAAO;gBACP,KAAK;gBACL,MAAM;gBACN,SAAS;gBACT,MAAM;gBACN,WAAW;gBACX,SAAS;gBACT,UAAU;gBACV,UAAU;AACV,aAAA;AACD,YAAA,EAAE,EAAE;gBACH,QAAQ;gBACR,SAAS;gBACT,MAAM;gBACN,OAAO;gBACP,KAAK;gBACL,MAAM;gBACN,MAAM;gBACN,QAAQ;gBACR,WAAW;gBACX,SAAS;gBACT,UAAU;gBACV,UAAU;AACV,aAAA;AACD,YAAA,EAAE,EAAE;gBACH,SAAS;gBACT,UAAU;gBACV,OAAO;gBACP,QAAQ;gBACR,QAAQ;gBACR,QAAQ;gBACR,QAAQ;gBACR,QAAQ;gBACR,WAAW;gBACX,SAAS;gBACT,UAAU;gBACV,UAAU;AACV,aAAA;SACD,CAAC;AAEF,QAAA,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAEpC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC5C,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AAEhC,QAAA,OAAO,CAAG,EAAA,KAAK,CAAI,CAAA,EAAA,IAAI,EAAE,CAAC;KAC1B;AACD;;;;;AAKG;AACH,IAAA,YAAY,CAAC,UAAkB,EAAE,KAAU,EAAE,SAAc,EAAE,MAAe,EAAA;QAC3E,IAAI,YAAY,GAAW,IAAI,CAAC;QAChC,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;AAC7B,YAAA,IAAI,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YACvD,IAAI,SAAS,IAAI,MAAM,EAAE;gBACxB,IAAI,UAAU,GAAW,KAAK,CAAC,SAAS,CACvC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EACtB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAClB,CAAC;AACF,gBAAA,UAAU,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACrE,IAAI,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAC5C,gBAAA,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,EAAE;oBAC7B,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAClD,iBAAA;AAAM,qBAAA,IAAI,SAAS,EAAE;AACrB,oBAAA,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAChE,iBAAA;AAAM,qBAAA;oBACN,YAAY,GAAG,EAAE,CAAC;AAClB,iBAAA;AACD,aAAA;iBAAM,IAAI,SAAS,IAAI,QAAQ,EAAE;AACjC,gBAAA,IAAI,WAAW,GAAW,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC5C,IAAI,WAAW,IAAI,SAAS,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;oBACpD,IAAI,YAAY,GAAW,KAAK,CAAC,SAAS,CACzC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EACtB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAClB,CAAC;AACF,oBAAA,YAAY,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACzE,oBAAA,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CACzC,WAAW,EACX,IAAI,CAAC,MAAM,EACX,EAAE,EACF,YAAY,CACZ,CAAC;AACF,iBAAA;AAAM,qBAAA;oBACN,OAAO,CAAC,GAAG,CACV,WAAW;wBACV,SAAS;wBACT,mBAAmB;wBACnB,KAAK;AACL,wBAAA,8BAA8B,CAC/B,CAAC;oBACF,YAAY,GAAG,EAAE,CAAC;AAClB,iBAAA;AACD,aAAA;AAAM,iBAAA;gBACN,OAAO,CAAC,GAAG,CAAC,uCAAuC,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC;AACxE,aAAA;AACD,SAAA;aAAM,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;YACpC,IACC,SAAS,KAAK,IAAI;AAClB,gBAAA,SAAS,KAAK,SAAS;gBACvB,SAAS,CAAC,aAAa,KAAK,SAAS;AACrC,gBAAA,SAAS,CAAC,aAAa,KAAK,IAAI,EAC/B;AACD,gBAAA,YAAY,GAAG,SAAS,CAAC,aAAa,CAAC;AACvC,aAAA;AAAM,iBAAA;gBACN,YAAY,GAAG,SAAS,CAAC;AACzB,aAAA;;AAED,SAAA;AAAM,aAAA;YACN,OAAO,CAAC,GAAG,CAAC,gCAAgC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC;AAC7D,SAAA;AACD,QAAA,IAAI,UAAU,IAAI,YAAY,KAAK,IAAI,EAAE;;AAExC,YAAA,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;;AAExD,SAAA;AACD,QAAA,OAAO,UAAU,CAAC;KAClB;AAED,IAAA,iCAAiC,CAAC,UAAkB,EAAA;QACnD,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACrD,MAAM,uBAAuB,GAAG,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACnE,MAAM,yBAAyB,GAAG,UAAU,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACvE,IAAI,mBAAmB,GAAG,EAAE,CAAC;AAC7B,QAAA,IACC,uBAAuB;YACvB,uBAAuB,CAAC,MAAM,GAAG,CAAC;YAClC,yBAAyB;AACzB,YAAA,yBAAyB,CAAC,MAAM,GAAG,CAAC,EACnC;AACD,YAAA,mBAAmB,GAAG,uBAAuB,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;AAChF,SAAA;AAAM,aAAA,IAAI,uBAAuB,IAAI,uBAAuB,CAAC,MAAM,GAAG,CAAC,EAAE;AACzE,YAAA,mBAAmB,GAAG,uBAAuB,CAAC,KAAK,EAAE,CAAC;AACtD,SAAA;AAAM,aAAA,IAAI,yBAAyB,IAAI,yBAAyB,CAAC,MAAM,GAAG,CAAC,EAAE;AAC7E,YAAA,mBAAmB,GAAG,yBAAyB,CAAC,KAAK,EAAE,CAAC;AACxD,SAAA;QACD,MAAM,MAAM,GAAU,EAAE,CAAC;AAEzB,QAAA,IAAI,UAAU,EAAE;AACf,YAAA,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE;gBAC/B,MAAM,SAAS,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC/C,gBAAA,IAAI,mBAAmB,EAAE;AACxB,oBAAA,KAAK,MAAM,cAAc,IAAI,mBAAmB,EAAE;wBACjD,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wBAC5C,IAAI,KAAK,IAAI,CAAC,EAAE;AACf,4BAAA,SAAS,CAAC,KAAK,GAAG,cAAc,CAAC;4BACjC,MAAM;AACN,yBAAA;AACD,qBAAA;AACD,iBAAA;AACD,gBAAA,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACvB,aAAA;AACD,SAAA;AAED,QAAA,OAAO,MAAM,CAAC;KACd;IAED,0BAA0B,CAAC,oBAA2B,EAAE,QAAe,EAAA;QACtE,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,QAAA,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;YACzB,MAAM,OAAO,GAAG,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAI;AACtC,gBAAA,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE;AAClC,oBAAA,oBAAoB,CAAC,OAAO,CAAC,CAAC,MAAM,KAAI;wBACvC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,QAAQ,EAAE;4BAC5C,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrC,yBAAA;AACF,qBAAC,CAAC,CAAC;AACH,iBAAA;AACF,aAAC,CAAC,CAAC;AACH,YAAA,IAAI,OAAO,EAAE;AACZ,gBAAA,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACtB,aAAA;AACF,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,OAAO,CAAC;KACf;AAED,IAAA,2BAA2B,CAAC,IAAY,EAAE,QAAe,EAAE,UAAiB,EAAA;QAC3E,MAAM,eAAe,GAAU,EAAE,CAAC;AAClC,QAAA,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;YACzB,MAAM,QAAQ,GAAG,EAAE,CAAC;AACpB,YAAA,MAAM,cAAc,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAI;AACtC,gBAAA,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;AAC5B,oBAAA,IAAI,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;wBAC7D,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrC,wBAAA,cAAc,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAChD,KAAK,CAAC,GAAG,EACT,IAAI,CAAC,QAAQ,CAAC,CACd,CAAC;AACF,qBAAA;AACF,iBAAC,CAAC,CAAC;AACJ,aAAC,CAAC,CAAC;AACH,YAAA,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACtC,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,eAAe,CAAC;KACvB;AAED,IAAA,qBAAqB,CAAC,UAAkB,EAAA;QACvC,IAAI,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACnD,IAAI,uBAAuB,GAAG,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACjE,IAAI,yBAAyB,GAAG,UAAU,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACrE,IAAI,mBAAmB,GAAG,EAAE,CAAC;AAC7B,QAAA,IACC,uBAAuB;YACvB,uBAAuB,CAAC,MAAM,GAAG,CAAC;YAClC,yBAAyB;AACzB,YAAA,yBAAyB,CAAC,MAAM,GAAG,CAAC,EACnC;AACD,YAAA,mBAAmB,GAAG,uBAAuB,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;AAChF,SAAA;AAAM,aAAA,IAAI,uBAAuB,IAAI,uBAAuB,CAAC,MAAM,GAAG,CAAC,EAAE;AACzE,YAAA,mBAAmB,GAAG,uBAAuB,CAAC,KAAK,EAAE,CAAC;AACtD,SAAA;AAAM,aAAA,IAAI,yBAAyB,IAAI,yBAAyB,CAAC,MAAM,GAAG,CAAC,EAAE;AAC7E,YAAA,mBAAmB,GAAG,yBAAyB,CAAC,KAAK,EAAE,CAAC;AACxD,SAAA;QACD,IAAI,MAAM,GAAU,EAAE,CAAC;AAEvB,QAAA,IAAI,UAAU,EAAE;AACf,YAAA,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE;gBAC/B,IAAI,OAAO,GAAW,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACrD,IAAI,OAAO,KAAK,IAAI,EAAE;oBACrB,SAAS;AACT,iBAAA;gBACD,IAAI,SAAS,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC7C,gBAAA,IAAI,mBAAmB,EAAE;AACxB,oBAAA,KAAK,MAAM,cAAc,IAAI,mBAAmB,EAAE;wBACjD,IAAI,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wBAC1C,IAAI,KAAK,IAAI,CAAC,EAAE;AACf,4BAAA,SAAS,CAAC,KAAK,GAAG,cAAc,CAAC;4BACjC,MAAM;AACN,yBAAA;AACD,qBAAA;AACD,iBAAA;AACD,gBAAA,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACvB,aAAA;AACD,SAAA;AAED,QAAA,OAAO,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAgDd;IAED,uBAAuB,CAAC,UAAkB,EAAE,KAAa,EAAA;QACxD,IAAI,eAAe,GAAW,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7D,IAAI,YAAY,GAAW,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC1D,IAAI,CAAC,GACJ,eAAe,GAAG,CAAC,IAAI,YAAY,IAAI,CAAC;AACvC,cAAE,YAAY;AACd,cAAE,YAAY,GAAG,CAAC,IAAI,eAAe,IAAI,CAAC;AAC1C,kBAAE,eAAe;kBACf,eAAe,GAAG,YAAY;AAChC,sBAAE,eAAe;sBACf,YAAY,CAAC;AACjB,QAAA,OAAO,CAAC,CAAC;KACT;AAED;;;;;AAKG;AACH,IAAA,iCAAiC,CAChC,SAAiB,EACjB,OAAe,EACf,aAAoB,EAAA;QAEpB,IAAI,QAAQ,GAAU,EAAE,CAAC;AACzB,QAAA,IAAI,aAAa,EAAE;AAClB,YAAA,KAAK,IAAI,QAAQ,IAAI,aAAa,EAAE;gBACnC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;AAC3D,aAAA;AACD,SAAA;QACD,OAAO,IAAI,CAAC,2BAA2B,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;KACtE;AACD;;;;AAIG;AACH,IAAA,2BAA2B,CAAC,SAAiB,EAAE,OAAe,EAAE,aAAkB,EAAA;QACjF,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;YACpC,MAAM;AACL,gBAAA,OAAO,EAAE,uBAAuB,GAAG,SAAS,GAAG,aAAa;AAC5D,gBAAA,KAAK,EAAE,SAAS;gBAChB,KAAK,EACJ,uBAAuB,GAAG,SAAS,GAAG,wBAAwB,GAAG,OAAO,GAAG,IAAI;aAChF,CAAC;AACF,SAAA;AACD,QAAA,IAAI,cAAc,GAAW,OAAO,CAAC,QAAQ,EAAE,CAAC;AAChD,QAAA,IAAI,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;AACzC,YAAA,OAAO,cAAc,CAAC;AACtB,SAAA;;QAED,IAAI,WAAW,GAAU,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;AACpE,QAAA,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE;AAC5B,YAAA,OAAO,cAAc,CAAC;AACtB,SAAA;;AAED,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC5C,YAAA,IAAI,WAAW,GACd,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,SAAS;kBAC5C,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;kBACjC,IAAI,CAAC;AACT,YAAA,IAAI,QAAQ,CAAC;YACb,IAAI,WAAW,IAAI,IAAI,EAAE;gBACxB,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC/E,WAAW;AACV,oBAAA,aAAa,CAAC,QAAQ,CAAC,KAAK,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;gBAExE,IAAI,WAAW,IAAI,IAAI,EAAE;AACxB,oBAAA,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG;AAC3B,yBAAA,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;AAChB,yBAAA,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;AAChB,yBAAA,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACb,yBAAA,WAAW,EAAE,CAAC;oBAChB,WAAW;AACV,wBAAA,aAAa,CAAC,QAAQ,CAAC,KAAK,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;AACxE,oBAAA,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,SAAS,EAAE;AACtD,wBAAA,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG;AACjC,6BAAA,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;AAChB,6BAAA,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;AAChB,6BAAA,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;6BACb,KAAK,CAAC,GAAG,CAAC,CAAC;AACb,wBAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;4BACxB,IAAI,KAAK,GAAG,aAAa,CAAC;AAC1B,4BAAA,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;AACrD,gCAAA,IAAI,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;gCAC9B,IAAI,KAAK,IAAI,CAAC,EAAE;AACf,oCAAA,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;AAChC,iCAAA;AACD,gCAAA,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;AACvB,6BAAA;4BACD,WAAW,GAAG,KAAK,CAAC;AACpB,yBAAA;AACD,qBAAA;AACD,iBAAA;AACD,aAAA;YACD,IAAI,WAAW,IAAI,IAAI,EAAE;;AAExB;;;;;;AAMG;gBACH,WAAW,GAAG,EAAE,CAAC;AACjB,aAAA;YACD,IAAI,WAAW,IAAI,IAAI,EAAE;;;;;;AAMxB,gBAAA,IAAI,KAAU,CAAC;AACf,gBAAA,IAAG,MAAM,CAAC,WAAW,CAAC,EAAC;AACtB,oBAAA,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAC5B,iBAAA;AAAK,qBAAA,IAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAC;AACnC,oBAAA,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AACnC,iBAAA;AAAK,qBAAA,IAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAC;oBACpC,KAAK,GAAG,WAAW,CAAC,aAAa,GAAG,GAAG,GAAG,WAAW,CAAC,aAAa,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;AACxG,iBAAA;AAAI,qBAAA;AACJ,oBAAA,KAAK,GAAG,GAAG,GAAG,WAAW,GAAG,GAAG,CAAC;AAChC,iBAAA;AACD,gBAAA,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;;;;;;;;;;AAUhF,gBAAA,IAAI,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;;oBAEhE,IAAI,eAAe,GAAa,cAAc,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;oBACpE,IAAI,kBAAkB,GAAa,EAAE,CAAC;AACtC,oBAAA,eAAe,CAAC,OAAO,CAAC,CAAC,UAAkB,KAAI;wBAC9C,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;4BAChC,IAAI,UAAU,GAAW,EAAE,CAAC;AAC5B,4BAAA,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,4BAAA,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACpC,yBAAA;AAAM,6BAAA;AACN,4BAAA,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACpC,yBAAA;AACF,qBAAC,CAAC,CAAC;AACH,oBAAA,cAAc,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9C,iBAAA;AACD,aAAA;AACD,SAAA;AACD,QAAA,OAAO,cAAc,CAAC;KACtB;AAED;;;;;;;;AAQG;AACH,IAAA,OAAO,CAAC,UAAkB,EAAA;AACzB,QAAA,IAAI,aAAa,GAAG,IAAI,MAAM,CAAC,iBAAiB,CAAC,CAAC;;QAElD,IAAI,QAAQ,GAAa,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;;;QAGzD,IAAI,QAAQ,IAAI,IAAI,EAAE;AACrB,YAAA,OAAO,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;AACxE,YAAA,OAAO,OAAO,CAAC;AACf,SAAA;;;;QAID,IAAI,UAAU,EAAE,cAAc,CAAC;AAC/B,QAAA,CAAC,UAAU,EAAE,cAAc,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;;QAE7D,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;;QAEvD,IAAI,CAAC,UAAU,EAAE;AAChB,YAAA,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;AACzD,YAAA,OAAO,OAAO,CAAC;AACf,SAAA;;QAED,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;;AAE9D,QAAA,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;;;QAInC,IAAI,UAAU,GAAY,IAAI,CAAC;AAC/B,QAAA,QAAQ,QAAQ,CAAC,CAAC,CAAC;AAClB,YAAA,KAAK,IAAI;AACR,gBAAA,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,cAAc,CAAC,CAAC;gBAC7D,MAAM;AACP,YAAA,KAAK,KAAK;AACT,gBAAA,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,cAAc,CAAC,CAAC;gBAC9D,MAAM;AACP,YAAA,KAAK,KAAK;AACT,gBAAA,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,cAAc,CAAC,CAAC;gBAC9D,MAAM;AACP,YAAA,KAAK,IAAI;AACR,gBAAA,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,cAAc,CAAC,CAAC;gBAC7D,MAAM;AACP,YAAA;gBACC,MAAM;AACP,SAAA;QACD,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC;AAC3C,QAAA,OAAO,UAAU,CAAC;KAClB;AAED;;;;;AAKG;AACH,IAAA,eAAe,CAAC,YAAiB,EAAE,WAAmB,EAAE,OAAe,EAAA;QACtE,IAAI,WAAW,GAAY,KAAK,CAAC;;QAEjC,IAAI,YAAY,GAAU,EAAE,CAAC;AAC7B,QAAA,KAAK,IAAI,KAAK,IAAI,YAAY,EAAE;AAC/B,YAAA,KAAK,IAAI,UAAU,IAAI,KAAK,CAAC,KAAK,EAAE;AACnC,gBAAA,KAAK,IAAI,WAAW,IAAI,UAAU,CAAC,KAAK,EAAE;AACzC,oBAAA,KAAK,IAAI,cAAc,IAAI,WAAW,EAAE;wBACvC,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,MAAM;AACvD,8BAAE,cAAc,CAAC,MAAM,CAAC,IAAI,IAAI,QAAQ;AACvC,kCAAE,GAAG;AACL,kCAAE,EAAE;8BACH,EAAE,CAAC;AACN,qBAAA;AACD,iBAAA;AACD,aAAA;AACD,SAAA;QACD,IAAI;YACH,OAAO,GAAG,IAAI,CAAC,2BAA2B,CAAC,WAAW,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;AAC/E,SAAA;AAAC,QAAA,OAAO,KAAK,EAAE;;AAEf,YAAA,MAAM,KAAK,CAAC;AACZ,SAAA;QACD,IAAI,OAAO,KAAK,IAAI,EAAE;YACrB,IAAI;AACH,gBAAA,IAAI,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;gBACrE,WAAW,GAAG,IAAI,CAAC;AACnB,aAAA;AAAC,YAAA,OAAO,CAAC,EAAE;;gBAEX,MAAM;AACL,oBAAA,OAAO,EAAE,mCAAmC;AAC5C,oBAAA,KAAK,EAAE,SAAS;AAChB,oBAAA,KAAK,EAAE,CAAC;iBACR,CAAC;AACF,aAAA;AACD,SAAA;AACD,QAAA,OAAO,WAAW,CAAC;KACnB;IAED,wBAAwB,CAAC,MAAc,EAAE,MAAc,EAAA;AACtD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,gCAAgC,EAC9E;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAChC,iBAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAClC,SAAA,CACD,CAAC;KACF;;AAp7CD;AACO,YAAkB,CAAA,kBAAA,GAAW,qBAAsB,CAAA;AAK1D;AACO,YAAgB,CAAA,gBAAA,GAAW,KAAM,CAAA;AACxC;AACO,YAAkB,CAAA,kBAAA,GAAW,aAAc,CAAA;AAClD;AACO,YAAsB,CAAA,sBAAA,GAAW,WAAY,CAAA;AACpD;AACO,YAAoB,CAAA,oBAAA,GAAW,UAAW,CAAA;AACjD;AACO,YAAkB,CAAA,kBAAA,GAAW,UAAW,CAAA;AAC/C;AACO,YAAqB,CAAA,qBAAA,GAAW,WAAY,CAAA;AACnD;AACO,YAAyC,CAAA,yCAAA,GAAW,mCAAoC,CAAA;AAC/F;AACO,YAA6B,CAAA,6BAAA,GAAW,mBAAoB,CAAA;AACnE;AACO,YAAgB,CAAA,gBAAA,GAAW,OAAQ,CAAA;AAC1C;AACO,YAAiB,CAAA,iBAAA,GAAW,MAAO,CAAA;AAC1C;AACO,YAAqB,CAAA,qBAAA,GAAW,UAAW,CAAA;AAClD;AACO,YAA8B,CAAA,8BAAA,GAAW,aAAc,CAAA;AAC9D;AACO,YAAkD,CAAA,kDAAA,GAAW,kBAAmB,CAAA;AACvF;AACO,YAAsD,CAAA,sDAAA,GAAW,sBAAuB,CAAA;AAC/F;AACO,YAAqD,CAAA,qDAAA,GAAW,sBAAuB,CAAA;AAC9F;AACO,YAAmD,CAAA,mDAAA,GAAW,mBAAoB,CAAA;AACzF;AACO,YAAuD,CAAA,uDAAA,GAC7D,uBAAwB,CAAA;AACzB;AACO,YAAsD,CAAA,sDAAA,GAAW,uBAAwB,CAAA;AAChG;AACO,YAAkC,CAAA,kCAAA,GAAW,iBAAkB,CAAA;AACtE;AACO,YAA2C,CAAA,2CAAA,GACjD,wCAAyC,CAAA;AAC1C;AACO,YAAsC,CAAA,sCAAA,GAAW,oBAAqB,CAAA;AAC7E;AACO,YAAuC,CAAA,uCAAA,GAAW,yBAA0B,CAAA;AACnF;AACO,YAAqC,CAAA,qCAAA,GAAW,sBAAuB,CAAA;AAC9E;AACO,YAA8B,CAAA,8BAAA,GAAW,kBAAmB,CAAA;AACnE;AACO,YAAgC,CAAA,gCAAA,GAAW,sBAAuB,CAAA;AACzE;AACO,YAAqC,CAAA,qCAAA,GAAW,oBAAqB,CAAA;AAC5E;AACO,YAAqC,CAAA,qCAAA,GAAW,kBAAmB,CAAA;AAC1E;AACO,YAA8B,CAAA,8BAAA,GAAW,aAAc,CAAA;AAC9D;AACO,YAA6B,CAAA,6BAAA,GAAW,YAAa,CAAA;AAC5D;AACO,YAA8B,CAAA,8BAAA,GAAW,iBAAkB,CAAA;AAClE;AACO,YAAoC,CAAA,oCAAA,GAAW,sBAAuB,CAAA;AAC7E;AACO,YAA0B,CAAA,0BAAA,GAAW,aAAc,CAAA;AAC1D;AACO,YAAgC,CAAA,gCAAA,GAAW,kBAAmB,CAAA;AACrE;AACO,YAA2B,CAAA,2BAAA,GAAW,cAAe,CAAA;AAC5D;AACO,YAAiC,CAAA,iCAAA,GAAW,mBAAoB,CAAA;AACvE;AACO,YAAgC,CAAA,gCAAA,GAAW,eAAgB,CAAA;AAClE;AACO,YAAiC,CAAA,iCAAA,GAAW,eAAgB,CAAA;AACnE;AACO,YAAuC,CAAA,uCAAA,GAAW,sBAAuB,CAAA;AAChF;AACO,YAAoC,CAAA,oCAAA,GAAW,gBAAiB,CAAA;AACvE;AACO,YAA+B,CAAA,+BAAA,GAAW,kBAAmB,CAAA;AACpE;AACO,YAA6B,CAAA,6BAAA,GAAW,YAAa,CAAA;AAC5D;AACO,YAA4B,CAAA,4BAAA,GAAW,cAAe,CAAA;AAC7D;AACO,YAAoC,CAAA,oCAAA,GAAW,oBAAqB,CAAA;AAC3E;AACO,YAAmC,CAAA,mCAAA,GAAW,kBAAmB,CAAA;AACxE;AACO,YAAoC,CAAA,oCAAA,GAAW,kBAAmB,CAAA;AACzE;AACO,YAA8C,CAAA,8CAAA,GAAW,kBAAmB,CAAA;AACnF;AACO,YAAsC,CAAA,sCAAA,GAAW,yBAA0B,CAAA;AAClF;AACO,YAAoC,CAAA,oCAAA,GAAW,uBAAwB,CAAA;AAC9E;AACO,YAA2B,CAAA,2BAAA,GAAW,iBAAkB,CAAA;AAC/D;AACO,YAA+B,CAAA,+BAAA,GAAW,mBAAoB,CAAA;AACrE;AACO,YAA2B,CAAA,2BAAA,GAAW,qBAAsB,CAAA;AACnE;AACO,YAA+B,CAAA,+BAAA,GAAW,mBAAoB,CAAA;AACrE;AACO,YAA4B,CAAA,4BAAA,GAAW,gBAAiB,CAAA;AAC/D;AACO,YAAmC,CAAA,mCAAA,GAAW,sBAAuB,CAAA;AAC5E;AACO,YAAiB,CAAA,iBAAA,GAAW,KAAM,CAAA;AACzC;AACO,YAAmB,CAAA,mBAAA,GAAW,KAAM,CAAA;AAC3C;AACO,YAAkB,CAAA,kBAAA,GAAW,KAAM,CAAA;AAC1C;AACO,YAAiC,CAAA,iCAAA,GAAW,sBAAuB,CAAA;AAC1E;AACO,YAAqC,CAAA,qCAAA,GAAW,wBAAyB,CAAA;AAChF;AACO,YAA4C,CAAA,4CAAA,GAAW,qBAAsB,CAAA;AACpF;AACO,YAA4B,CAAA,4BAAA,GAAW,aAAc,CAAA;AAC5D;AACO,YAAoC,CAAA,oCAAA,GAAW,2BAA4B,CAAA;AAClF;AACO,YAAwC,CAAA,wCAAA,GAAW,2BAA4B,CAAA;AACtF;AACO,YAAsC,CAAA,sCAAA,GAAW,wBAAyB,CAAA;AACjF;AACO,YAA4B,CAAA,4BAAA,GAAW,iBAAkB,CAAA;AAChE;AACO,YAAyC,CAAA,yCAAA,GAAW,2BAA4B,CAAA;AACvF;AACO,YAAiC,CAAA,iCAAA,GAAW,oBAAqB,CAAA;AACxE;AACO,YAA0C,CAAA,0CAAA,GAAW,+BAAgC,CAAA;AAC5F;AACO,YAAyC,CAAA,yCAAA,GAAW,4BAA6B,CAAA;AACxF;AACO,YAAwB,CAAA,wBAAA,GAAW,WAAY,CAAA;AACtD;AACO,YAAkD,CAAA,kDAAA,GACxD,oCAAqC,CAAA;AACtC;AACO,YAAyC,CAAA,yCAAA,GAAW,4BAA6B,CAAA;AACjF,YAAqB,CAAA,qBAAA,GAAW,SAAU,CAAA;AAC1C,YAA+B,CAAA,+BAAA,GAAG,iBAAiB,CAAC;AACpD,YAAoC,CAAA,oCAAA,GAAG,qBAAqB,CAAC;AAC7D,YAA4C,CAAA,4CAAA,GAAG,6BAA6B,CAAC;AAC7E,YAAA,CAAA,aAAa,GAAU;AAC7B,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,8BAA8B;AAChD,QAAA,KAAK,EAAE,cAAc;AACrB,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,0BAA0B;AAC5C,QAAA,KAAK,EAAE,UAAU;AACjB,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,2BAA2B;AAC7C,QAAA,KAAK,EAAE,WAAW;AAClB,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,gCAAgC;AAClD,QAAA,KAAK,EAAE,eAAe;AACtB,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,iCAAiC;AACnD,QAAA,KAAK,EAAE,iBAAiB;AACxB,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,uCAAuC;AACzD,QAAA,KAAK,EAAE,uBAAuB;AAC9B,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,qCAAqC;AACvD,QAAA,KAAK,EAAE,wBAAwB;AAC/B,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,qCAAqC;AACvD,QAAA,KAAK,EAAE,qBAAqB;AAC5B,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,8BAA8B;AAChD,QAAA,KAAK,EAAE,cAAc;AACrB,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,6BAA6B;AAC/C,QAAA,KAAK,EAAE,eAAe;AACtB,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,oCAAoC;AACtD,QAAA,KAAK,EAAE,iBAAiB;AACxB,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,+BAA+B;AACjD,QAAA,KAAK,EAAE,sBAAsB;AAC7B,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,6BAA6B;AAC/C,QAAA,KAAK,EAAE,iBAAiB;AACxB,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,4BAA4B;AAC9C,QAAA,KAAK,EAAE,eAAe;AACtB,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,oCAAoC;AACtD,QAAA,KAAK,EAAE,qBAAqB;AAC5B,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,mCAAmC;AACrD,QAAA,KAAK,EAAE,mBAAmB;AAC1B,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,oCAAoC;AACtD,QAAA,KAAK,EAAE,sBAAsB;AAC7B,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,8CAA8C;AAChE,QAAA,KAAK,EAAE,sBAAsB;AAC7B,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,sCAAsC;AACxD,QAAA,KAAK,EAAE,iCAAiC;AACxC,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,oCAAoC;AACtD,QAAA,KAAK,EAAE,+BAA+B;AACtC,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,2BAA2B;AAC7C,QAAA,KAAK,EAAE,kBAAkB;AACzB,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,+BAA+B;AACjD,QAAA,KAAK,EAAE,oBAAoB;AAC3B,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,2BAA2B;AAC7C,QAAA,KAAK,EAAE,0BAA0B;AACjC,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,wCAAwC;AAC1D,QAAA,KAAK,EAAE,6BAA6B;AACpC,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,sCAAsC;AACxD,QAAA,KAAK,EAAE,0BAA0B;AACjC,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,+BAA+B;AACjD,QAAA,KAAK,EAAE,uBAAuB;AAC9B,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,4BAA4B;AAC9C,QAAA,KAAK,EAAE,iBAAiB;AACxB,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,mCAAmC;AACrD,QAAA,KAAK,EAAE,0BAA0B;AACjC,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,iCAAiC;AACnD,QAAA,KAAK,EAAE,6BAA6B;AACpC,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,qCAAqC;AACvD,QAAA,KAAK,EAAE,+BAA+B;AACtC,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,4CAA4C;AAC9D,QAAA,KAAK,EAAE,4BAA4B;AACnC,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,oCAAoC;AACtD,QAAA,KAAK,EAAE,8BAA8B;AACrC,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,iBAAiB;AACnC,QAAA,KAAK,EAAE,KAAK;AACZ,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,mBAAmB;AACrC,QAAA,KAAK,EAAE,KAAK;AACZ,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,kBAAkB;AACpC,QAAA,KAAK,EAAE,KAAK;AACZ,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,4BAA4B;AAC9C,QAAA,KAAK,EAAE,oBAAoB;AAC3B,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,4BAA4B;AAC9C,QAAA,KAAK,EAAE,qBAAqB;AAC5B,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,yCAAyC;AAC3D,QAAA,KAAK,EAAE,8BAA8B;AACrC,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,iCAAiC;AACnD,QAAA,KAAK,EAAE,cAAc;AACrB,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,0CAA0C;AAC5D,QAAA,KAAK,EAAE,wCAAwC;AAC/C,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,yCAAyC;AAC3D,QAAA,KAAK,EAAE,kCAAkC;AACzC,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,wBAAwB;AAC1C,QAAA,KAAK,EAAE,qBAAqB;AAC5B,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,yCAAyC;AAC3D,QAAA,KAAK,EAAE,+CAA+C;AACtD,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,kDAAkD;AACpE,QAAA,KAAK,EAAE,6CAA6C;AACpD,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,qBAAqB;AACvC,QAAA,KAAK,EAAE,gBAAgB;AACvB,KAAA;IACD,EAAE,GAAG,EAAE,YAAY,CAAC,+BAA+B,EAAE,KAAK,EAAE,uBAAuB,EAAE;AACrF,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,oCAAoC;AACtD,QAAA,KAAK,EAAE,yBAAyB;AAChC,KAAA;AACD,IAAA;QACC,GAAG,EAAE,YAAY,CAAC,4CAA4C;AAC9D,QAAA,KAAK,EAAE,kCAAkC;AACzC,KAAA;CACA,CAAA;AAEK,YAAA,CAAA,aAAa,GAAG;AACtB,IAAA,YAAY,CAAC,oCAAoC,CAAC,WAAW,EAAE;AAC/D,IAAA,YAAY,CAAC,wCAAwC,CAAC,WAAW,EAAE;AACnE,IAAA,YAAY,CAAC,sCAAsC,CAAC,WAAW,EAAE;CACjE,CAAC;AAlWU,YAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,kBAqWf,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AArWV,YAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cAFZ,MAAM,EAAA,CAAA,CAAA;2FAEN,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAsWE,MAAM;+BAAC,aAAa,CAAA;;yBAhWI,MAAM,EAAA,CAAA;sBAA/B,MAAM;uBAAC,SAAS,CAAA;;;MCML,aAAa,CAAA;AAczB,IAAA,WAAA,CACgC,WAAgB,EACvC,UAAsB,EACtB,WAAkC,EAClC,MAAqB,EAAA;AAHE,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AACvC,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AACtB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAuB;AAClC,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAe;;AAhB9B,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,OAAO,EAA6B,CAAC;;AAIhE,QAAA,IAAA,CAAA,4BAA4B,GAAG,IAAI,OAAO,EAAkC,CAAC;;AAI7E,QAAA,IAAA,CAAA,0BAA0B,GAAG,IAAI,OAAO,EAAgC,CAAC;KASrE;;AAGJ,IAAA,wBAAwB,CAAC,UAAkB,EAAA;AAC1C,QAAA,IAAI,CAAC,UAAU;AACb,aAAA,GAAG,CACH,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,4CAA4C,EACjF;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACxC,iBAAA,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC;SAC9B,CACD;AACA,aAAA,IAAI,CACJ,GAAG,CAAC,CAAC,aAAwC,KAAI;AAChD,YAAA,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;AAC9C,gBAAA,KAAK,IAAI,GAAG,IAAI,aAAa,EAAE;AAC9B,oBAAA,IAAI,YAAY,GAA4B,MAAM,CAAC,MAAM,CACxD,IAAI,uBAAuB,EAAE,EAC7B,aAAa,CAAC,GAAG,CAAC,CAClB,CAAC;oBACF,aAAa,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,gBAAgB,EAAE,CAAC;AACrD,iBAAA;AACD,aAAA;AACD,YAAA,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;AACzC,SAAC,CAAC,EACF,UAAU,CAAC,CAAC,KAAK,KAAI;AACpB,YAAA,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;YAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAC;AAC7D,SAAC,CAAC,CACF;AACA,aAAA,SAAS,EAAE,CAAC;KACd;AAED,IAAA,yBAAyB,CAAC,UAAkB,EAAA;AAC3C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,4CAA4C,EACjF;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACxC,iBAAA,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC;AAC9B,SAAA,CACD,CAAC;KACF;;AAGD,IAAA,qBAAqB,CACpB,6BAAsD,EACtD,uBAAgD,EAChD,SAAiB,EAAA;AAEjB,QAAA,IAAI,MAAM,GAAG;AACZ,YAAA,uBAAuB,EAAE,uBAAuB;AAChD,YAAA,6BAA6B,EAAE,6BAA6B;AAC5D,YAAA,UAAU,EAAE,kBAAkB,CAAC,aAAa,EAAE;AAC9C,YAAA,SAAS,EAAE,SAAS;SACpB,CAAC;QACF,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,yBAAyB,EAC9D,MAAM,EACN,WAAW,CACX,CAAC;KACF;AAED,IAAA,mBAAmB,CAAC,aAAwC,EAAA;AAC3D,QAAA,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC;KACtD;IAED,mBAAmB,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;KAClC;IAED,kBAAkB,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,sCAAsC,CAC3E,CAAC;KACF;IAED,sBAAsB,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,0CAA0C,CAC/E,CAAC;KACF;IAED,+BAA+B,GAAA;AAC9B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI;AACjC,YAAA,oDAAoD,CACrD,CAAC;KACF;IAED,uBAAuB,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,4CAA4C,CACjF,CAAC;KACF;;AAGD,IAAA,gCAAgC,CAAC,UAAkB,EAAA;AAClD,QAAA,IAAI,CAAC,UAAU;AACb,aAAA,GAAG,CACH,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,2CAA2C,EAChF,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrE;AACA,aAAA,IAAI,CACJ,GAAG,CAAC,CAAC,qBAAqD,KAAI;AAC7D,YAAA,IAAI,qBAAqB,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;AAC9D,gBAAA,KAAK,IAAI,GAAG,IAAI,qBAAqB,EAAE;AACtC,oBAAA,IAAI,mBAAmB,GAAiC,MAAM,CAAC,MAAM,CACpE,IAAI,4BAA4B,EAAE,EAClC,qBAAqB,CAAC,GAAG,CAAC,CAC1B,CAAC;oBACF,qBAAqB,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,gBAAgB,EAAE,CAAC;AACpE,iBAAA;AACD,gBAAA,IAAI,CAAC,2BAA2B,CAAC,qBAAqB,CAAC,CAAC;AACxD,gBAAA,OAAO,qBAAqB,CAAC;AAC7B,aAAA;AAAM,iBAAA;AACN,gBAAA,OAAO,EAAE,CAAC;AACV,aAAA;AACF,SAAC,CAAC,EACF,UAAU,CAAC,CAAC,KAAK,KAAI;AACpB,YAAA,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;YAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAC;AAC7D,SAAC,CAAC,CACF,CAAC,SAAS,EAAE,CAAC;KACf;;AAGD,IAAA,6BAA6B,CAC5B,0BAAwD,EACxD,oBAAkD,EAClD,SAAiB,EAAA;AAEjB,QAAA,IAAI,MAAM,GAAG;AACZ,YAAA,4BAA4B,EAAE,oBAAoB;AAClD,YAAA,kCAAkC,EAAE,0BAA0B;AAC9D,YAAA,UAAU,EAAE,kBAAkB,CAAC,aAAa,EAAE;AAC9C,YAAA,SAAS,EAAE,SAAS;SACpB,CAAC;QACF,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,gCAAgC,EACrE,MAAM,EACN,WAAW,CACX,CAAC;KACF;;AAGD,IAAA,+BAA+B,CAC9B,oBAAkD,EAAA;QAElD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,kCAAkC,EACvE,oBAAoB,EACpB,WAAW,CACX,CAAC;KACF;AAED,IAAA,2BAA2B,CAAC,qBAAqD,EAAA;AAChF,QAAA,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;AACnD,QAAA,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;KAC9D;IAED,2BAA2B,GAAA;QAC1B,OAAO,IAAI,CAAC,qBAAqB,CAAC;KAClC;;AAGD,IAAA,8BAA8B,CAAC,UAAkB,EAAA;AAChD,QAAA,IAAI,CAAC,UAAU;aACb,GAAG,CACH,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI;AACjC,YAAA,+CAA+C,EAChD,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrE;AACA,aAAA,IAAI,CACJ,GAAG,CAAC,CAAC,mBAAiD,KAAI;AACzD,YAAA,IAAI,mBAAmB,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE;AAC1D,gBAAA,KAAK,IAAI,GAAG,IAAI,mBAAmB,EAAE;AACpC,oBAAA,IAAI,iBAAiB,GAA+B,MAAM,CAAC,MAAM,CAChE,IAAI,0BAA0B,EAAE,EAChC,mBAAmB,CAAC,GAAG,CAAC,CACxB,CAAC;oBACF,mBAAmB,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;AAChE,iBAAA;AACD,gBAAA,IAAI,CAAC,yBAAyB,CAAC,mBAAmB,CAAC,CAAC;AACpD,gBAAA,OAAO,mBAAmB,CAAC;AAC3B,aAAA;AAAM,iBAAA;AACN,gBAAA,OAAO,EAAE,CAAC;AACV,aAAA;AACF,SAAC,CAAC,EACF,UAAU,CAAC,CAAC,KAAK,KAAI;AACpB,YAAA,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;YAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAC;AAC7D,SAAC,CAAC,CACF,CAAC,SAAS,EAAE,CAAC;KACf;;AAGD,IAAA,0BAA0B,CAAC,UAAkB,EAAA;AAC5C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,+CAA+C,EACpF;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACjE,SAAA,CACD,CAAC;KACF;;AAGD,IAAA,2BAA2B,CAC1B,wBAAoD,EACpD,kBAA8C,EAC9C,SAAiB,EAAA;AAEjB,QAAA,IAAI,MAAM,GAAG;AACZ,YAAA,0BAA0B,EAAE,kBAAkB;AAC9C,YAAA,gCAAgC,EAAE,wBAAwB;AAC1D,YAAA,UAAU,EAAE,kBAAkB,CAAC,aAAa,EAAE;AAC9C,YAAA,SAAS,EAAE,SAAS;SACpB,CAAC;QACF,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,yCAAyC,EAC9E,MAAM,EACN,WAAW,CACX,CAAC;KACF;AAED,IAAA,yBAAyB,CAAC,mBAAiD,EAAA;AAC1E,QAAA,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;AAC/C,QAAA,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;KAC1D;IAED,yBAAyB,GAAA;QACxB,OAAO,IAAI,CAAC,mBAAmB,CAAC;KAChC;AAED;;AAEG;AACH,IAAA,2BAA2B,CAAC,aAAqB,EAAA;AAChD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,gDAAgD,EACrF,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,EAAE,CAC3E,CAAC;KACF;AAED;;AAEG;IACH,yBAAyB,CAAC,aAAqB,EAAE,SAAiB,EAAA;AACjE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,+CAA+C,EACpF;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC;AAC9C,iBAAA,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;AACxC,SAAA,CACD,CAAC;KACF;AAED,IAAA,oBAAoB,CACnB,2BAAyD,EAAA;QAEzD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,yCAAyC,EAC9E,2BAA2B,EAC3B,WAAW,CACX,CAAC;KACF;;AAED,IAAA,iCAAiC,CAAC,UAAkB,EAAA;AACnD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,2CAA2C,EAChF,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrE,CAAC;KACF;;AAtSW,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,kBAehB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAP,qBAAA,EAAA,EAAA,EAAA,KAAA,EAAAO,EAAA,CAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAfV,aAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFb,MAAM,EAAA,CAAA,CAAA;2FAEN,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAgBE,MAAM;+BAAC,aAAa,CAAA;;;;MC7BV,2BAA2B,CAAA;IACvC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;AAEnF,IAAA,gBAAgB,CAAC,UAAkB,EAAA;QACzC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,6CAA6C,UAAU,CAAA,CAAE,CACvG,CAAC;KACF;IAEM,UAAU,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAA,yBAAA,CAA2B,CACzE,CAAC;KACF;AAEM,IAAA,IAAI,CAAC,mBAAwC,EAAA;QACnD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,qBAAqB,EACnE,mBAAmB,CACnB,CAAC;KACF;IAEM,gCAAgC,CAAC,MAAc,EAAE,MAAc,EAAA;AACrE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,iDAAiD,EAClD;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAChC,iBAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAClC,SAAA,CACD,CAAC;KACF;AAEM,IAAA,MAAM,CAAC,EAAU,EAAA;QACvB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,4BAA4B,EAAE,CAAA,CAAE,CAC9E,CAAC;KACF;;AAtCW,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,kBACnB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,2BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,cAF3B,MAAM,EAAA,CAAA,CAAA;2FAEN,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAHvC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCArB,4BAA4B,CAAA;AAwIxC,IAAA,WAAA,CACgC,WAAW,EAClC,UAAsB,EACtB,WAAkC,EAAA;AAFX,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAClC,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AACtB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAuB;AA1InC,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KA2ItF;;IAGJ,gCAAgC,CAAC,UAAkB,EAAE,WAAmB,EAAA;AACvE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,sDAAsD,EACvD;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACxC,iBAAA,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC;AAC5C,SAAA,CACD,CAAC;KACF;;AAGD,IAAA,mBAAmB,CAAC,UAAkB,EAAA;AACrC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,wCAAwC,EACtF,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrE,CAAC;KACF;;AAGD,IAAA,OAAO,CAAC,EAAU,EAAA;AACjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,gCAAgC,EAC9E,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrD,CAAC;KACF;;AAGD,IAAA,IAAI,CAAC,qBAA4C,EAAA;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,6BAA6B,EAC3E,qBAAqB,EACrB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;IAED,8BAA8B,CAAC,MAAc,EAAE,MAAc,EAAA;AAC5D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,uDAAuD,EACxD;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAChC,iBAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAClC,SAAA,CACD,CAAC;KACF;;AAGD,IAAA,cAAc,CAAC,sBAA+C,EAAA;QAC7D,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,uCAAuC,EACrF,sBAAsB,EACtB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,cAAc,CAAC,SAAiB,EAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,uCAAuC,EACrF,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,EAAE,CACnE,CAAC;KACF;;IAGD,2BAA2B,CAAC,UAAkB,EAAE,SAAiB,EAAA;AAChE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,oDAAoD,EACrD;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACxC,iBAAA,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;AACxC,SAAA,CACD,CAAC;KACF;;IAGD,0BAA0B,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,yCAAyC,CAC9E,CAAC;KACF;AAED,IAAA,kBAAkB,CACjB,eAA+B,EAC/B,QAAgB,EAChB,QAAgB,EAAA;AAEhB,QAAA,IAAI,aAAa,GAChB,eAAe,IAAI,eAAe,CAAC,SAAS;cACzC,UAAU,CAAC,yBAAyB,CAAC,eAAe,CAAC,SAAS,CAAC;cAC/D,IAAI,CAAC;AACT,QAAA,IAAI,aAAa,GAAG,QAAQ,GAAG,UAAU,CAAC,yBAAyB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;AACrF,QAAA,IAAI,YAAY,GAAG,QAAQ,GAAG,UAAU,CAAC,yBAAyB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;AACpF,QAAA,IAAI,OAAO,GAAG,aAAa,GAAG,GAAG,GAAG,aAAa,GAAG,EAAE,CAAC;AACvD,QAAA,OAAO,IAAI,aAAa,GAAG,GAAG,GAAG,aAAa,GAAG,EAAE,CAAC;AACpD,QAAA,OAAO,IAAI,YAAY,GAAG,GAAG,GAAG,YAAY,GAAG,EAAE,CAAC;AAClD,QAAA,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AACzD,QAAA,OAAO,OAAO,CAAC;KACf;;IAGD,yBAAyB,CAAC,UAAkB,EAAE,SAAiB,EAAA;AAC9D,QAAA,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE;AAC3B,aAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;aACxC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;AACzC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,kDAAkD,EACnD,EAAE,MAAM,EAAE,MAAM,EAAE,CAClB,CAAC;KACF;;AAGD,IAAA,mBAAmB,CAAC,uBAA+B,EAAA;AAClD,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC,GAAG,CAClC,yBAAyB,EACzB,uBAAuB,CAAC,QAAQ,EAAE,CAClC,CAAC;AACF,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,4CAA4C,EAC7C,EAAE,MAAM,EAAE,CACV,CAAC;KACF;IAED,qBAAqB,CAAC,SAAiB,EAAE,UAAkB,EAAA;QAC1D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;YACtC,IAAI,eAAe,GAAG,YAAY,CAAC,OAAO,CACzC,4BAA4B,CAAC,gBAAgB,CAC7C,CAAC;AACF,YAAA,IAAI,MAAM,CAAC;AACX,YAAA,IAAI,eAAe,EAAE;AACpB,gBAAA,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AACrC,gBAAA,IAAI,MAAM,CAAC,UAAU,CAAC,EAAE;AACvB,oBAAA,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;oBAC5B,OAAO;AACP,iBAAA;AACD,aAAA;AACD,YAAA,IAAI,CAAC,+BAA+B,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,SAAS,CACpE,CAAC,kBAAkB,KAAI;AACtB,gBAAA,IAAI,kBAAkB,EAAE;oBACvB,IAAI,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;AAC9D,oBAAA,IAAI,OAAO,IAAI,OAAO,CAAC,SAAS,EAAE;AACjC,wBAAA,IAAI,MAAM;AAAE,4BAAA,MAAM,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;;4BAC9C,MAAM,GAAG,EAAE,CAAC;AAEjB,wBAAA,YAAY,CAAC,OAAO,CACnB,4BAA4B,CAAC,gBAAgB,EAC7C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CACtB,CAAC;AACF,wBAAA,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;wBAC3B,OAAO;AACP,qBAAA;AACD,iBAAA;gBACD,MAAM,CAAC,gDAAgD,CAAC,CAAC;AAC1D,aAAC,EACD,CAAC,KAAK,KAAI;gBACT,MAAM,CAAC,KAAK,CAAC,CAAC;AACf,aAAC,CACD,CAAC;AACH,SAAC,CAAC,CAAC;KACH;IAEM,+BAA+B,CAAC,SAAiB,EAAE,UAAkB,EAAA;AAC3E,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,2DAA2D,EAC5D;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC;AAClF,SAAA,CACD,CAAC;KACF;AAED,IAAA,YAAY,CAAC,gBAAuB,EAAA;QACnC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,qCAAqC,EACnF,gBAAgB,CAChB,CAAC;KACF;IAED,0BAA0B,CACzB,SAAiB,EACjB,uBAA+B,EAAA;AAE/B,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE;AAC7B,aAAA,GAAG,CAAC,yBAAyB,EAAE,uBAAuB,CAAC,QAAQ,EAAE,CAAC;aAClE,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;AACzC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,mDAAmD,EACpD,EAAE,MAAM,EAAE,CACV,CAAC;KACF;AAED,IAAA,cAAc,CAAC,gBAAuB,EAAA;QACrC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,uCAAuC,EACrF,gBAAgB,CAChB,CAAC;KACF;;AAGD,IAAA,OAAO,CAAC,sBAA+C,EAAA;QACtD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,gCAAgC,EAC9E,sBAAsB,EACtB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,0BAA0B,CAAC,MAAc,EAAA;AACxC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,mDAAmD,EACpD;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AACzD,SAAA,CACD,CAAC;KACF;AAED,IAAA,qCAAqC,CAAC,UAAkB,EAAA;AACvD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,8DAA8D,EAC/D;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACjE,SAAA,CACD,CAAC;KACF;;AApXD;AACO,4BAAoC,CAAA,oCAAA,GAAW,SAAU,CAAA;AAChE;AACO,4BAAsC,CAAA,sCAAA,GAAW,UAAW,CAAA;AACnE;AACO,4BAAsC,CAAA,sCAAA,GAAW,UAAW,CAAA;AACnE;AACO,4BAAsC,CAAA,sCAAA,GAAW,UAAW,CAAA;AACnE;AACO,4BAAsC,CAAA,sCAAA,GAAW,UAAW,CAAA;AACnE;AACO,4BAA4C,CAAA,4CAAA,GAAW,mBAAoB,CAAA;AAClF;AACO,4BAA4C,CAAA,4CAAA,GAAW,gBAAiB,CAAA;AAC/E;AACO,4BAA8C,CAAA,8CAAA,GAAW,kBAAmB,CAAA;AACnF;AACO,4BAA6C,CAAA,6CAAA,GAAW,iBAAkB,CAAA;AACjF;AACO,4BAA0C,CAAA,0CAAA,GAAW,cAAe,CAAA;AAC3E;AACO,4BAAsC,CAAA,sCAAA,GAAW,WAAY,CAAA;AACpE;AACO,4BAAqC,CAAA,qCAAA,GAAW,UAAW,CAAA;AAClE;AACO,4BAAyC,CAAA,yCAAA,GAAW,cAAe,CAAA;AAC1E;AACO,4BAAyC,CAAA,yCAAA,GAAW,aAAc,CAAA;AACzE;AACO,4BAA2C,CAAA,2CAAA,GAAW,eAAgB,CAAA;AAC7E;AACO,4BAAwC,CAAA,wCAAA,GAAW,aAAc,CAAA;AACxE;AACO,4BAAyC,CAAA,yCAAA,GAAW,aAAc,CAAA;AACzE;AACO,4BAAkC,CAAA,kCAAA,GAAW,OAAQ,CAAA;AAE5D;AACO,4BAAA,CAAA,wBAAwB,GAAU;AACxC,IAAA;QACC,GAAG,EAAE,4BAA4B,CAAC,4CAA4C;AAC9E,QAAA,KAAK,EAAE,iBAAiB;AACxB,QAAA,UAAU,EAAE,IAAI;AAChB,KAAA;AACD,IAAA;QACC,GAAG,EAAE,4BAA4B,CAAC,8CAA8C;AAChF,QAAA,KAAK,EAAE,mBAAmB;AAC1B,QAAA,UAAU,EAAE,KAAK;AACjB,KAAA;AACD,IAAA;QACC,GAAG,EAAE,4BAA4B,CAAC,6CAA6C;AAC/E,QAAA,KAAK,EAAE,kBAAkB;AACzB,QAAA,UAAU,EAAE,KAAK;AACjB,KAAA;AACD,IAAA;QACC,GAAG,EAAE,4BAA4B,CAAC,oCAAoC;AACtE,QAAA,KAAK,EAAE,WAAW;AAClB,QAAA,UAAU,EAAE,IAAI;AAChB,KAAA;AACD,IAAA;QACC,GAAG,EAAE,4BAA4B,CAAC,0CAA0C;AAC5E,QAAA,KAAK,EAAE,eAAe;AACtB,QAAA,UAAU,EAAE,IAAI;AAChB,KAAA;AACD,IAAA;QACC,GAAG,EAAE,4BAA4B,CAAC,yCAAyC;AAC3E,QAAA,KAAK,EAAE,cAAc;AACrB,QAAA,UAAU,EAAE,IAAI;AAChB,KAAA;AACD,IAAA;QACC,GAAG,EAAE,4BAA4B,CAAC,2CAA2C;AAC7E,QAAA,KAAK,EAAE,gBAAgB;AACvB,QAAA,UAAU,EAAE,IAAI;AAChB,KAAA;AACD,IAAA;QACC,GAAG,EAAE,4BAA4B,CAAC,wCAAwC;AAC1E,QAAA,KAAK,EAAE,aAAa;AACpB,QAAA,UAAU,EAAE,IAAI;AAChB,KAAA;AACD,IAAA;QACC,GAAG,EAAE,4BAA4B,CAAC,yCAAyC;AAC3E,QAAA,KAAK,EAAE,cAAc;AACrB,QAAA,UAAU,EAAE,IAAI;AAChB,KAAA;AACD,IAAA;QACC,GAAG,EAAE,4BAA4B,CAAC,kCAAkC;AACpE,QAAA,KAAK,EAAE,OAAO;AACd,QAAA,UAAU,EAAE,KAAK;AACjB,KAAA;AACD,IAAA;QACC,GAAG,EAAE,4BAA4B,CAAC,4CAA4C;AAC9E,QAAA,KAAK,EAAE,qBAAqB;AAC5B,QAAA,UAAU,EAAE,IAAI;AAChB,KAAA;AACD,IAAA;QACC,GAAG,EAAE,4BAA4B,CAAC,qCAAqC;AACvE,QAAA,KAAK,EAAE,UAAU;AACjB,QAAA,UAAU,EAAE,IAAI;AAChB,KAAA;AACD,IAAA;QACC,GAAG,EAAE,4BAA4B,CAAC,yCAAyC;AAC3E,QAAA,KAAK,EAAE,cAAc;AACrB,QAAA,UAAU,EAAE,IAAI;AAChB,KAAA;AACD,IAAA;QACC,GAAG,EAAE,4BAA4B,CAAC,sCAAsC;AACxE,QAAA,KAAK,EAAE,WAAW;AAClB,QAAA,UAAU,EAAE,IAAI;AAChB,KAAA;AACD,IAAA;QACC,GAAG,EAAE,4BAA4B,CAAC,sCAAsC;AACxE,QAAA,KAAK,EAAE,WAAW;AAClB,QAAA,UAAU,EAAE,IAAI;AAChB,KAAA;AACD,IAAA;QACC,GAAG,EAAE,4BAA4B,CAAC,sCAAsC;AACxE,QAAA,KAAK,EAAE,WAAW;AAClB,QAAA,UAAU,EAAE,IAAI;AAChB,KAAA;AACD,IAAA;QACC,GAAG,EAAE,4BAA4B,CAAC,sCAAsC;AACxE,QAAA,KAAK,EAAE,WAAW;AAClB,QAAA,UAAU,EAAE,IAAI;AAChB,KAAA;AACD,IAAA;QACC,GAAG,EAAE,4BAA4B,CAAC,sCAAsC;AACxE,QAAA,KAAK,EAAE,WAAW;AAClB,QAAA,UAAU,EAAE,IAAI;AAChB,KAAA;CACA,CAAA;AAEK,4BAAgB,CAAA,gBAAA,GAAG,gBAAgB,CAAC;AAtI/B,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,kBAyI/B,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAP,qBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAzIV,4BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,cAF5B,MAAM,EAAA,CAAA,CAAA;2FAEN,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAHxC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BA0IE,MAAM;+BAAC,aAAa,CAAA;;;;MC1IV,2BAA2B,CAAA;IAKvC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAJ9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAIA;AAEnF,IAAA,eAAe,CAAC,UAAkB,EAAA;QACxC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,wCAAwC,UAAU,CAAA,CAAE,CAClG,CAAC;KACF;AAEM,IAAA,OAAO,CAAC,EAAU,EAAA;QACxB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,gCAAgC,EAAE,CAAA,CAAE,CAClF,CAAC;KACF;IAEM,kBAAkB,CAAC,QAAgB,EAAE,EAAU,EAAA;QACrD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAA,8BAAA,EAAiC,QAAQ,CAAO,IAAA,EAAA,EAAE,CAAE,CAAA,CAClG,CAAC;KACF;AAEM,IAAA,IAAI,CAAC,oBAA0C,EAAA;QACrD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,2BAA2B,EACzE,oBAAoB,CACpB,CAAC;KACF;AAEM,IAAA,MAAM,CAAC,EAAU,EAAA;QACvB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,wBAAwB,EAAE,CAAA,CAAE,CAC1E,CAAC;KACF;;AAGM,IAAA,gCAAgC,CAAC,WAA0B,EAAA;AACjE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,uDAAuD,EACxD,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,gBAAgB,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,EAAE,CAC1E,CAAC;KACF;IAEM,2BAA2B,CAAC,OAAe,EAAE,SAAiB,EAAA;AACpE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,kDAAkD,EACnD;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;AACrC,iBAAA,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC;AAC7B,SAAA,CACD,CAAC;KACF;IAEM,gCAAgC,CAAC,UAAkB,EAAE,IAAY,EAAA;AACvE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,uDAAuD,EACxD;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACxC,iBAAA,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC9B,SAAA,CACD,CAAC;KACF;AAED;;;AAGG;AACH,IAAA,iBAAiB,CAAC,QAAgB,EAAE,SAAiB,EAAE,UAAkB,EAAA;QACxE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;YACtC,IAAI,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,2BAA2B,CAAC,YAAY,CAAC,CAAC;AACjF,YAAA,IAAI,GAAG,CAAC;AACR,YAAA,IAAI,WAAW,EAAE;AAChB,gBAAA,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAC9B,gBAAA,IAAI,GAAG,CAAC,UAAU,CAAC,EAAE;AACpB,oBAAA,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;oBACzB,OAAO;AACP,iBAAA;AACD,aAAA;AAED,YAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,SAAS,CAC3D,CAAC,aAAa,KAAI;AACjB,gBAAA,IAAI,aAAa,EAAE;oBAClB,IAAI,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;AACzD,oBAAA,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE;AAC7B,wBAAA,IAAI,GAAG;AAAE,4BAAA,GAAG,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC;;4BACpC,GAAG,GAAG,EAAE,CAAC;AACd,wBAAA,YAAY,CAAC,OAAO,CACnB,2BAA2B,CAAC,YAAY,EACxC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CACnB,CAAC;AACF,wBAAA,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wBACvB,OAAO;AACP,qBAAA;AACD,iBAAA;gBACD,MAAM,CAAC,gDAAgD,CAAC,CAAC;AAC1D,aAAC,EACD,CAAC,KAAK,KAAI;gBACT,MAAM,CAAC,KAAK,CAAC,CAAC;AACf,aAAC,CACD,CAAC;AACH,SAAC,CAAC,CAAC;KACH;AAED;;;;AAIG;AACI,IAAA,YAAY,CAAC,QAAgB,EAAE,SAAiB,EAAE,UAAkB,EAAA;AAC1E,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,wCAAwC,EACtF;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC;AACzB,iBAAA,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC;AAC3B,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC;AAC/B,SAAA,CACD,CAAC;KACF;;AAGD,IAAA,OAAO,CAAC,oBAA4C,EAAA;QACnD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,8BAA8B,EAC5E,oBAAoB,CACpB,CAAC;KACF;;AAnIM,2BAAY,CAAA,YAAA,GAAG,WAAW,CAAC;AAHtB,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,kBAKnB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AALrB,2BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,cAF3B,MAAM,EAAA,CAAA,CAAA;2FAEN,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAHvC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAMa,MAAM;+BAAC,aAAa,CAAA;;;;MCLrB,2BAA2B,CAAA;IAGvC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAF9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEA;AAE1F,IAAA,kBAAkB,CAAC,UAAkB,EAAA;AACpC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,yCAAyC,EACvF,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrE,CAAC;KACF;AAED,IAAA,IAAI,CAAC,KAA2B,EAAA;QAC/B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,2BAA2B,EACzE,KAAK,CACL,CAAC;KACF;IAED,iCAAiC,CAAC,MAAc,EAAE,MAAc,EAAA;AAC/D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,wDAAwD,EACzD;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAChC,iBAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAClC,SAAA,CACD,CAAC;KACF;AAED,IAAA,MAAM,CAAC,EAAU,EAAA;AAChB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,6BAA6B,EAC3E;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;AACjD,SAAA,CACD,CAAC;KACF;;AAtCW,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,kBAGnB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,2BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,cAF3B,MAAM,EAAA,CAAA,CAAA;2FAEN,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAHvC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCLrB,gCAAgC,CAAA;AAI3C,IAAA,WAAA,GAAA;AAFQ,QAAA,IAAA,CAAA,yBAAyB,GAAG,IAAI,OAAO,EAAS,CAAC;KAExC;IAEjB,6BAA6B,GAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,yBAAyB,CAAC,YAAY,EAAE,CAAC;KACtD;AAED,IAAA,6BAA6B,CAAC,MAAa,EAAA;QACzC,OAAO,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACpD;;6HAZU,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAhC,gCAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gCAAgC,cAF/B,MAAM,EAAA,CAAA,CAAA;2FAEP,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAH5C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;ACQI,MAAO,sBAAuB,SAAQ,oBAAoB,CAAA;AAa9D,IAAA,WAAA,CAAsB,KAAwB,EACxB,aAA4B,EAC9B,aAA4B,EAC5B,YAAyC,EAAA;AAC3D,QAAA,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAJR,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAmB;AACxB,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAC9B,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAC5B,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAA6B;KAE5D;;AAGD,IAAA,aAAa,CAAC,KAA0B,EAAA;QACtC,OAAO,IAAI,GAAG,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;KACxD;IAEK,QAAQ,GAAA;;;;;AACZ,YAAA,MAAA,CAAM,QAAQ,CAAG,IAAA,CAAA,IAAA,CAAA,CAAA;YACjB,IAAI,CAAC,SAAS,EAAE,CAAC;AACjB,YAAA,IAAI,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,CAAC;SAC/D,CAAA,CAAA;AAAA,KAAA;AAED,IAAA,QAAQ,CAAC,aAAkC,EAAA;AACzC,QAAA,IAAI,CAAC,aAAa;AAChB,YAAA,aAAa,IAAI,IAAI;kBACjB,IAAI,mBAAmB,EAAE;kBACzB,MAAM,CAAC,MAAM,CAAC,IAAI,mBAAmB,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;AAC1F,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE;YAClC,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AACjD,SAAA;AAED,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;AACjF,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;AACvF,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;AAEjF,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,SAAS,CAAC;YAC5B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,WAAW,EAAE,IAAI,CAAC,WAAW;AAC9B,SAAA,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;KACvB;;AAGD,IAAA,MAAM,CAAC,KAA0B,EAAA;QAC/B,IAAI,OAAO,CAAC,2CAA2C,GAAG,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE;AAC3E,YAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,SAAS,CAC1C,CAAC,MAAM,KAAI;AACT,gBAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC;gBAClE,IAAI,CAAC,SAAS,EAAE,CAAC;AACnB,aAAC,EACD,CAAC,KAAK,KAAI;AACR,gBAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;AAClE,aAAC,CACF,CAAC;AACH,SAAA;KACF;IAED,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAC3D,CAAC,MAA6B,KAAI;AAChC,YAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AACvB,SAAC,EACD,CAAC,KAAK,KAAI;AACR,YAAA,OAAO,CAAC,GAAG,CAAC,+CAA+C,EAAE,KAAK,CAAC,CAAC;AACpE,YAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;AAClD,SAAC,CACF,CAAC;KACH;IAED,yBAAyB,GAAA;QACvB,OAAO,UAAU,CAAC,yBAAyB,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;KACtE;IAED,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;KACxB;IAED,IAAI,GAAA;AACF,QAAA,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AACrD,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,SAAc,KAAI;gBACpE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,8BAA8B,EAAE,mBAAmB,CAAC,CAAC;AAChF,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,IAAI,CAAC,YAAY,EAAE,CAAC;AACtB,aAAC,EAAE,CAAC,KAAK,KAAI;AACX,gBAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACrB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,oCAAoC,EAAE,QAAQ,CAAC,CAAC;AAC3E,aAAC,CACF,CAAC;AACH,SAAA;KACF;IAED,OAAO,GAAA;AACL,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAClC,UAAU,CAAC,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC;YAChD,UAAU,CAAC,yBAAyB,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;AAC7D,aAAC,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;AAClE,QAAA,IAAG,KAAK,EAAE;AACR,YAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CACtB,WAAW,GAAG,KAAK,CAAC,IAAI,GAAG,YAAY,EACvC,SAAS,CACV,CAAC;AACF,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;;mHApHU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAK,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAG,2BAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,uHCbnC,gqMAgLA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,aAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,WAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,mBAAA,EAAA,2BAAA,EAAA,+BAAA,EAAA,2BAAA,EAAA,uBAAA,EAAA,wBAAA,EAAA,qBAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,sBAAA,EAAA,0BAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,YAAA,EAAA,MAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,oBAAA,EAAA,aAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,cAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,kBAAA,EAAA,aAAA,EAAA,YAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,SAAA,EAAA,aAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,UAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,aAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,MAAA,EAAA,cAAA,EAAA,WAAA,EAAA,WAAA,EAAA,eAAA,EAAA,WAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,iBAAA,EAAA,4BAAA,EAAA,aAAA,EAAA,eAAA,EAAA,QAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,aAAA,EAAA,eAAA,EAAA,qBAAA,EAAA,aAAA,EAAA,cAAA,EAAA,cAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,YAAA,EAAA,aAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,WAAA,EAAA,cAAA,EAAA,aAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,aAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,YAAA,EAAA,aAAA,EAAA,YAAA,EAAA,YAAA,EAAA,MAAA,EAAA,MAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,cAAA,EAAA,cAAA,EAAA,SAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,eAAA,EAAA,cAAA,EAAA,aAAA,EAAA,WAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,WAAA,EAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,WAAA,EAAA,EAAA,CAAA,aAAA,EAAA,MAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,CAAA,CAAA;2FDnKa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,SAAS;+BACE,oBAAoB,EAAA,QAAA,EAAA,gqMAAA,EAAA,CAAA;oMAKrB,UAAU,EAAA,CAAA;sBAAlB,KAAK;;;AEFF,MAAO,uBAAwB,SAAQ,oBAAoB,CAAA;AAWhE,IAAA,WAAA,CACW,KAAwB,EACxB,aAA4B,EAC9B,aAA4B,EAC5B,2BAAwD,EAAA;AAEhE,QAAA,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AALlB,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAmB;AACxB,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAC9B,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAC5B,QAAA,IAA2B,CAAA,2BAAA,GAA3B,2BAA2B,CAA6B;AAZjE,QAAA,IAAgB,CAAA,gBAAA,GAA2B,EAAE,CAAC;KAe7C;IAED,QAAQ,GAAA;QACP,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;KACzB;;AAGD,IAAA,cAAc,CAAC,KAA2B,EAAA;QACzC,OAAO,IAAI,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;KACxD;IAED,iBAAiB,GAAA;AAChB,QAAA,IAAI,CAAC,2BAA2B,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAC7E,CAAC,MAA8B,KAAI;AAClC,YAAA,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;AAChC,SAAC,EACD,CAAC,KAAK,KAAI;YACT,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,yCAAyC,EAAE,OAAO,CAAC,CAAC;AAC9E,SAAC,CACD,CAAC;KACF;AAED,IAAA,QAAQ,CAAC,aAAmC,EAAA;AAC3C,QAAA,IAAI,CAAC,aAAa;AACjB,YAAA,aAAa,IAAI,IAAI;kBAClB,IAAI,oBAAoB,EAAE;kBAC1B,MAAM,CAAC,MAAM,CACb,IAAI,oBAAoB,EAAE,EAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CACxC,CAAC;AACN,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE;YACnC,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AAChD,SAAA;AAED,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;AACjF,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;AAEvF,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,SAAS,CAAC;YAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,cAAc,EAAE,IAAI,CAAC,cAAc;AACnC,SAAA,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;KACtB;IAED,IAAI,GAAA;AACH,QAAA,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AACtD,YAAA,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,SAAS,CAClE,CAAC,MAAM,KAAI;gBACV,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,8BAA8B,EAAE,mBAAmB,CAAC,CAAC;AAChF,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;AAC3B,aAAC,EACD,CAAC,KAAK,KAAI;gBACT,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,oCAAoC,EAAE,OAAO,CAAC,CAAC;AACzE,aAAC,CACD,CAAC;AACF,SAAA;KACD;IAED,OAAO,GAAA;QACN,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CACvC,CAAC,KAAK,KACL,UAAU,CAAC,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC;YAC/C,UAAU,CAAC,yBAAyB,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;AAC9D,aAAC,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAC/D,CAAC;AACF,QAAA,IAAI,KAAK,EAAE;AACV,YAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,GAAG,YAAY,EAAE,SAAS,CAAC,CAAC;AAC7E,YAAA,OAAO,KAAK,CAAC;AACb,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACZ;IAED,YAAY,GAAA;AACX,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;KACvB;AAED,IAAA,MAAM,CAAC,KAA2B,EAAA;QACjC,IAAI,OAAO,CAAC,2CAA2C,GAAG,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE;AAC5E,YAAA,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,SAAS,CAC1D,CAAC,MAAM,KAAI;gBACV,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,qCAAqC,EAAE,QAAQ,CAAC,CAAC;AAC7E,aAAC,EACD,CAAC,KAAK,KAAI;gBACT,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,qCAAqC,EAAE,OAAO,CAAC,CAAC;AAC1E,aAAC,CACD,CAAC;AACF,SAAA;KACD;IAED,yBAAyB,GAAA;QACxB,OAAO,UAAU,CAAC,yBAAyB,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;KACrE;;oHAlHW,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAH,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAI,2BAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,wHCbpC,s0JA8IA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,aAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,WAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,mBAAA,EAAA,2BAAA,EAAA,+BAAA,EAAA,2BAAA,EAAA,uBAAA,EAAA,wBAAA,EAAA,qBAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,sBAAA,EAAA,0BAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,YAAA,EAAA,MAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,oBAAA,EAAA,aAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,cAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,kBAAA,EAAA,aAAA,EAAA,YAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,SAAA,EAAA,aAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,UAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,aAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,MAAA,EAAA,cAAA,EAAA,WAAA,EAAA,WAAA,EAAA,eAAA,EAAA,WAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,iBAAA,EAAA,4BAAA,EAAA,aAAA,EAAA,eAAA,EAAA,QAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,aAAA,EAAA,eAAA,EAAA,qBAAA,EAAA,aAAA,EAAA,cAAA,EAAA,cAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,YAAA,EAAA,aAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,WAAA,EAAA,cAAA,EAAA,aAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,aAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,YAAA,EAAA,aAAA,EAAA,YAAA,EAAA,YAAA,EAAA,MAAA,EAAA,MAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,cAAA,EAAA,cAAA,EAAA,SAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,eAAA,EAAA,cAAA,EAAA,aAAA,EAAA,WAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,WAAA,EAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,WAAA,EAAA,EAAA,CAAA,aAAA,EAAA,MAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,CAAA,CAAA;2FDjIa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,SAAS;+BACC,qBAAqB,EAAA,QAAA,EAAA,s0JAAA,EAAA,CAAA;oMAItB,UAAU,EAAA,CAAA;sBAAlB,KAAK;;;AE0BD,MAAO,2BAA4B,SAAQ,oBAAoB,CAAA;IA2DpE,WACS,CAAA,aAA4B,EAC1B,KAAwB,EACxB,aAA4B,EAC9B,UAAsB,EACtB,MAAc,EACd,aAA4B,EAC5B,YAA0B,EAC1B,oBAAiD,EACjD,4BAA0D,EAC1D,iBAA8C,EAC9C,2BAAwD,EACxD,gCAAkE,EAAA;AAE1E,QAAA,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAbpB,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAC1B,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAmB;AACxB,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAC9B,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AACtB,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;AACd,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAC5B,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;AAC1B,QAAA,IAAoB,CAAA,oBAAA,GAApB,oBAAoB,CAA6B;AACjD,QAAA,IAA4B,CAAA,4BAAA,GAA5B,4BAA4B,CAA8B;AAC1D,QAAA,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAA6B;AAC9C,QAAA,IAA2B,CAAA,2BAAA,GAA3B,2BAA2B,CAA6B;AACxD,QAAA,IAAgC,CAAA,gCAAA,GAAhC,gCAAgC,CAAkC;;AAnElE,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;;AAEzB,QAAA,IAAe,CAAA,eAAA,GAAY,KAAK,CAAC;;AAEjC,QAAA,IAAU,CAAA,UAAA,GAAY,KAAK,CAAC;;AAE5B,QAAA,IAAU,CAAA,UAAA,GAAY,KAAK,CAAC;;AAE5B,QAAA,IAAc,CAAA,cAAA,GAAY,KAAK,CAAC;;AAEhC,QAAA,IAAkB,CAAA,kBAAA,GAAY,KAAK,CAAC;;AAEpC,QAAA,IAAY,CAAA,YAAA,GAAY,KAAK,CAAC;;AAE9B,QAAA,IAAgB,CAAA,gBAAA,GAAY,KAAK,CAAC;;AAElC,QAAA,IAAY,CAAA,YAAA,GAAY,IAAI,CAAC;;AAE7B,QAAA,IAAQ,CAAA,QAAA,GAAY,IAAI,CAAC;;AAEzB,QAAA,IAAa,CAAA,aAAA,GAAY,KAAK,CAAC;;AAE/B,QAAA,IAAwB,CAAA,wBAAA,GAAY,KAAK,CAAC;;AAE1C,QAAA,IAAiB,CAAA,iBAAA,GAAY,KAAK,CAAC;;AAElC,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAO,CAAC;;AAMlD,QAAA,IAAgB,CAAA,gBAAA,GAA2B,EAAE,CAAC;AAErC,QAAA,IAAW,CAAA,WAAA,GAAY,KAAK,CAAC;;AAGtC,QAAA,IAAK,CAAA,KAAA,GAAY,KAAK,CAAC;;AAEvB,QAAA,IAAY,CAAA,YAAA,GAAQ,EAAE,CAAC;;AAEvB,QAAA,IAAgB,CAAA,gBAAA,GAAQ,EAAE,CAAC;;AAS3B,QAAA,IAAiB,CAAA,iBAAA,GAAY,KAAK,CAAC;AAInC,QAAA,IAAc,CAAA,cAAA,GAAY,KAAK,CAAC;QAgB/B,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAClD;IAED,QAAQ,GAAA;QACP,KAAK,CAAC,QAAQ,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IACC,IAAI,CAAC,OAAO;AACZ,YAAA,IAAI,CAAC,eAAe;AACpB,YAAA,IAAI,CAAC,UAAU;AACf,YAAA,IAAI,CAAC,UAAU;AACf,YAAA,IAAI,CAAC,cAAc;YAEnB,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;AAED;;AAEG;IACH,cAAc,GAAA;AACb,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACrB,OAAO;AACP,SAAA;AACD,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC3E,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,iBAAiB,EAAE,CAAC;KACzB;IAED,iBAAiB,GAAA;AAChB,QAAA,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAC9D,CAAC,YAAmB,KAAI;AACvB,YAAA,IAAI,YAAY,EAAE;AACjB,gBAAA,KAAK,IAAI,WAAW,IAAI,YAAY,EAAE;AACrC,oBAAA,WAAW,CAAC,SAAS,GAAG,YAAY,CAAC,gBAAgB,CAAC;oBACtD,IAAI,gBAAgB,GAAG,EAAE,CAAC;AAC1B,oBAAA,KAAK,IAAI,SAAS,IAAI,WAAW,CAAC,KAAK,EAAE;AACxC,wBAAA,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;;;wBAGjC,IACC,SAAS,CAAC,IAAI;4BACd,SAAS,CAAC,IAAI,KAAK,QAAQ;AAC3B,4BAAA,SAAS,CAAC,IAAI;4BACd,SAAS,CAAC,IAAI,CAAC,GAAG;4BAClB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,EACvD;4BACD,gBAAgB,CAAC,IAAI,CAAC;AACrB,gCAAA,IAAI,EAAE,kBAAkB;AACxB,gCAAA,KAAK,EAAE,MAAM;AACb,gCAAA,GAAG,EAAE,SAAS,CAAC,GAAG,GAAG,SAAS;AAC9B,6BAAA,CAAC,CAAC;AACH,yBAAA;AACD,qBAAA;AACD,oBAAA,WAAW,CAAC,KAAK,GAAG,gBAAgB,CAAC;AACrC,iBAAA;AACD,gBAAA,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;AAC5D,aAAA;YACD,IAAI,CAAC,sBAAsB,EAAE,CAAC;;;AAG/B,SAAC,EACD,CAAC,KAAK,KAAI;AACT,YAAA,OAAO,CAAC,GAAG,CAAC,iDAAiD,EAAE,KAAK,CAAC,CAAC;AACtE,YAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;AACpE,SAAC,CACD,CAAC;KACF;IAED,sBAAsB,GAAA;AACrB,QAAA,IAAI,CAAC,4BAA4B,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAC/E,CAAC,sBAA+C,KAAI;AACnD,YAAA,IAAI,sBAAsB,EAAE;gBAC3B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG;AAC7C,oBAAA,KAAK,EAAE;AACN,wBAAA,GAAG,EAAE,YAAY,CAAC,cAAc,EAAE;wBAClC,KAAK,EAAE,YAAY,CAAC,qBAAqB;AACzC,qBAAA;oBACD,SAAS,EAAE,YAAY,CAAC,qBAAqB;AAC7C,oBAAA,KAAK,EAAE,EAAE;iBACT,CAAC;AACF,gBAAA,sBAAsB,CAAC,OAAO,CAAC,CAAC,SAAS,KAAI;AAC5C,oBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;AAC1D,wBAAA,GAAG,EAAE,SAAS,CAAC,EAAE,GAAG,OAAO;wBAC3B,KAAK,EAAE,SAAS,CAAC,IAAI;AACrB,qBAAA,CAAC,CAAC;AACJ,iBAAC,CAAC,CAAC;AACH,aAAA;YACD,IAAI,CAAC,wBAAwB,EAAE,CAAC;AACjC,SAAC,EACD,CAAC,KAAK,KAAK,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,gDAAgD,CAAC,CACrF,CAAC;KACF;IAED,wBAAwB,GAAA;AACvB,QAAA,IAAI,CAAC,4BAA4B;AAC/B,aAAA,qCAAqC,CAAC,IAAI,CAAC,UAAU,CAAC;AACtD,aAAA,SAAS,CAAC;AACV,YAAA,IAAI,EAAE,CAAC,sBAA+C,KAAI;AACzD,gBAAA,IAAI,sBAAsB,EAAE;oBAC3B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG;AAC7C,wBAAA,KAAK,EAAE;AACN,4BAAA,GAAG,EAAE,YAAY,CAAC,sBAAsB,EAAE;4BAC1C,KAAK,EAAE,YAAY,CAAC,yCAAyC;AAC7D,yBAAA;wBACD,SAAS,EAAE,YAAY,CAAC,6BAA6B;AACrD,wBAAA,KAAK,EAAE,EAAE;qBACT,CAAC;AACF,oBAAA,sBAAsB,CAAC,OAAO,CAAC,CAAC,SAAS,KAAI;AAC5C,wBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;AAC1D,4BAAA,GAAG,EAAE,SAAS,CAAC,EAAE,GAAG,UAAU;AAC9B,4BAAA,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,qBAAqB;AAC7C,yBAAA,CAAC,CAAC;AACH,wBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;AAC1D,4BAAA,GAAG,EAAE,SAAS,CAAC,EAAE,GAAG,QAAQ;AAC5B,4BAAA,KAAK,EAAE,SAAS,CAAC,IAAI,GAAG,mBAAmB;AAC3C,yBAAA,CAAC,CAAC;AACJ,qBAAC,CAAC,CAAC;AACH,iBAAA;gBACD,IAAI,CAAC,wBAAwB,EAAE,CAAC;aAChC;AACD,YAAA,KAAK,EAAE,CAAC,GAAG,KAAI;AACd,gBAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CACvB,uEAAuE,CACvE,CAAC;aACF;AACD,SAAA,CAAC,CAAC;KACJ;IAED,wBAAwB,GAAA;AACvB,QAAA,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,SAAS,CAAC;AACjD,YAAA,IAAI,EAAE,CAAC,aAAwC,KAAI;AAClD,gBAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;oBAC5B,OAAO;AACP,iBAAA;AACD,gBAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;AAC/B,gBAAA,IAAI,aAAa,EAAE;oBAClB,IAAI,UAAU,GAA8B,EAAE,CAAC;AAC/C,oBAAA,KAAK,IAAI,YAAY,IAAI,aAAa,EAAE;wBACvC,IACC,YAAY,CAAC,kBAAkB,CAAC,WAAW,KAAK,gBAAgB,CAAC,OAAO,EACvE;AACD,4BAAA,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC9B,yBAAA;AAAM,6BAAA,IACN,YAAY,CAAC,kBAAkB,CAAC,WAAW;4BAC3C,gBAAgB,CAAC,SAAS,EACzB;AACD,4BAAA,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC9B,yBAAA;AACD,qBAAA;AACD,oBAAA,IAAI,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;wBACrD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG;AAC7C,4BAAA,KAAK,EAAE;AACN,gCAAA,GAAG,EAAE,YAAY,CAAC,YAAY,EAAE;gCAChC,KAAK,EAAE,YAAY,CAAC,kBAAkB;AACtC,6BAAA;4BACD,SAAS,EAAE,YAAY,CAAC,kBAAkB;AAC1C,4BAAA,KAAK,EAAE,EAAE;yBACT,CAAC;AACF,wBAAA,KAAK,IAAI,MAAM,IAAI,UAAU,EAAE;AAC9B,4BAAA,MAAM,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC,WAAW,CAAC;;AAE1D,4BAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;AAC1D,gCAAA,GAAG,EACF,WAAW;oCACX,GAAG;AACH,oCAAA,YAAY,CAAC,uCAAuC;AACrD,gCAAA,KAAK,EAAE,MAAM,CAAC,UAAU,GAAG,4BAA4B;AACvD,6BAAA,CAAC,CAAC;AACH,4BAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;AAC1D,gCAAA,GAAG,EACF,WAAW;oCACX,GAAG;AACH,oCAAA,YAAY,CAAC,qCAAqC;AACnD,gCAAA,KAAK,EAAE,MAAM,CAAC,UAAU,GAAG,yBAAyB;AACpD,6BAAA,CAAC,CAAC;;;;;;;;AAQH,4BAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;AAC1D,gCAAA,GAAG,EACF,WAAW;oCACX,GAAG;AACH,oCAAA,YAAY,CAAC,kDAAkD;AAChE,gCAAA,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAAC,UAAU,GAAG,QAAQ;AACtD,6BAAA,CAAC,CAAC;;AAEH,4BAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;AAC1D,gCAAA,GAAG,EACF,WAAW;oCACX,GAAG;AACH,oCAAA,YAAY,CAAC,sDAAsD;AACpE,gCAAA,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAAC,UAAU,GAAG,iBAAiB;AAC/D,6BAAA,CAAC,CAAC;;AAEH,4BAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;AAC1D,gCAAA,GAAG,EACF,WAAW;oCACX,GAAG;AACH,oCAAA,YAAY,CAAC,qDAAqD;AACnE,gCAAA,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAAC,UAAU,GAAG,eAAe;AAC7D,6BAAA,CAAC,CAAC;;AAEH,4BAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;AAC1D,gCAAA,GAAG,EACF,WAAW;oCACX,GAAG;AACH,oCAAA,YAAY,CAAC,mDAAmD;AACjE,gCAAA,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAAC,UAAU,GAAG,QAAQ;AACtD,6BAAA,CAAC,CAAC;;AAEH,4BAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;AAC1D,gCAAA,GAAG,EACF,WAAW;oCACX,GAAG;AACH,oCAAA,YAAY,CAAC,uDAAuD;AACrE,gCAAA,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAAC,UAAU,GAAG,iBAAiB;AAC/D,6BAAA,CAAC,CAAC;;AAEH,4BAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;AAC1D,gCAAA,GAAG,EACF,WAAW;oCACX,GAAG;AACH,oCAAA,YAAY,CAAC,sDAAsD;AACpE,gCAAA,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAAC,UAAU,GAAG,eAAe;AAC7D,6BAAA,CAAC,CAAC;;AAEH,4BAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;AAC1D,gCAAA,GAAG,EACF,WAAW;oCACX,GAAG;AACH,oCAAA,YAAY,CAAC,kCAAkC;AAChD,gCAAA,KAAK,EACJ,gBAAgB,GAAG,MAAM,CAAC,UAAU,GAAG,wBAAwB;AAChE,6BAAA,CAAC,CAAC;;AAEH,4BAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;AAC1D,gCAAA,GAAG,EACF,WAAW;oCACX,GAAG;AACH,oCAAA,YAAY,CAAC,2CAA2C;AACzD,gCAAA,KAAK,EACJ,iBAAiB;AACjB,oCAAA,MAAM,CAAC,UAAU;oCACjB,0CAA0C;AAC3C,6BAAA,CAAC,CAAC;AACH,4BAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;AAC1D,gCAAA,GAAG,EACF,WAAW;oCACX,GAAG;AACH,oCAAA,YAAY,CAAC,sCAAsC;AACpD,gCAAA,KAAK,EAAE,MAAM,CAAC,UAAU,GAAG,sBAAsB;AACjD,6BAAA,CAAC,CAAC;AACH,4BAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;AAC1D,gCAAA,GAAG,EACF,WAAW,GAAG,GAAG,GAAG,YAAY,CAAC,8BAA8B;AAChE,gCAAA,KAAK,EAAE,MAAM,CAAC,UAAU,GAAG,gCAAgC;AAC3D,6BAAA,CAAC,CAAC;AACH,4BAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;AAC1D,gCAAA,GAAG,EACF,WAAW;oCACX,GAAG;AACH,oCAAA,YAAY,CAAC,gCAAgC;AAC9C,gCAAA,KAAK,EAAE,MAAM,CAAC,UAAU,GAAG,oCAAoC;AAC/D,6BAAA,CAAC,CAAC;AACH,yBAAA;AACD,qBAAA;oBACD,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAC1B,iBAAA;aACD;AACD,YAAA,KAAK,EAAE,CAAC,KAAK,KAAI;AAChB,gBAAA,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;aAC7C;AACD,SAAA,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC7D,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;KAC9B;IAED,kBAAkB,GAAA;AACjB,QAAA,IAAI,CAAC,iBAAiB;AACpB,aAAA,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;AAChC,aAAA,SAAS,CAAC,CAAC,QAAgC,KAAI;AAC/C,YAAA,IAAI,QAAQ,EAAE;gBACb,IAAI,YAAY,GAAG,EAAE,CAAC;AACtB,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACzC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,oBAAA,YAAY,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;AAC9B,wBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;4BACzD,GAAG;AACH,4BAAA,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAChB,iBAAA;gBAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG;AAC7C,oBAAA,KAAK,EAAE;wBACN,GAAG,EAAE,YAAY,CAAC,iBAAiB;wBACnC,KAAK,EAAE,YAAY,CAAC,gBAAgB;AACpC,qBAAA;oBACD,SAAS,EAAE,YAAY,CAAC,gBAAgB;AACxC,oBAAA,KAAK,EAAE,EAAE;iBACT,CAAC;AACF,gBAAA,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;AAC9B,oBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;wBAC1D,GAAG,EAAE,KAAK,CAAC,YAAY;wBACvB,KAAK,EAAE,KAAK,CAAC,IAAI;AACjB,qBAAA,CAAC,CAAC;AACJ,iBAAC,CAAC,CAAC;gBACH,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC9B,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAC1B,aAAA;AACF,SAAC,CAAC,CAAC;KACJ;IAED,sBAAsB,GAAA;;QAErB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG;AAC7C,YAAA,KAAK,EAAE;AACN,gBAAA,GAAG,EAAE,YAAY,CAAC,YAAY,EAAE;gBAChC,KAAK,EAAE,YAAY,CAAC,kBAAkB;AACtC,aAAA;YACD,SAAS,EAAE,YAAY,CAAC,kBAAkB;YAC1C,KAAK,EAAE,YAAY,CAAC,aAAa;SACjC,CAAC;AACF,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,MAAM,GAAG,CAAC,CAAC;;AAEf,QAAA,KAAK,IAAI,UAAU,IAAI,IAAI,CAAC,YAAY,EAAE;YACzC,IAAI,KAAK,GAAQ,EAAE,CAAC;AACpB,YAAA,IAAI,UAAU,CAAC,SAAS,IAAI,YAAY,CAAC,gBAAgB,EAAE;gBAC1D,IAAI,SAAS,GAAW,IAAI,CAAC;gBAC7B,IAAI,aAAa,GAAW,IAAI,CAAC;AACjC,gBAAA,KAAK,IAAI,WAAW,IAAI,UAAU,CAAC,KAAK,EAAE;oBACzC,IACC,CAAC,IAAI,CAAC,eAAe;AACrB,wBAAA,WAAW,CAAC,QAAQ;AACpB,wBAAA,WAAW,CAAC,QAAQ,KAAK,IAAI,EAC5B;wBACD,SAAS;AACT,qBAAA;oBACD,IAAI,WAAW,CAAC,SAAS,EAAE;AAC1B,wBAAA,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;AAClC,qBAAA;AACD,oBAAA,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,IAAI,aAAa,EAAE;wBACrD,KAAK,CAAC,IAAI,CAAC;AACV,4BAAA,KAAK,EAAE;AACN,gCAAA,KAAK,EAAE,SAAS;AAChB,6BAAA;AACD,4BAAA,KAAK,EAAE,EAAE;AACT,yBAAA,CAAC,CAAC;AACH,qBAAA;yBAAM,IAAI,SAAS,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;wBACpD,KAAK,CAAC,IAAI,CAAC;AACV,4BAAA,KAAK,EAAE;AACN,gCAAA,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK;AAC7B,6BAAA;AACD,4BAAA,KAAK,EAAE,EAAE;AACT,yBAAA,CAAC,CAAC;AACH,qBAAA;AACD,oBAAA,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAChD,aAAa,GAAG,SAAS,CAAC;AAC1B,iBAAA;AACD,aAAA;AAAM,iBAAA;gBACN,KAAK,CAAC,IAAI,CAAC;AACV,oBAAA,KAAK,EAAE;AACN,wBAAA,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK;AAC7B,qBAAA;AACD,oBAAA,KAAK,EAAE,EAAE;AACT,iBAAA,CAAC,CAAC;AACH,gBAAA,KAAK,IAAI,WAAW,IAAI,UAAU,CAAC,KAAK,EAAE;AACzC,oBAAA,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAChD,iBAAA;AACD,aAAA;AACD,YAAA,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;AACzB,SAAA;AACD,QAAA,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,YAAY,EAAE;AACpC,YAAA,KAAK,IAAI,UAAU,IAAI,KAAK,CAAC,KAAK,EAAE;gBACnC,IAAI,IAAI,GAAG,CAAC,CAAC;gBACb,IAAI,IAAI,GAAG,CAAC,CAAC;gBACb,IAAI,eAAe,GAAG,EAAE,CAAC;AACzB,gBAAA,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AAC3B,gBAAA,KAAK,IAAI,WAAW,IAAI,UAAU,CAAC,KAAK,EAAE;oBACzC,IAAI,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE;wBACtD,SAAS;AACT,qBAAA;AACD,oBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE;AAC3B,wBAAA,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AAC3B,qBAAA;AACD,oBAAA,IAAI,KAAK,CAAC,SAAS,KAAK,YAAY,CAAC,gBAAgB,EAAE;AACtD,wBAAA,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;AAC1B,4BAAA,GAAG,EAAE,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,WAAW,CAAC,GAAG,GAAG,GAAG;4BACzD,KAAK,EAAE,WAAW,CAAC,KAAK;AACxB,4BAAA,MAAM,EAAE,WAAW;AACnB,yBAAA,CAAC,CAAC;AACH,qBAAA;AAAM,yBAAA;AACN,wBAAA,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;AAC1B,4BAAA,GAAG,EAAE,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,WAAW,CAAC,GAAG,GAAG,GAAG;4BACzD,KAAK,EAAE,WAAW,CAAC,KAAK;AACxB,4BAAA,MAAM,EAAE,WAAW;AACnB,yBAAA,CAAC,CAAC;AACH,qBAAA;AAED,oBAAA,IAAI,EAAE,CAAC;oBACP,IAAI,IAAI,IAAI,MAAM,EAAE;AACnB,wBAAA,IAAI,EAAE,CAAC;wBACP,IAAI,GAAG,CAAC,CAAC;AACT,qBAAA;AACD,iBAAA;gBACD,IAAI,IAAI,GAAG,CAAC,EAAE;oBACb,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;AACnC,wBAAA,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;AAC1B,4BAAA,GAAG,EAAE,IAAI;AACT,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA,CAAC,CAAC;AACH,qBAAA;AACD,iBAAA;AACD,gBAAA,UAAU,CAAC,KAAK,GAAG,eAAe,CAAC;AACnC,aAAA;AACD,SAAA;QACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3C,IAAI,CAAC,gCAAgC,CAAC,6BAA6B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACvF;IAED,kBAAkB,GAAA;AACjB,QAAA,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAC/D,CAAC,MAAe,KAAI;AACnB,YAAA,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;AAC/B,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AACnB,SAAC,EACD,CAAC,KAAK,KAAI;AACT,YAAA,OAAO,CAAC,GAAG,CAAC,+CAA+C,EAAE,KAAK,CAAC,CAAC;AACpE,YAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;AACjD,SAAC,CACD,CAAC;KACF;IAED,gBAAgB,GAAA;QACf,IAAI,IAAI,CAAC,YAAY,EAAE;AACtB,YAAA,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,KAAI;AAChF,gBAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;AAC7B,gBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AACnB,aAAC,CAAC,CAAC;AACH,SAAA;KACD;IAED,iBAAiB,GAAA;QAChB,IAAI,IAAI,CAAC,aAAa,EAAE;YACvB,IAAI,CAAC,2BAA2B,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC;AAC9E,gBAAA,IAAI,EAAE,CAAC,MAA8B,KAAI;AACxC,oBAAA,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;AAC/B,oBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;iBAClB;AACD,gBAAA,KAAK,EAAE,CAAC,KAAK,KAAI;oBAChB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,yCAAyC,EAAE,OAAO,CAAC,CAAC;iBAC7E;AACD,aAAA,CAAC,CAAC;AACH,SAAA;KACD;AAED,IAAA,mBAAmB,CAAC,KAAK,EAAA;AACxB,QAAA,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;KAC9D;AAED,IAAA,QAAQ,CAAC,GAAG,EAAA;AACX,QAAA,OAAO,GAAG;AACR,aAAA,IAAI,EAAE;aACN,KAAK,CAAC,KAAK,CAAC;aACZ,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;aAC3B,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aAC/C,IAAI,CAAC,EAAE,CAAC,CAAC;KACX;;AAGD,IAAA,MAAM,CAAC,KAAY,EAAA;QAClB,IAAI,OAAO,CAAC,2CAA2C,GAAG,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE;AAC5E,YAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,SAAS,CAC3C,CAAC,MAAM,KAAI;AACV,gBAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC;gBAClE,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAC3B,aAAC,EACD,CAAC,KAAK,KAAI;AACT,gBAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;AACjE,aAAC,CACD,CAAC;AACF,SAAA;KACD;;AAGD,IAAA,eAAe,CAAC,KAAY,EAAA;QAC3B,OAAO,IAAI,GAAG,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;KACzD;;AAGD,IAAA,aAAa,CAAC,KAA0B,EAAA;QACvC,OAAO,IAAI,GAAG,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;KACvD;;AAGD,IAAA,cAAc,CAAC,KAA2B,EAAA;QACzC,OAAO,IAAI,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;KACxD;AAED,IAAA,QAAQ,CAAC,aAAoB,EAAA;AAC5B,QAAA,IAAI,CAAC,aAAa;AACjB,YAAA,aAAa,IAAI,IAAI;kBAClB,IAAI,KAAK,EAAE;kBACX,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;AAC1E,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE;YACnC,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AAChD,SAAA;AAED,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;AACjF,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;AAEvF,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,SAAS,CAAC;YAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,cAAc,EAAE,IAAI,CAAC,cAAc;AACnC,SAAA,CAAC,CAAC;KACH;IAED,yBAAyB,GAAA;QACxB,OAAO,UAAU,CAAC,yBAAyB,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;KACrE;IAED,IAAI,GAAA;QACH,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;;YAEpC,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;AAC9D,gBAAA,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,gBAAgB,EAAE;AAC3C,oBAAA,IACC,UAAU,CAAC,yBAAyB,CAAC,QAAQ,CAAC,IAAI,CAAC;wBAClD,UAAU,CAAC,yBAAyB,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;AAC9D,yBAAC,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC,EAChE;AACD,wBAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CACzB,WAAW,GAAG,QAAQ,CAAC,IAAI,GAAG,uBAAuB,EACrD,SAAS,CACT,CAAC;wBACF,OAAO;AACP,qBAAA;AACD,iBAAA;AACD,aAAA;YACD,IAAI,WAAW,GAAY,KAAK,CAAC;YACjC,IAAI;gBACH,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAC9C,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,aAAa,CAAC,IAAI,EACvB,IAAI,CAAC,aAAa,CAAC,OAAO,CAC1B,CAAC;AACF,aAAA;AAAC,YAAA,OAAO,KAAK,EAAE;AACf,gBAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC3B,gBAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBACrD,OAAO;AACP,aAAA;YACD,IAAI,CAAC,WAAW,EAAE;gBACjB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,iCAAiC,EAAE,QAAQ,CAAC,CAAC;gBACtE,OAAO;AACP,aAAA;;AAED,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,SAAS,CACnD,CAAC,SAAc,KAAI;gBAClB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,8BAA8B,EAAE,mBAAmB,CAAC,CAAC;AAChF,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAC3B,aAAC,EACD,CAAC,KAAK,KAAI;AACT,gBAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACrB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,oCAAoC,EAAE,QAAQ,CAAC,CAAC;AAC1E,aAAC,CACD,CAAC;AACF,SAAA;KACD;IAED,MAAM,GAAA;AACL,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;KAC1B;;AAGD,IAAA,UAAU,CAAC,IAAY,EAAA;AACtB,QAAA,OAAO,IAAI,KAAK,YAAY,CAAC,gBAAgB,CAAC;KAC9C;;AAGD,IAAA,aAAa,CAAC,IAAY,EAAA;AACzB,QAAA,OAAO,IAAI,KAAK,YAAY,CAAC,kBAAkB,CAAC;KAChD;;AAGD,IAAA,aAAa,CAAC,IAAY,EAAA;AACzB,QAAA,OAAO,IAAI,KAAK,YAAY,CAAC,kBAAkB,CAAC;KAChD;;AAGD,IAAA,eAAe,CAAC,IAAY,EAAA;AAC3B,QAAA,OAAO,IAAI,KAAK,YAAY,CAAC,qBAAqB,CAAC;KACnD;AAED,IAAA,uBAAuB,CAAC,IAAY,EAAA;AACnC,QAAA,OAAO,IAAI,KAAK,YAAY,CAAC,6BAA6B,CAAC;KAC3D;;AAGD,IAAA,WAAW,CAAC,IAAY,EAAA;AACvB,QAAA,OAAO,IAAI,KAAK,YAAY,CAAC,gBAAgB,CAAC;KAC9C;;AAGD,IAAA,kBAAkB,CAAC,IAAY,EAAA;AAC9B,QAAA,QACC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO;aACrC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC;aAC5C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC;aAC5C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;aAChD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC;AACzC,aAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,wBAAwB,CAAC,EACpE;KACF;;wHAtrBW,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAT,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAU,IAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,2BAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,4BAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,2BAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,2BAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,gCAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,mnBCxCxC,u6aAoUA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,GAAA,CAAA,SAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,mBAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,KAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,aAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,WAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,mBAAA,EAAA,2BAAA,EAAA,+BAAA,EAAA,2BAAA,EAAA,uBAAA,EAAA,wBAAA,EAAA,qBAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,sBAAA,EAAA,0BAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,YAAA,EAAA,MAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,oBAAA,EAAA,aAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,cAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,kBAAA,EAAA,aAAA,EAAA,YAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,SAAA,EAAA,aAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,UAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,aAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,MAAA,EAAA,cAAA,EAAA,WAAA,EAAA,WAAA,EAAA,eAAA,EAAA,WAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,iBAAA,EAAA,4BAAA,EAAA,aAAA,EAAA,eAAA,EAAA,QAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,aAAA,EAAA,eAAA,EAAA,qBAAA,EAAA,aAAA,EAAA,cAAA,EAAA,cAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,YAAA,EAAA,aAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,sBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,uBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,WAAA,EAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAD,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAE,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,WAAA,EAAAH,EAAA,CAAA,aAAA,EAAA,MAAA,EAAAA,EAAA,CAAA,QAAA,EAAA,EAAA,CAAA,CAAA;2FD5Ra,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBALvC,SAAS;+BACC,yBAAyB,EAAA,QAAA,EAAA,u6aAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;ocAM1B,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAEG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAEG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAEG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAEG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAEG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAEG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBAEG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAEG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBAEG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAEG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAEG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAEG,wBAAwB,EAAA,CAAA;sBAAhC,KAAK;gBAEG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBAEI,aAAa,EAAA,CAAA;sBAAtB,MAAM;gBAQE,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAmBoB,MAAM,EAAA,CAAA;sBAA/B,MAAM;uBAAC,SAAS,CAAA;;;ME7EL,sBAAsB,CAAA;IAgBlC,WAAsB,CAAA,KAAwB,EAAY,aAA4B,EAAA;AAAhE,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAmB;AAAY,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAF5E,QAAA,IAAA,CAAA,YAAY,GAA8B,IAAI,YAAY,EAAE,CAAC;KAEmB;AAE1F,IAAA,QAAQ,MAAK;;AAGb,IAAA,WAAW,CAAC,OAAsB,EAAA;AACjC,QAAA,MAAM,eAAe,GAAiB,OAAO,CAAC,eAAe,CAAC;AAC9D,QAAA,IAAI,eAAe,IAAI,eAAe,CAAC,YAAY,EAAE;AACpD,YAAA,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC,YAAY,CAAC;AACpD,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;AACnB,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE;gBACpD,IAAI,CAAC,SAAS,EAAE,CAAC;AACjB,aAAA;AACD,SAAA;AACD,QAAA,MAAM,UAAU,GAAiB,OAAO,CAAC,UAAU,CAAC;AACpD,QAAA,IAAI,UAAU,IAAI,UAAU,CAAC,YAAY,EAAE;AAC1C,YAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,YAAY,CAAC;YAC1C,IAAI,CAAC,aAAa,EAAE,CAAC;AACrB,SAAA;;KAED;IAED,aAAa,GAAA;AACZ,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,EAAqB,CAAC;AACrD,QAAA,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE;AACxC,YAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,CAAC;AACpE,SAAA;KACD;;AAGD,IAAA,cAAc,CAAC,MAAiB,EAAA;QAC/B,IAAI,MAAM,CAAC,QAAQ,EAAE;AACpB,YAAA,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC5D,YAAA,IAAI,MAAM,EAAE;AACX,gBAAA,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAClC,gBAAA,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;AAC1B,gBAAA,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;AAC5B,gBAAA,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;AACxB,aAAA;YAED,IACC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE;gBAC3C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE;AAEzC,gBAAA,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC;;AAClB,gBAAA,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC;AAC3B,YAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC9B,SAAA;KACD;;IAGD,WAAW,GAAA;QACV,OAAO,WAAW,CAAC,KAAK,CAAC;KACzB;;IAED,aAAa,GAAA;QACZ,OAAO,WAAW,CAAC,QAAQ,CAAC;KAC5B;;IAED,WAAW,GAAA;QACV,OAAO,WAAW,CAAC,KAAK,CAAC;KACzB;;AAGD,IAAA,YAAY,CAAC,CAAC,EAAA;AACb,QAAA,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,UAAU;YAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM;YAAE,IAAI,CAAC,SAAS,EAAE,CAAC;KAClE;;IAED,cAAc,CAAC,MAAiB,EAAE,WAAW,EAAA;AAC5C,QAAA,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;KACjC;;IAGD,SAAS,GAAA;AACR,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AACrB,YAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;AACrB,SAAA;AACD,QAAA,IAAI,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;AAC7B,QAAA,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC;AACzB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC7B;;IAGD,KAAK,GAAA;AACJ,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,EAAE,CAAC;KACjB;;IAGD,SAAS,GAAA;QACR,IAAI,IAAI,CAAC,UAAU;AAAE,YAAA,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,UAAU;AAAE,gBAAA,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC;KACpF;;IAGD,MAAM,GAAA;QACL,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACxC;;AAGD,IAAA,YAAY,CAAC,IAAI,EAAA;AAChB,QAAA,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE;AAAE,YAAA,OAAO,MAAM,CAAC;AAC9C,QAAA,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE;AAAE,YAAA,OAAO,MAAM,CAAC;AAChD,QAAA,OAAO,MAAM,CAAC;KACd;;AAGD,IAAA,aAAa,CAAC,EAAU,EAAA;QACvB,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;KACrC;;mHA9HW,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAlB,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,8NCpBnC,8tJAsIA,EAAA,MAAA,EAAA,CAAA,m4CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAsB,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,MAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,WAAA,EAAA,oBAAA,EAAA,cAAA,EAAA,eAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,uBAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAApB,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAK,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,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,EAAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDlHa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;+BACC,oBAAoB,EAAA,QAAA,EAAA,8tJAAA,EAAA,MAAA,EAAA,CAAA,m4CAAA,CAAA,EAAA,CAAA;iIAQrB,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAEG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAEG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAMI,YAAY,EAAA,CAAA;sBAArB,MAAM;;;ME1BK,oBAAoB,CAAA;AAMhC,IAAA,WAAA,GAAA;AAJA,QAAA,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC;AAEZ,QAAA,IAAA,CAAA,UAAU,GAAsB,IAAI,YAAY,EAAO,CAAC;KAElD;AAEhB,IAAA,QAAQ,MAAK;AAEb,IAAA,YAAY,CAAC,KAAU,EAAA;AACtB,QAAA,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;;AAGxB,QAAA,MAAM,MAAM,GAA+B,KAAK,CAAC,MAAM,CAAC;AAExD,QAAA,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAC9B,YAAA,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAC7C,SAAA;AAED,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;AAC1B,QAAA,MAAM,MAAM,GAAe,IAAI,UAAU,EAAE,CAAC;AAE5C,QAAA,MAAM,CAAC,MAAM,GAAG,CAAC,CAAM,KAAI;;AAE1B,YAAA,MAAM,IAAI,GAAW,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;AACrC,YAAA,MAAM,EAAE,GAAkB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;;AAG/E,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;;gBAE9C,MAAM,MAAM,GAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACxC,MAAM,EAAE,GAAmB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;;AAG7C,gBAAA,MAAM,KAAK,GAAG;AACb,oBAAA,KAAK,EAAE;AACN,wBAAA,KAAK,EAAE,MAAM;wBACb,OAAO,GACN,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAClE;AACD,qBAAA;iBACD,CAAC;AAEF,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/B,aAAA;;AAGD,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBACpB,IAAI,EAAE,IAAI,CAAC,aAAa;AACxB,aAAA,CAAC,CAAC;AAEH,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;AAC5B,SAAC,CAAC;QAEF,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KAC3C;;iHAxDW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,gGCRjC,+GACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDOa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;+BACC,mBAAmB,EAAA,QAAA,EAAA,+GAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;0EAQnB,UAAU,EAAA,CAAA;sBAAnB,MAAM;;;AEJF,MAAgB,6BACrB,SAAQ,oBAAoB,CAAA;IAK5B,WAAsB,CAAA,aAA4B,EAAY,KAAwB,EAAA;AACrF,QAAA,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AADP,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAAY,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAmB;;AAFtF,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;KAI1B;IAED,QAAQ,GAAA;QACP,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,SAAS,EAAE;YACnB,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;AACzD,YAAA,IAAI,OAAO,EAAE;AACZ,gBAAA,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACtC,aAAA;AACD,SAAA;KACD;IAED,WAAW,GAAA;QACV,IAAI,IAAI,CAAC,SAAS,EAAE;YACnB,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;AACzD,YAAA,IAAI,OAAO,EAAE;AACZ,gBAAA,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACnC,aAAA;AACD,SAAA;KACD;;0HA3BoB,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAP,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7B,6BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,wFAFrC,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;2FAEM,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAJlD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,2BAA2B;AACrC,oBAAA,QAAQ,EAAE,EAAE;iBACf,CAAA;;;ACIK,MAAO,kBAAmB,SAAQ,6BAA6B,CAAA;AAiEpE,IAAA,WAAA,CACW,KAAwB,EACxB,aAA4B,EAC5B,4BAA0D,EAAA;AAEpE,QAAA,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAJlB,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAmB;AACxB,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAC5B,QAAA,IAA4B,CAAA,4BAAA,GAA5B,4BAA4B,CAA8B;;AA/D5D,QAAA,IAAW,CAAA,WAAA,GAAY,IAAI,CAAC;AAC5B,QAAA,IAAY,CAAA,YAAA,GAAY,KAAK,CAAC;AAC9B,QAAA,IAAgB,CAAA,gBAAA,GAAY,KAAK,CAAC;AAClC,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAC1B,QAAA,IAAa,CAAA,aAAA,GAAY,KAAK,CAAC;AAC/B,QAAA,IAAc,CAAA,cAAA,GAAY,KAAK,CAAC;AAChC,QAAA,IAAY,CAAA,YAAA,GAAY,KAAK,CAAC;AAC9B,QAAA,IAAY,CAAA,YAAA,GAAY,KAAK,CAAC;AAC9B,QAAA,IAAoB,CAAA,oBAAA,GAAY,KAAK,CAAC;AACtC,QAAA,IAAW,CAAA,WAAA,GAAY,KAAK,CAAC;AAC7B,QAAA,IAAU,CAAA,UAAA,GAAY,KAAK,CAAC;AAC5B,QAAA,IAAU,CAAA,UAAA,GAAY,KAAK,CAAC;AAC5B,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAC1B,QAAA,IAAU,CAAA,UAAA,GAAY,KAAK,CAAC;;AAE5B,QAAA,IAAO,CAAA,OAAA,GAAY,IAAI,CAAC;;AAExB,QAAA,IAAU,CAAA,UAAA,GAAY,IAAI,CAAC;;AAE3B,QAAA,IAAU,CAAA,UAAA,GAAY,IAAI,CAAC;;AAE3B,QAAA,IAAc,CAAA,cAAA,GAAY,IAAI,CAAC;;AAE/B,QAAA,IAAkB,CAAA,kBAAA,GAAY,KAAK,CAAC;AACpC,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAC1B,QAAA,IAAe,CAAA,eAAA,GAAY,KAAK,CAAC;AACjC,QAAA,IAAgB,CAAA,gBAAA,GAAY,KAAK,CAAC;AAClC,QAAA,IAAgB,CAAA,gBAAA,GAAY,KAAK,CAAC;AAClC,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;AAC3B,QAAA,IAAsB,CAAA,sBAAA,GAAY,KAAK,CAAC;;AAExC,QAAA,IAAW,CAAA,WAAA,GAAW,EAAE,CAAC;AAGxB,QAAA,IAAA,CAAA,eAAe,GAA4B,IAAI,YAAY,EAAa,CAAC;QAgClF,IAAI,CAAC,OAAO,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;KACnC;IAED,QAAQ,GAAA;QACP,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,EAAE,CAAC;KACjB;IAED,aAAa,GAAA;QACZ,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;AACpC,SAAA;KACD;;IAGO,SAAS,GAAA;;QAEhB,IAAI,CAAC,QAAQ,GAAG;AACf,YAAA,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;AAClC,YAAA,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;AACtC,YAAA,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;AACtC,YAAA,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE;AAC5C,YAAA,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;SACtC,CAAC;;AAGF,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnD,QAAA,IAAI,CAAC,eAAe,GAAG,CAAC,eAAe,CAAC,QAAQ,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;;AAG7E,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;AAChE,QAAA,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvF,IAAI,CAAC,SAAS,CAAC,SAAS;AACvB,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,KAAK,WAAW,GAAG,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;QACnF,IAAI,CAAC,SAAS,CAAC,YAAY;AAC1B,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,KAAK,WAAW,GAAG,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;QACzF,IAAI,CAAC,SAAS,CAAC,YAAY;AAC1B,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,KAAK,WAAW,GAAG,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;;QAGzF,IAAI,IAAI,CAAC,aAAa;YACrB,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,KAAI;AAC3D,gBAAA,IAAI,MAAM;AAAE,oBAAA,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;AACxC,aAAC,CAAC,CAAC;;QAGJ,IAAI,IAAI,CAAC,cAAc;AACtB,YAAA,IAAI,CAAC,4BAA4B;iBAC/B,gCAAgC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC;AACnE,iBAAA,SAAS,CAAC,CAAC,MAAM,KAAI;AACrB,gBAAA,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;AAC5B,aAAC,CAAC,CAAC;AACL,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,SAAS,CAAC;KAC/E;;AAED,IAAA,YAAY,CAAC,SAAc,EAAA;AAC1B,QAAA,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;KACjC;;+GAhIW,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAuB,4BAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,k/BCX/B,ugeAyZA,EAAA,MAAA,EAAA,CAAA,6DAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,eAAA,EAAA,0BAAA,EAAA,mBAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAjB,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,MAAA,EAAA,IAAA,EAAA,cAAA,EAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,SAAA,EAAA,aAAA,EAAA,eAAA,EAAA,cAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAkB,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,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,EAAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAD,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,4BAAA,EAAA,QAAA,EAAA,uGAAA,EAAA,EAAA,EAAA,IAAA,EAAAD,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,iGAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FD9Ya,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,SAAS;+BACC,gBAAgB,EAAA,QAAA,EAAA,ugeAAA,EAAA,MAAA,EAAA,CAAA,6DAAA,CAAA,EAAA,CAAA;yKAMjB,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAGG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,oBAAoB,EAAA,CAAA;sBAA5B,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAEG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAEG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAEG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAEG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAEG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,sBAAsB,EAAA,CAAA;sBAA9B,KAAK;gBAEG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAEG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACI,eAAe,EAAA,CAAA;sBAAxB,MAAM;gBAqBP,OAAO,EAAA,CAAA;sBADN,KAAK;;;ME9DM,eAAe,CAAA;IAC3B,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AACnF,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KADK;;AAG/F,IAAA,eAAe,CAAC,UAAkB,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,sBAAsB,EAClE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrE,CAAC;KACF;;AAGD,IAAA,kBAAkB,CAAC,aAAqB,EAAA;;AAEvC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,yBAAyB,EACrE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,EAAE,CAChE,CAAC;KACF;;IAGD,2BAA2B,CAAC,aAAqB,EAAE,MAAc,EAAA;AAChE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,kCAAkC,EAC9E,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CACtF,CAAC;KACF;;AAGD,IAAA,oBAAoB,CAAC,IAAS,EAAE,MAAc,EAAE,MAAc,EAAA;QAC7D,IAAI,GAAG,GACN,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;YACzC,mCAAmC;AACnC,YAAA,MAAM,CAAC;AACR,QAAA,IAAI,MAAM;AAAE,YAAA,GAAG,IAAI,UAAU,GAAG,MAAM,CAAC;AACvC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;KACxD;;AAGD,IAAA,uCAAuC,CAAC,aAAqB,EAAE,MAAc,EAAE,IAAS,EAAA;QACvF,IAAI,GAAG,GACN,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;YACzC,sDAAsD;YACtD,MAAM;YACN,iBAAiB;AACjB,YAAA,aAAa,CAAC;AACf,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;KACxD;AAED;;;;AAIG;IACH,8BAA8B,CAAC,aAAqB,EAAE,MAAc,EAAA;AACnE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,wBAAwB,EACpE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CACtF,CAAC;KACF;AAED;;;;;;;AAOG;AACH,IAAA,IAAI,CAAC,MAAc,EAAE,IAAS,EAAE,aAAqB,EAAE,UAAkB,EAAA;QACxE,IAAI,GAAG,GACN,iCAAiC;YACjC,MAAM;YACN,cAAc;YACd,UAAU;YACV,iBAAiB;AACjB,YAAA,aAAa,CAAC;QACf,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,GAAG,EAC/C,IAAI,EACJ,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,mBAAmB,CAAC,IAAS,EAAA;QAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,WAAW,EAAE,IAAI,CAAC,CAAC;KAC3F;AAED,IAAA,WAAW,CAAC,MAAc,EAAE,aAAqB,EAAE,UAAkB,EAAA;AACpE,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;AACnE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;KACjD;AAED,IAAA,cAAc,CAAC,MAAc,EAAE,aAAqB,EAAE,UAAkB,EAAA;;AAEvE,QAAA,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,uBAAuB,MAAM,CAAA,YAAA,EAAe,UAAU,CAAkB,eAAA,EAAA,aAAa,EAAE,CAAC;KAC3I;AAED;;;;AAIG;AACH,IAAA,MAAM,CAAC,QAAa,EAAA;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,WAAW,EACvD,QAAQ,EACR,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED;;;;AAIG;AACH,IAAA,UAAU,CAAC,aAAqB,EAAE,MAAc,EAAE,QAAgB,EAAE,SAAc,EAAA;AACjF,QAAA,IAAI,OAAO,GAAG,IAAI,UAAU,EAAE;AAC5B,aAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AACnC,aAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC;AACrB,aAAA,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC;AACzB,aAAA,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAC9B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;YACxC,0BAA0B;YAC1B,MAAM;YACN,iBAAiB;YACjB,aAAa;YACb,YAAY;YACZ,QAAQ;YACR,aAAa;AACb,YAAA,SAAS,EACV;AACC,YAAA,MAAM,EAAE,OAAO;AACf,SAAA,EACD,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED;;;;AAIG;AACH,IAAA,YAAY,CAAC,aAAqB,EAAE,KAAU,EAAE,UAAe,EAAE,MAAW,EAAA;AAC3E,QAAA,IAAI,IAAI,GAAG;AACV,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,MAAM,EAAE,MAAM;SACd,CAAC;AACF,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;YACxC,mCAAmC;AACnC,YAAA,aAAa,EACd,IAAI,EACJ,IAAI,CAAC,UAAU,CACf,CAAC;KACF;IAED,eAAe,CAAC,aAAqB,EAAE,MAAc,EAAA;AACpD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;YACxC,qCAAqC;YACrC,aAAa;YACb,UAAU;AACV,YAAA,MAAM,EAEP,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED;;;;AAIG;AACH,IAAA,4BAA4B,CAAC,IAAI,EAAA;QAChC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,mBAAmB,EAC/D,IAAI,EACJ,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED;;;AAGG;AACH,IAAA,YAAY,CAAC,QAAe,EAAA;QAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,mBAAmB,EAC/D,QAAQ,EACR,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED;;;AAGG;AACH,IAAA,mBAAmB,CAAC,QAAe,EAAA;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,2BAA2B,EACvE,QAAQ,EACR,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED;;;AAGG;AACH,IAAA,yBAAyB,CAAC,mBAAwC,EAAA;QACjE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,gCAAgC,EAC5E,mBAAmB,EACnB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,sBAAsB,CAAC,cAAwB,EAAA;AAC9C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,6BAA6B,EACzE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,EAAE,CAC7E,CAAC;KACF;;AAlOW,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,kBACP,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,eAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFf,MAAM,EAAA,CAAA,CAAA;2FAEN,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCSrB,kBAAkB,CAAA;IAG9B,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAFnF,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEK;;AAG/F,IAAA,OAAO,CAAC,EAAU,EAAA;AACjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,qBAAqB,EAChE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAC1C,CAAC;KACF;;AAGD,IAAA,YAAY,CAAC,EAAU,EAAA;AACtB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,0BAA0B,EACtE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAC1C,CAAC;KACF;;AAGD,IAAA,uBAAuB,CAAC,EAAU,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,qCAAqC,EACjF,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAC1C,CAAC;KACF;;AAGD,IAAA,cAAc,CAAC,MAAgB,EAAA;QAC9B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,4BAA4B,EACxE,MAAM,CACN,CAAC;KACF;;AAGD,IAAA,oCAAoC,CACnC,mBAAwC,EAAA;AAExC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;YACvC,kDAAkD,EACnD,mBAAmB,CACnB,CAAC;KACF;;AAGD,IAAA,eAAe,CAAC,UAAkB,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,6BAA6B,EACxE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrE,CAAC;KACF;;AAGD,IAAA,aAAa,CAAC,QAAgB,EAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,2BAA2B,EACvE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CACtD,CAAC;KACF;;AAGD,IAAA,IAAI,CAAC,WAAwB,EAAA;QAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,kBAAkB,EAC9D,WAAW,EACX,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,aAAa,CAAC,UAAkB,EAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,2BAA2B,EACvE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrE,CAAC;KACF;;AAGD,IAAA,sBAAsB,CACrB,0BAAuD,EAAA;QAEvD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,oCAAoC,EAC/E,0BAA0B,EAC1B,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,mBAAmB,CAAC,YAA2B,EAAA;QAC9C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,iCAAiC,EAC5E,YAAY,EACZ,IAAI,CAAC,UAAU,CACf,CAAC;KACF;IAEM,WAAW,CAAC,eAAyB,EAAE,KAAa,EAAA;QAC1D,MAAM,MAAM,GAAG,EAAE,aAAa,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAChE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,yBAAyB,EACpE,MAAM,CACN,CAAC;KACF;;AAGD,IAAA,eAAe,CAAC,aAAqB,EAAA;AACpC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,6BAA6B,EACxE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,EAAE,CAC3E,CAAC;KACF;;AAGD,IAAA,WAAW,CACV,8BAA4D,EAC5D,4BAAsC,EACtC,UAAkB,EAClB,cAAuB,EAAA;AAEvB,QAAA,IAAI,mBAAmB,GAAG;AACzB,YAAA,8BAA8B,EAAE,8BAA8B;AAC9D,YAAA,4BAA4B,EAAE,4BAA4B;AAC1D,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,cAAc,EAAE,cAAc;SAC9B,CAAC;QACF,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,mCAAmC,EACjF,mBAAmB,EACnB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED;;;AAGG;AACH,IAAA,yBAAyB,CAAC,mBAAwC,EAAA;QACjE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,uCAAuC,EACnF,mBAAmB,EACnB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED;;;;;AAKG;AACH,IAAA,gCAAgC,CAAC,mBAAwC,EAAA;QACxE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,4CAA4C,EACvF,mBAAmB,EACnB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED;;;AAGG;AACH,IAAA,gCAAgC,CAAC,mBAAwC,EAAA;QACxE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,uCAAuC,EAClF,mBAAmB,EACnB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED;;;AAGG;AACH,IAAA,4BAA4B,CAAC,mBAAwC,EAAA;QACpE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,0CAA0C,EACrF,mBAAmB,EACnB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;IAGD,wBAAwB,CAAC,UAAkB,EAAE,MAAc,EAAA;AAC1D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,sCAAsC,EACjF;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACxC,iBAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAClC,SAAA,CACD,CAAC;KACF;AAED,IAAA,YAAY,CAAC,WAAwB,EAAA;QACpC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,0BAA0B,EACtE,WAAW,EACX,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,wBAAwB,CAAC,WAAwB,EAAA;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,sCAAsC,EAClF,WAAW,EACX,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,oBAAoB,CAAC,WAAwB,EAAA;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,kCAAkC,EAC7E,WAAW,EACX,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,0CAA0C,CAAC,aAAuB,EAAA;AACjE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;AACvC,YAAA,wDAAwD,EACzD,aAAa,EACb,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,uBAAuB,CAAC,aAAuB,EAAA;QAC9C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,qCAAqC,EAChF,aAAa,EACb,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,wBAAwB,CAAC,WAAwB,EAAA;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,sCAAsC,EAClF,WAAW,EACX,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED;;;AAGG;AACH,IAAA,qBAAqB,CAAC,4BAAiC,EAAA;QACtD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,mCAAmC,EAC/E,4BAA4B,EAC5B,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED;;;AAGG;AACH,IAAA,8BAA8B,CAAC,4BAAiC,EAAA;AAC/D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;AACxC,YAAA,4CAA4C,EAC7C,4BAA4B,EAC5B,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,WAAW,CAAC,aAAqB,EAAA;QAChC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,yBAAyB,EACrE,aAAa,EACb,IAAI,CAAC,UAAU,CACf,CAAC;KACF;IAED,aAAa,CAAC,aAAqB,EAAE,WAAmB,EAAA;AACvD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,2BAA2B,EACvE,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,EAC1D,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,aAAa,CAAC,aAAqB,EAAA;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,2BAA2B,EACvE,aAAa,EACb,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,uCAAuC,CACtC,aAAqB,EACrB,WAAmB,EACnB,UAAkB,EAClB,QAAiB,EACjB,QAAgB,EAChB,yBAAoD,EACpD,mBAA4B,EAAA;AAE5B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;YACxC,qDAAqD,EACtD,yBAAyB,EACzB;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AACnC,iBAAA,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC;AACzB,iBAAA,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AACpC,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACxC,iBAAA,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC;AAC1C,iBAAA,GAAG,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,QAAQ,EAAE,CAAC;AAC5D,YAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;AAChC,SAAA,CACD,CAAC;KACF;AAED;;;;;AAKG;IACH,+BAA+B,CAC9B,UAAkB,EAClB,YAAoB,EACpB,OAAiB,EACjB,OAAe,EACf,kBAAkB,GAAG,KAAK,EAAA;AAE1B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;YACvC,6CAA6C,EAC9C,OAAO,EACP;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC;AAC7B,iBAAA,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC;AACjC,iBAAA,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;AAC/B,iBAAA,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAC;AACvD,YAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;AAChC,SAAA,CACD,CAAC;KACF;IAED,8BAA8B,CAAC,UAAkB,EAAE,OAAe,EAAA;AACjE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,4CAA4C,EACvF;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC;AAC7B,iBAAA,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;AACjC,SAAA,CACD,CAAC;KACF;AAED;;;AAGG;AACH,IAAA,6BAA6B,CAAC,aAAqB,EAAA;AAClD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,sCAAsC,EAClF;YACC,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AAC5D,SAAA,CACD,CAAC;KACF;IAED,0BAA0B,CAAC,QAAgB,EAAE,WAAqB,EAAA;AACjE,QAAA,MAAM,kBAAkB,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;QACrD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,yCAAyC,EACrF,kBAAkB,CAClB,CAAC;KACF;AAED,IAAA,sBAAsB,CAAC,aAA4B,EAAA;QAClD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,oCAAoC,EAChF,aAAa,EACb,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,4BAA4B,CAC3B,yBAAoD,EAAA;QAEpD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,0CAA0C,EACtF,yBAAyB,CACzB,CAAC;KACF;;AAGD,IAAA,yBAAyB,CAAC,mBAAwC,EAAA;QACjE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,uCAAuC,EAClF,mBAAmB,CACnB,CAAC;KACF;;AAGD,IAAA,8BAA8B,CAC7B,oCAA0E,EAAA;QAE1E,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,4CAA4C,EACvF,oCAAoC,CACpC,CAAC;KACF;AAED,IAAA,0BAA0B,CAAC,iBAAoC,EAAA;QAC9D,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,wCAAwC,EACpF,iBAAiB,CACjB,CAAC;KACF;AAED,IAAA,qBAAqB,CAAC,sBAA8C,EAAA;QACnE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,mCAAmC,EAC9E,sBAAsB,CACtB,CAAC;KACF;AAED,IAAA,uBAAuB,CAAC,UAAkB,EAAA;AACzC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,qCAAqC,EAChF,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,EAAE,CAC1D,CAAC;KACF;IAED,2CAA2C,CAC1C,aAAuB,EACvB,UAAkB,EAAA;AAElB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;YACvC,yDAAyD,EAC1D,aAAa,EACb;AACC,YAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;YAChC,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC;AACtD,SAAA,CACD,CAAC;KACF;;AApcW,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,kBAGV,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,kBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFlB,MAAM,EAAA,CAAA,CAAA;2FAEN,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCbrB,wBAAwB,CAAA;IACpC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;AAE1F,IAAA,OAAO,CAAC,EAAU,EAAA;AACjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,4BAA4B,EACjE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,CACjE,CAAC;KACF;AAED,IAAA,IAAI,CAAC,oBAA0C,EAAA;QAC9C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,yBAAyB,EAC9D,oBAAoB,CACpB,CAAC;KACF;;AAfW,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,kBAChB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,wBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cAFxB,MAAM,EAAA,CAAA,CAAA;2FAEN,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCDrB,mBAAmB,CAAA;IAE/B,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAD9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KACA;;AAG1F,IAAA,eAAe,CAAC,UAAkB,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,gCAAgC,EAC9E,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrE,CAAC;KACF;;AAGD,IAAA,IAAI,CAAC,YAA0B,EAAA;QAC9B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,qBAAqB,EACnE,YAAY,EACZ,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;IAGD,YAAY,CAAC,cAAsB,EAAE,eAAuB,EAAA;AAC3D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,6BAA6B,EAC3E;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC;AAChD,iBAAA,GAAG,CAAC,iBAAiB,EAAE,eAAe,CAAC,QAAQ,EAAE,CAAC;AACpD,SAAA,CACD,CAAC;KACF;;AA/BW,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,kBAEX,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAFrB,mBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFnB,MAAM,EAAA,CAAA,CAAA;2FAEN,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAGa,MAAM;+BAAC,aAAa,CAAA;;;;MCFrB,iBAAiB,CAAA;IAC7B,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;AAE/F,IAAA,MAAM,CAAC,QAAgB,EAAA;QACtB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,kCAAkC,QAAQ,CAAA,CAAE,CAC1F,CAAC;KACF;AAED,IAAA,OAAO,CAAC,YAAoB,EAAA;QAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,2BAA2B,YAAY,CAAA,CAAE,CACvF,CAAC;KACF;AAED,IAAA,IAAI,CAAC,MAAiB,EAAA;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAA,cAAA,CAAgB,EAC9D,MAAM,EACN,WAAW,CACX,CAAC;KACF;;AArBW,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,kBACT,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,iBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFjB,MAAM,EAAA,CAAA,CAAA;2FAEN,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCFrB,0BAA0B,CAAA;IAGtC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAF9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEA;;AAG1F,IAAA,SAAS,CAAC,GAAW,EAAE,UAAkB,EAAE,aAAqB,EAAA;AAC/D,QAAA,IAAI,IAAI,GAAG;AACV,YAAA,GAAG,EAAE,GAAG;AACR,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,aAAa,EAAE,aAAa;SAC5B,CAAC;QACF,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,uBAAuB,EACrE,IAAI,EACJ,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;IAGD,qBAAqB,CACpB,GAAW,EACX,UAAkB,EAClB,aAAqB,EACrB,SAAkB,EAClB,MAAc,EAAA;AAEd,QAAA,MAAM,IAAI,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AACnE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,4CAA4C,EAC7C,IAAI,EACJ,IAAI,CAAC,UAAU;;;;;SAKf,CAAC;KACF;;AAGD,IAAA,mBAAmB,CAAC,GAAW,EAAE,UAAkB,EAAE,QAAgB,EAAA;AACpE,QAAA,IAAI,IAAI,GAAG;AACV,YAAA,GAAG,EAAE,GAAG;AACR,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,QAAQ,EAAE,QAAQ;SAClB,CAAC;AACF,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,0CAA0C,EAC3C,IAAI,EACJ,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,cAAc,CAAC,OAAe,EAAE,UAAkB,EAAE,aAAqB,EAAA;AACxE,QAAA,IAAI,IAAI,GAAG;AACV,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,aAAa,EAAE,aAAa;SAC5B,CAAC;QACF,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,qCAAqC,EACnF,IAAI,EACJ,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAnEW,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,kBAGlB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,0BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cAF1B,MAAM,EAAA,CAAA,CAAA;2FAEN,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;ACyBlC,MAAMC,OAAK,GAAG,MAAM,CAAC;MAOR,qBAAqB,CAAA;IAkDjC,WACkB,CAAA,SAAuB,EACvB,eAAgC,EAChC,kBAAsC,EACtC,UAAsB,EACtB,aAA4B,EAC5B,kBAA4C,EAC5C,MAA2B,EAC3B,QAAkC,EAC3C,cAA8B,EAC9B,WAAwB,EACxB,gBAAmC,EACnC,mBAAwC,EACxC,0BAAsD,EAAA;AAZ7C,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAc;AACvB,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;AAChC,QAAA,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAoB;AACtC,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AACtB,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAC5B,QAAA,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAA0B;AAC5C,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAqB;AAC3B,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAA0B;AAC3C,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;AAC9B,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AACxB,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAmB;AACnC,QAAA,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAqB;AACxC,QAAA,IAA0B,CAAA,0BAAA,GAA1B,0BAA0B,CAA4B;AA7CtD,QAAA,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;AAClB,QAAA,IAAW,CAAA,WAAA,GAAG,gBAAgB,CAAC;AAGxC,QAAA,IAAO,CAAA,OAAA,GAAY,IAAI,CAAC;AACxB,QAAA,IAAK,CAAA,KAAA,GAAe,EAAE,CAAC;AASvB,QAAA,IAAS,CAAA,SAAA,GAA0B,EAAE,CAAC;AACtC,QAAA,IAAY,CAAA,YAAA,GAA0B,EAAE,CAAC;AACzC,QAAA,IAAK,CAAA,KAAA,GAAU,EAAE,CAAC;;AAKlB,QAAA,IAAS,CAAA,SAAA,GAAW,YAAY,CAAC;AAEjC,QAAA,IAAK,CAAA,KAAA,GAAY,KAAK,CAAC;AACb,QAAA,IAAA,CAAA,UAAU,GAAsB,IAAI,YAAY,EAAO,CAAC;KAsB9D;IA/DJ,IACI,cAAc,CAAC,MAAmB,EAAA;AACrC,QAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;YAC/B,KAAK,EAAE,CAAC,CAAC,IAAI;YACb,OAAO,EAAE,MAAW,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;AACnB,gBAAA,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;AACvB,gBAAA,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;AACxB,aAAC,CAAA;AACD,SAAA,CAAC,CAAC,CAAC;KACJ;IAED,IACI,aAAa,CAAC,KAAa,EAAA;AAC9B,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;KAC5B;AA6BD,IAAA,OAAO,CAAC,KAAiB,EAAA;AACxB,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;AACzB,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;AACvE,SAAA;KACD;AAkBO,IAAA,qBAAqB,CAAC,IAAW,EAAA;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACtC,QAAA,OAAO,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;KAC9D;AAEO,IAAA,UAAU,CAAC,QAAe,EAAA;QACjC,OAAO,QAAQ,CAAC,IAAI,CACnB,CAAC,OAAO,KAAK,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAC9E,CAAC;KACF;IAEK,SAAS,GAAA;;AACd,YAAA,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,kBAAkB;AACnD,iBAAA,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;AAC5B,iBAAA,SAAS,EAAE,CAAC;AAEd,YAAA,MAAM,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC;AAE9C,YAAA,IAAI,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe;AAC5C,iBAAA,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC;AACvC,iBAAA,SAAS,EAAE,CAAC;;AAEd,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;;AAGxE,YAAA,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;AAC9B,gBAAA,MAAM,MAAM,GAAQ,MAAM,IAAI,CAAC,mBAAmB;AAChD,qBAAA,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC9B,qBAAA,SAAS,EAAE,CAAC;AACd,gBAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,0BAA0B;AAChD,qBAAA,qBAAqB,CACrB,IAAI,CAAC,aAAa,CAAC,MAAM,EACzB,UAAU,EACV,IAAI,CAAC,cAAc,EACnB,IAAI,EACJ,IAAI,CACJ;AACA,qBAAA,SAAS,EAAE,CAAC;AACd,gBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC;AAC3B,aAAA;;AAGD,YAAA,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;AAC9B,gBAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,0BAA0B;AAChD,qBAAA,qBAAqB,CACrB,IAAI,CAAC,aAAa,CAAC,MAAM,EACzB,UAAU,EACV,IAAI,CAAC,cAAc,EACnB,IAAI,EACJ,IAAI,CACJ;AACA,qBAAA,SAAS,EAAE,CAAC;AACd,gBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC;AAC3B,aAAA;AAED,YAAA,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;AAC5B,gBAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,0BAA0B;AAChD,qBAAA,qBAAqB,CACrB,IAAI,CAAC,aAAa,CAAC,IAAI,EACvB,UAAU,EACV,IAAI,CAAC,cAAc,EACnB,IAAI,EACJ,IAAI,CACJ;AACA,qBAAA,SAAS,EAAE,CAAC;AACd,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC;AACzB,aAAA;AAED,YAAA,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;SACzB,CAAA,CAAA;AAAA,KAAA;IAEK,WAAW,GAAA;;;AAEhB,YAAA,IAAI,UAAU,GAAe,IAAI,UAAU,EAAE,CAAC;AAC9C,YAAA,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;AAChC,YAAA,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;AACpC,YAAA,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;AACpC,YAAA,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;YACvB,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;YACpD,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;YACxD,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;YAC1D,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;AAEtD,YAAA,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC;AAC/B,YAAA,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC;AAC/B,YAAA,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC;AAE5B,YAAA,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,SAAS,CACpD,CAAC,MAAM,KAAI;AACV,gBAAA,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAC5B,aAAC,EACD,CAAC,KAAK,KAAI;AACT,gBAAA,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;AAClD,aAAC,CACD,CAAC;SACF,CAAA,CAAA;AAAA,KAAA;IAED,QAAQ,GAAA;QACP,MAAM,WAAW,GAAG,iBAAiB,CAAC;AACtC,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAE1C,IAAI,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AACpC,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AAC7B,QAAA,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;AACzB,QAAA,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC;AACjB,QAAA,CAAC,CAAC,QAAQ,GAAG,YAAY,CAAC;QAC1B,CAAC,CAAC,KAAK,EAAE,CAAC;QACV,UAAU,CAAC,MAAK;AACf,YAAA,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;AACpC,YAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AAC7B,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBACpB,MAAM,EAAE,IAAI,CAAC,MAAM;AACnB,aAAA,CAAC,CAAC;SACH,EAAE,GAAG,CAAC,CAAC;KACR;IAED,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,EAAE,EAAE,SAAS,GAAG,GAAG,EAAA;QACnD,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;AACrC,QAAA,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,MAAM,IAAI,SAAS,EAAE;AACzE,YAAA,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;YAC/D,MAAM,WAAW,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC5C,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtC,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACrC,aAAA;AACD,YAAA,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;AAC9C,YAAA,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC3B,SAAA;AACD,QAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;AACzD,QAAA,OAAO,IAAI,CAAC;KACZ;AAED,IAAA,UAAU,CAAC,GAAG,EAAA;AACb,QAAA,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI,CAAC;;AAEtC,QAAA,IAAI,eAAe,GAAgB,IAAI,CAAC,WAAW,CAAC;QACpD,IAAI,IAAI,GAAG,IAAI,CAAC;;AAEhB,QAAA,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,EAAA;AACvD,YAAA,IAAI,KAAK,GAAG,eAAe,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,GAAG,GAAG,CAAC;AAChE,YAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YAClD,eAAe,CAAC,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YAChD,eAAe,CAAC,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;;AAG9C,YAAA,IAAI,aAAa,GAAG;gBACnB,aAAa,EAAE,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;AACtD,gBAAA,QAAQ,EAAE,QAAQ;aAClB,CAAC;YACF,IAAI,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;;AAG5C,YAAA,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,YAAA;AACvB,gBAAA,eAAe,CAAC,aAAa,GAAG,KAAK,CAAC;AACtC,gBAAA,IAAI,eAAe,CAAC,cAAc,KAAK,IAAI,EAAE;;AAE5C,oBAAA,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;AAChD,oBAAA,eAAe,CAAC,cAAc,GAAG,IAAI,CAAC;AACtC,iBAAA;AACF,aAAC,CAAC,CAAC;AACJ,SAAC,CAAC,CAAC;KACH;AAED,IAAA,aAAa,CAAC,MAAM,EAAA;AACnB,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,QAAQ,EAAE,CAAC;KAChB;AACD,IAAA,aAAa,CAAC,GAAG,EAAA;QAChB,MAAM,OAAO,GAAG,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AAC/C,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;AAClC,SAAA;KACD;;kHAhPW,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAtB,IAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAuB,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,kBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,wBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,mBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAH,mBAAA,EAAA,EAAA,EAAA,KAAA,EAAAI,0BAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,wZC1ClC,k4BAqBA,EAAA,MAAA,EAAA,CAAA,m1rBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,KAAA,CAAA,eAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,OAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,aAAA,EAAA,uBAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDqBa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;+BACC,mBAAmB,EAAA,QAAA,EAAA,k4BAAA,EAAA,MAAA,EAAA,CAAA,m1rBAAA,CAAA,EAAA,CAAA;+cAMzB,cAAc,EAAA,CAAA;sBADjB,KAAK;gBAYF,aAAa,EAAA,CAAA;sBADhB,KAAK;gBAKgB,cAAc,EAAA,CAAA;sBAAnC,SAAS;uBAAC,SAAS,CAAA;gBACX,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAsBI,UAAU,EAAA,CAAA;sBAAnB,MAAM;gBAEP,OAAO,EAAA,CAAA;sBADN,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAA;;;MEzErB,WAAW,CAAA;AAEvB,IAAA,WAAA,CACgC,WAAW,EAClC,MAAuB,EACvB,kBAAsC,EACtC,UAAsB,EAAA;AAHC,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAClC,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAiB;AACvB,QAAA,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAoB;AACtC,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAE9B,QAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,KAAM,GAAC,CAAC,CAAC;KACrD;AAED;;;;AAIG;IACH,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAA;AACpB,QAAA,IAAI,OAAO,GAAG,IAAI,eAAe,CAAS,SAAS,CAAC,CAAC;AAErD,QAAA,IAAI,CAAC,kBAAkB;AACrB,aAAA,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC;AACtB,aAAA,IAAI,CAAC,CAAC,MAAM,KAAI;YAChB,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,UAAU,GAAG,EAAA;AAC7C,gBAAA,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnB,aAAC,CAAC,CAAC;AACJ,SAAC,CAAC;AACD,aAAA,KAAK,CAAC,CAAC,KAAK,KAAI;AAChB,YAAA,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;AACpD,YAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACtB,SAAC,CAAC,CAAC;AACJ,QAAA,OAAO,OAAO,CAAC,YAAY,EAAE,CAAC;KAC9B;IAED,oBAAoB,CAAC,QAAQ,EAAE,IAAI,EAAA;AAClC,QAAA,IAAI,OAAO,GAAG,IAAI,eAAe,CAAS,SAAS,CAAC,CAAC;AAErD,QAAA,IAAI,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC1D,QAAA,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAI;YACpB,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,UAAU,GAAG,EAAA;AAC7C,gBAAA,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnB,aAAC,CAAC,CAAC;AACJ,SAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,KAAI;AAClB,YAAA,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;AACpD,YAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACtB,SAAC,CAAC,CAAC;AAEH,QAAA,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;KACnF;AAED,IAAA,QAAQ,CAAC,IAAY,EAAA;AACpB,QAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC;KAC1E;AAED;;;AAGG;AACH,IAAA,MAAM,CAAC,WAAmB,EAAA;AACzB,QAAA,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC;KACjE;AAED;;;;;;;;AAQG;AACH,IAAA,OAAO,CACN,OAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,UAAkB,EAClB,aAAqB,EACrB,QAAgB,EAChB,QAAiB,EAAA;QAEjB,IAAI,SAAS,GAAkB,EAAE,CAAC;;AAGlC,QAAA,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC5B,QAAA,IAAI,OAAO,KAAK,QAAQ,CAAC,YAAY;AAAE,YAAA,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACtE,QAAA,IAAI,OAAO,KAAK,QAAQ,CAAC,YAAY;AAAE,YAAA,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACtE,QAAA,IAAI,OAAO,KAAK,QAAQ,CAAC,WAAW;AAAE,YAAA,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACpE,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;AACtC,QAAA,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;;AAG9B,QAAA,IAAI,QAAQ,EAAE;YACb,IAAI,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACpC,YAAA,SAAS,CAAC,IAAI,CACb,GAAG,QAAQ,CAAA,CAAA,EAAI,SAAS,CAAC,CAAC,CAAC,CAAI,CAAA,EAAA,UAAU,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAA,CAAE,CAC1E,CAAC;AACF,SAAA;AAAM,aAAA;YACN,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1D,SAAA;AACD,QAAA,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC3B;AAED;;;;;AAKG;AACF,IAAA,qBAAqB,CACrB,QAAgB,EAChB,QAAgB,EAChB,QAAiB,EAAA;QAEjB,IAAI,SAAS,GAAkB,EAAE,CAAC;;AAGlC,QAAA,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC5B,QAAA,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;;AAGzB,QAAA,IAAI,QAAQ,EAAE;YACb,IAAI,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACpC,YAAA,SAAS,CAAC,IAAI,CACb,GAAG,QAAQ,CAAA,CAAA,EAAI,SAAS,CAAC,CAAC,CAAC,CAAI,CAAA,EAAA,UAAU,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAA,CAAE,CAC1E,CAAC;AACF,SAAA;AAAM,aAAA;YACN,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1D,SAAA;AACD,QAAA,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC3B;AAED;;;;AAIG;AACH,IAAA,UAAU,CAAC,GAAW,EAAA;AACrB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;KAC1D;AAED;;;;AAIG;AACH,IAAA,mBAAmB,CAAC,IAAY,EAAA;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC9C,QAAA,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;KACzB;AAED;;;;AAIG;AACH,IAAA,sBAAsB,CAAC,IAAY,EAAA;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC9C,QAAA,OAAO,GAAG,CAAC,cAAc,EAAE,CAAC;KAC5B;;AA/JW,WAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,kBAGd,aAAa,EAAA,EAAA,EAAA,KAAA,EAAAlC,IAAA,CAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAiB,IAAA,CAAA,kBAAA,EAAA,EAAA,EAAA,KAAA,EAAApB,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHV,WAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cAFX,MAAM,EAAA,CAAA,CAAA;2FAEN,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIE,MAAM;+BAAC,aAAa,CAAA;;;;ACIvB,MAAMyB,OAAK,GAAG,MAAM,CAAC;AACrB;MAOa,sBAAsB,CAAA;AAqElC,IAAA,WAAA,CACW,aAA4B,EAC/B,YAA0B,EACzB,aAA4B,EAC5B,WAAwB,EAAA;AAHtB,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAC/B,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;AACzB,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAC5B,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;;AAlDxB,QAAA,IAAS,CAAA,SAAA,GAAY,IAAI,CAAC;;AAE1B,QAAA,IAAY,CAAA,YAAA,GAAY,IAAI,CAAC;;AAE7B,QAAA,IAAY,CAAA,YAAA,GAAY,IAAI,CAAC;;AAiB5B,QAAA,IAAA,CAAA,UAAU,GAAsB,IAAI,YAAY,EAAO,CAAC;;AAExD,QAAA,IAAA,CAAA,WAAW,GAAsB,IAAI,YAAY,EAAO,CAAC;;AAEzD,QAAA,IAAA,CAAA,QAAQ,GAAyB,IAAI,YAAY,EAAU,CAAC;;AAWtE,QAAA,IAAK,CAAA,KAAA,GAAY,KAAK,CAAC;;AAKvB,QAAA,IAAS,CAAA,SAAA,GAAW,YAAY,CAAC;;AAGjC,QAAA,IAAI,CAAA,IAAA,GAAY,KAAK,CAAC;KAOlB;;AAGJ,IAAA,WAAW,CAAC,OAAsB,EAAA;AACjC,QAAA,MAAM,IAAI,GAAiB,OAAO,CAAC,IAAI,CAAC;AACxC,QAAA,MAAM,OAAO,GAAiB,OAAO,CAAC,OAAO,CAAC;AAC9C,QAAA,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE;AAC9B,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;YAC9B,IAAI,CAAC,WAAW,EAAE,CAAC;AACnB,SAAA;AAAM,aAAA,IAAI,OAAO,IAAI,OAAO,CAAC,YAAY,EAAE;AAC3C,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC;YACpC,IAAI,CAAC,WAAW,EAAE,CAAC;AACnB,SAAA;AAAM,aAAA;AACN,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;AAChD,gBAAA,IAAI,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;AACrC,gBAAA,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACnD,gBAAA,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;AACjD,gBAAA,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;AAC7B,aAAA;AACD,SAAA;KACD;;IAGD,WAAW,GAAA;AACV,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;AACvE,YAAA,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,CAC3D,CAAC,MAAM,KAAI;AACV,gBAAA,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAC5B,aAAC,EACD,CAAC,KAAK,KAAI;AACT,gBAAA,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;AAClD,aAAC,CACD,CAAC;AACF,SAAA;AAAM,aAAA;;AAEN,YAAA,IAAI,UAAU,GAAe,IAAI,UAAU,EAAE,CAAC;AAC9C,YAAA,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;AAC5B,YAAA,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AAChC,YAAA,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AAChC,YAAA,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;AAC5B,YAAA,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;AACtC,YAAA,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;AAC1C,YAAA,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;AAC5C,YAAA,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AACxC,YAAA,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;AAC1C,YAAA,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;AAC5B,YAAA,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;AAC5B,YAAA,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;AAC5C,YAAA,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;AAC5C,YAAA,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;AACtC,YAAA,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;AAC5C,YAAA,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;AAE5C,YAAA,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,SAAS,CACpD,CAAC,MAAM,KAAI;AACV,gBAAA,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAC5B,aAAC,EACD,CAAC,KAAK,KAAI;AACT,gBAAA,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;AAClD,aAAC,CACD,CAAC;AACF,SAAA;KACD;AAED,IAAA,aAAa,CAAC,MAAM,EAAA;AACnB,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACzB,QAAAA,OAAK,CAAC,SAAS,GAAI,sEAAsE,CAAC;QAC1F,IAAIA,OAAK,CAAC,mBAAmB;YAChCA,OAAK,CAAC,mBAAmB,CAAC,SAAS;AAC9B,gBAAA,sEAAsE,CAAC;;;QAG7E,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;;AAGnD,QAAA,IAAI,WAAW,GAAgB,IAAI,CAAC,WAAW,CAAC;AAChD,QAAAa,gBAAO,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;AAChC,YAAA,YAAY,EAAE,KAAK;AACnB,SAAA,CAAC,CAAC;QACH,IAAI,IAAI,GAAG,IAAI,CAAC;AAChB,QAAA,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AAEvB,QAAA,MAAM,cAAc,GAAGb,OAAK,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;;AAEzD,QAAA,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,GAAG,cAAc,CAAC,OAAO,GAAG,cAAc,CAAC;AACjF,QAAA,OAAO,CAAC,IAAI,CAAC,UAAU,OAAO,EAAA;AAC7B,YAAA,WAAW,CAAC,MAAM,GAAG,OAAO,CAAC;AAC7B,YAAA,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACnB,KAAK,GAAG,IAAI,CAAC;AACd,SAAC,CAAC,CAAC;KACH;IAED,iBAAiB,GAAA;;QAEhB,IAAI,QAAQ,GAAG,iBAAiB,CAAC;;QAEjC,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAC3B,CAAC,GAAG,IAAI,CAAC,MAAM,EACf,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;QAC3B,OAAO,CAAC,EAAE,EAAE;YACX,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAC9B,SAAA;AACD,QAAA,IAAI,UAAU,GAAG,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;AAC1E,QAAA,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;KACxC;IAED,YAAY,CAAC,UAAe,EAAE,QAAgB,EAAA;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CACxC,QAAQ,CAAC,YAAY,EACrB,GAAG,EACH,CAAC,EACD,CAAC,EACD,MAAM,EACN,QAAQ,CACR,CAAC;AACF,QAAA,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,SAAS,CACtD,CAAC,GAAG,KAAI;AACP,YAAA,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAC;AAC9C,SAAC,EACD,CAAC,KAAK,KAAI;AACT,YAAA,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;AAChD,SAAC,CACD,CAAC;KACF;;IAGD,SAAS,GAAA;QACR,IAAI,IAAI,CAAC,MAAM;AAAE,YAAA,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;AAC3C,QAAA,OAAO,sBAAsB,CAAC,cAAc,GAAG,IAAI,CAAC;KACpD;;AAGD,IAAA,UAAU,CAAC,GAAG,EAAA;AACb,QAAA,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI,CAAC;;AAEtC,QAAA,IAAI,eAAe,GAAgB,IAAI,CAAC,WAAW,CAAC;QACpD,IAAI,IAAI,GAAG,IAAI,CAAC;;AAEhB,QAAA,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,EAAA;AACvD,YAAA,IAAI,KAAK,GAAG,eAAe,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,GAAG,GAAG,CAAC;AAChE,YAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;YAChD,eAAe,CAAC,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YAChD,eAAe,CAAC,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;;AAG9C,YAAA,IAAI,aAAa,GAAG;gBACnB,aAAa,EAAE,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;AACtD,gBAAA,QAAQ,EAAE,QAAQ;aAClB,CAAC;YACF,IAAI,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;;AAG5C,YAAA,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,YAAA;AACvB,gBAAA,eAAe,CAAC,aAAa,GAAG,KAAK,CAAC;AACtC,gBAAA,IAAI,eAAe,CAAC,cAAc,KAAK,IAAI,EAAE;;AAE5C,oBAAA,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;AAChD,oBAAA,eAAe,CAAC,cAAc,GAAG,IAAI,CAAC;AACtC,iBAAA;AACF,aAAC,CAAC,CAAC;AACJ,SAAC,CAAC,CAAC;KACH;AAED;;;AAGG;AACH,IAAA,eAAe,CAAC,GAAG,EAAA;AAClB,QAAA,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;AACnC,YAAA,IAAI,CAAC,WAAW,CAAC,cAAc,GAAG,GAAG,CAAC;AACtC,SAAA;AAAM,aAAA;AACN,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACrB,SAAA;KACD;AAED;;AAEG;IACH,UAAU,GAAA;AACT,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,CAAC,EAAE;YACvD,OAAO;AACP,SAAA;AACD,QAAA,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QAC3B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;KAC/C;AAED;;AAEG;IACH,UAAU,GAAA;AACT,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE;YACtF,OAAO;AACP,SAAA;AACD,QAAA,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QAC3B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;KAC/C;AAED;;AAEG;IACH,QAAQ,GAAA;AACP,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,EAAE;YACrD,OAAO;AACP,SAAA;AACD,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,GAAG,CAAC;QACtD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;KAC/C;AAED;;AAEG;IACH,SAAS,GAAA;AACR,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,GAAG,EAAE;YACvD,OAAO;AACP,SAAA;AACD,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,GAAG,CAAC;QACtD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;KAC/C;AAED,IAAA,QAAQ,MAAK;;IAGb,SAAS,GAAA;AACR,QAAA,IAAI,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AACvD,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;gBACrB,EAAE,EAAE,IAAI,CAAC,KAAK;gBACd,MAAM,EAAE,IAAI,CAAC,MAAM;AACnB,aAAA,CAAC,CAAC;AACH,YAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,OAAO;AACP,SAAA;AACD,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;KAC/D;;IAGD,QAAQ,GAAA;QACP,MAAM,WAAW,GAAG,iBAAiB,CAAC;AACtC,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AACpC,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AAC7B,QAAA,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;AACzB,QAAA,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC;AACjB,QAAA,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC3B,CAAC,CAAC,KAAK,EAAE,CAAC;QACV,UAAU,CAAC,MAAK;AACf,YAAA,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;AACpC,YAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AAC7B,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBACpB,MAAM,EAAE,IAAI,CAAC,MAAM;AACnB,aAAA,CAAC,CAAC;SACH,EAAE,GAAG,CAAC,CAAC;KACR;;IAGD,MAAM,GAAA;QACL,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC9B;;IAGD,UAAU,GAAA;AACT,QAAA,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;KACvB;AAED;;AAEG;IACH,aAAa,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC;KACtC;AAED;;AAEG;IACH,OAAO,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC;KAChC;AAED;;AAEG;IACH,QAAQ,GAAA;QACP,QACC,IAAI,CAAC,WAAW;AAChB,YAAA,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,SAAS;AACpC,YAAA,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,IAAI,EAC9B;KACF;AAED;;AAEG;IACH,UAAU,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC;KACnC;AAED;;AAEG;IACH,YAAY,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC;KAC/B;AAED;;AAEG;IACH,MAAM,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;KACzB;AAED;;AAEG;IACH,aAAa,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC;KAChC;IAED,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,EAAE,EAAE,SAAS,GAAG,GAAG,EAAA;QACnD,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;AACrC,QAAA,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,MAAM,IAAI,SAAS,EAAE;AACzE,YAAA,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;YAC/D,MAAM,WAAW,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC5C,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtC,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACrC,aAAA;AACD,YAAA,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;AAC9C,YAAA,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC3B,SAAA;AACD,QAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;AACzD,QAAA,OAAO,IAAI,CAAC;KACZ;;AAxZM,sBAAc,CAAA,cAAA,GAAG,GAAG,CAAC;mHADhB,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA3B,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAsB,IAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAApB,EAAA,CAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAuC,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,0qBC3BnC,ywLAiKA,EAAA,MAAA,EAAA,CAAA,wpBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAhB,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,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,EAAAD,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDtIa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;+BACC,oBAAoB,EAAA,QAAA,EAAA,ywLAAA,EAAA,MAAA,EAAA,CAAA,wpBAAA,CAAA,EAAA,CAAA;iLAOrB,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAEG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAEG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAEG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAEG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAEG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAEG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAEG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAEG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAEG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAEG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAEG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAEG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAEG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAEG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAGG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAEG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAEG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAEG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAEG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAEI,UAAU,EAAA,CAAA;sBAAnB,MAAM;gBAEG,WAAW,EAAA,CAAA;sBAApB,MAAM;gBAEG,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBAEE,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAEG,OAAO,EAAA,CAAA;sBAAf,KAAK;;;AE9DP,MAAM,KAAK,GAAG,MAAM,CAAC;AACrB,MAAM,OAAO,GAAGiB,OAAQ,CAAC;AACzB;MAMa,2BAA2B,CAAA;AAuCvC,IAAA,WAAA,CACW,aAA4B,EAC9B,aAA4B,EAC7B,YAA0B,EAAA;AAFvB,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAC9B,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAC7B,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;;AAnCzB,QAAA,IAAA,CAAA,UAAU,GAAY,KAAK,CAAC;;AAY3B,QAAA,IAAA,CAAA,UAAU,GAAsB,IAAI,YAAY,EAAO,CAAC;;QAExD,IAAA,CAAA,WAAW,GAAsB,IAAI,YAAY,EAAO,CAAC;;AAEzD,QAAA,IAAA,CAAA,aAAa,GAAsB,IAAI,YAAY,EAAO,CAAC;AAQrE,sCAA8B,IAAA,CAAA,IAAI,GAAY,KAAK,CAAC;;AAEpD,QAAA,IAAK,CAAA,KAAA,GAAY,KAAK,CAAC;;AAIvB,QAAA,IAAS,CAAA,SAAA,GAAW,YAAY,CAAC;KAM7B;;AAGJ,IAAA,WAAW,CAAC,OAAsB,EAAA;AACjC,QAAA,MAAM,WAAW,GAAiB,OAAO,CAAC,WAAW,CAAC;AACtD,QAAA,MAAM,OAAO,GAAiB,OAAO,CAAC,OAAO,CAAC;AAC9C,QAAA,IAAI,WAAW,IAAI,WAAW,CAAC,YAAY,EAAE;YAC5C,IAAI,CAAC,WAAW,EAAE,CAAC;AACnB,SAAA;AAAM,aAAA,IAAI,OAAO,IAAI,OAAO,CAAC,YAAY,EAAE;AAC3C,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC;YACpC,IAAI,CAAC,WAAW,EAAE,CAAC;AACnB,SAAA;AAAM,aAAA;AACN,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;AAChD,gBAAA,IAAI,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;AACrC,gBAAA,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACnD,gBAAA,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;AACjD,gBAAA,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;AAC7B,aAAA;AACD,SAAA;KACD;;IAGD,WAAW,GAAA;QACV,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;AACrC,YAAA,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,CAC3D,CAAC,MAAM,KAAI;AACV,gBAAA,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAC5B,aAAC,EACD,CAAC,KAAK,KAAI;AACT,gBAAA,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;AACpD,aAAC,CACD,CAAC;AACF,SAAA;aAAM,IAAI,IAAI,CAAC,WAAW,EAAE;;AAE5B,YAAA,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,SAAS,CAC9D,CAAC,MAAM,KAAI;AACV,gBAAA,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAC5B,aAAC,EACD,CAAC,KAAK,KAAI;AACT,gBAAA,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;AACpD,aAAC,CACD,CAAC;AACF,SAAA;KACD;AAED,IAAA,aAAa,CAAC,MAAM,EAAA;AACnB,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC7B,QAAA,KAAK,CAAC,SAAS,GAAG,gDAAgD,CAAC;;QAEnE,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;;AAGnD,QAAA,IAAI,WAAW,GAAgB,IAAI,CAAC,WAAW,CAAC;AAChD,QAAA,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;AAChC,YAAA,YAAY,EAAE,KAAK;AACnB,SAAA,CAAC,CAAC;QACH,IAAI,IAAI,GAAG,IAAI,CAAC;AAChB,QAAA,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,KAAK,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,UAAS,OAAO,EAAA;AACtD,YAAA,WAAW,CAAC,MAAM,GAAG,OAAO,CAAC;AAC7B,YAAA,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACnB,KAAK,GAAG,IAAI,CAAC;AACb,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/B,SAAC,CAAC,CAAC;KACH;;IAED,SAAS,GAAA;QACR,IAAI,IAAI,CAAC,MAAM;AAAE,YAAA,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;AAC3C,QAAA,OAAO,2BAA2B,CAAC,cAAc,GAAG,IAAI,CAAC;KACzD;;AAGD,IAAA,UAAU,CAAC,GAAG,EAAA;AACb,QAAA,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI,CAAC;;AAEtC,QAAA,IAAI,eAAe,GAAgB,IAAI,CAAC,WAAW,CAAC;QACpD,IAAI,IAAI,GAAG,IAAI,CAAC;;AAEhB,QAAA,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAS,IAAI,EAAA;YACtD,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YACvD,eAAe,CAAC,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YAChD,eAAe,CAAC,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;;AAG9C,YAAA,IAAI,aAAa,GAAG;gBACnB,aAAa,EAAE,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;AACtD,gBAAA,QAAQ,EAAE,QAAQ;aAClB,CAAC;YACF,IAAI,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;;AAG5C,YAAA,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,YAAA;AACvB,gBAAA,eAAe,CAAC,aAAa,GAAG,KAAK,CAAC;AACtC,gBAAA,IAAI,eAAe,CAAC,cAAc,KAAK,IAAI,EAAE;;AAE5C,oBAAA,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;AAChD,oBAAA,eAAe,CAAC,cAAc,GAAG,IAAI,CAAC;AACtC,iBAAA;AACF,aAAC,CAAC,CAAC;AACJ,SAAC,CAAC,CAAC;KACH;AAED;;;AAGG;AACH,IAAA,eAAe,CAAC,GAAG,EAAA;AAClB,QAAA,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;AACnC,YAAA,IAAI,CAAC,WAAW,CAAC,cAAc,GAAG,GAAG,CAAC;AACtC,SAAA;AAAM,aAAA;AACN,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACrB,SAAA;KACD;AAED;;AAEG;IACH,UAAU,GAAA;AACT,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,CAAC,EAAE;YACvD,OAAO;AACP,SAAA;AACD,QAAA,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QAC3B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;KAC/C;AAED;;AAEG;IACH,UAAU,GAAA;AACT,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE;YACtF,OAAO;AACP,SAAA;AACD,QAAA,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QAC3B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;KAC/C;AAED;;AAEG;IACH,QAAQ,GAAA;AACP,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,EAAE;YACrD,OAAO;AACP,SAAA;AACD,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,GAAG,CAAC;QACtD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;KAC/C;AAED;;AAEG;IACH,SAAS,GAAA;AACR,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,GAAG,EAAE;YACvD,OAAO;AACP,SAAA;AACD,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,GAAG,CAAC;QACtD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;KAC/C;;IAGD,SAAS,GAAA;AACR,QAAA,IAAI,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AACvD,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;gBACrB,EAAE,EAAE,IAAI,CAAC,KAAK;gBACd,MAAM,EAAE,IAAI,CAAC,MAAM;AACnB,aAAA,CAAC,CAAC;AACH,YAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,OAAO;AACP,SAAA;AACD,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;KAC/D;;IAGD,QAAQ,GAAA;QACP,MAAM,WAAW,GAAG,iBAAiB,CAAC;AACtC,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AACpC,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AAC7B,QAAA,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;AACzB,QAAA,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC;AACjB,QAAA,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC3B,CAAC,CAAC,KAAK,EAAE,CAAC;QACV,UAAU,CAAC,MAAK;AACf,YAAA,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;AACpC,YAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AAC7B,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBACpB,MAAM,EAAE,IAAI,CAAC,MAAM;AACnB,aAAA,CAAC,CAAC;SACH,EAAE,GAAG,CAAC,CAAC;KACR;;;;;;;IASD,UAAU,GAAA;AACT,QAAA,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;KACvB;AAED;;AAEG;IACH,aAAa,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC;KACtC;AAED;;AAEG;IACH,OAAO,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC;KAChC;AAED;;AAEG;IACH,QAAQ,GAAA;QACP,QACC,IAAI,CAAC,WAAW;AAChB,YAAA,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,SAAS;AACpC,YAAA,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,IAAI,EAC9B;KACF;AAED;;AAEG;IACH,UAAU,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC;KACnC;AAED;;AAEG;IACH,YAAY,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC;KAC/B;AAED;;AAEG;IACH,MAAM,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;KACzB;AAED;;AAEG;IACH,aAAa,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC;KAChC;IAED,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,EAAE,EAAE,SAAS,GAAG,GAAG,EAAA;QACnD,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;AACrC,QAAA,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,MAAM,IAAI,SAAS,EAAE;AACzE,YAAA,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;YAC/D,MAAM,WAAW,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC5C,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtC,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACrC,aAAA;AACD,YAAA,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;AAC9C,YAAA,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC3B,SAAA;AACD,QAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;AACzD,QAAA,OAAO,IAAI,CAAC;KACZ;;AA1TD;AACO,2BAAc,CAAA,cAAA,GAAG,GAAG,CAAC;wHAFhB,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA1C,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAE,IAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,kWCzBxC,k9LAwKA,EAAA,MAAA,EAAA,CAAA,wpBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAK,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAkB,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,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,EAAAlB,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FD/Ia,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBALvC,SAAS;+BACC,0BAA0B,EAAA,QAAA,EAAA,k9LAAA,EAAA,MAAA,EAAA,CAAA,wpBAAA,CAAA,EAAA,CAAA;0JAS3B,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAEG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAEG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAEG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAEG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAEG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAEG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAEI,UAAU,EAAA,CAAA;sBAAnB,MAAM;gBAEG,WAAW,EAAA,CAAA;sBAApB,MAAM;gBAEG,aAAa,EAAA,CAAA;sBAAtB,MAAM;;;MErCK,kBAAkB,CAAA;AAqB9B,IAAA,WAAA,CAAoB,UAAsB,EAAU,EAAe,EAAU,cAA8B,EAAW,KAAwB,EAAA;AAA1H,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAAU,QAAA,IAAE,CAAA,EAAA,GAAF,EAAE,CAAa;AAAU,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;AAAW,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAmB;;AAV9I,QAAA,IAAS,CAAA,SAAA,GAAW,CAAC,CAAC;AACtB,QAAA,IAAU,CAAA,UAAA,GAAW,CAAC,CAAC;AACvB,QAAA,IAAU,CAAA,UAAA,GAAW,CAAC,CAAC;AACvB,QAAA,IAAa,CAAA,aAAA,GAAW,CAAC,CAAC;;AAKhB,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,YAAY,EAAO,CAAC;;QAIxD,IAAI,CAAC,mBAAmB,EAAE,CAAC;;QAG3B,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,MAAc,KAAI;AAC1D,YAAA,IAAI,MAAM,EAAE;AACX,gBAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;gBACzB,IAAI,CAAC,OAAO,EAAE,CAAC;AACf,aAAA;AACF,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACrB,IAAI,aAAa,GAAmB,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;AACxE,YAAA,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,EAAE;AAC1C,gBAAA,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KACvB,CAAC,CAAC,iBAAiB,GAAG,CAAC,CAAC,iBAAiB;AACxC,sBAAE,CAAC;AACH,sBAAE,CAAC,CAAC,iBAAiB,GAAG,CAAC,CAAC,iBAAiB;0BACzC,CAAC,CAAC;0BACF,CAAC,CACJ,CAAC;gBACF,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;gBAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;;AAEf,aAAA;AACD,SAAA;QACD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACxC;IAED,QAAQ,GAAA;QACP,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,KAAI;AAC/C,YAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AACvC,YAAA,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AAC1C,YAAA,IAAG,IAAI,CAAC,UAAU,GAAG,CAAC,EAAC;AACtB,gBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC3E,gBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC7E,aAAA;AACF,SAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;AAC5B,YAAA,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;AACzB,YAAA,OAAO,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;AAC1B,YAAA,SAAS,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;AAC5B,SAAA,CAAC,CAAC;KACH;IAED,mBAAmB,GAAA;QAClB,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,CAAC,MAAkB,KAAI;AAC7D,YAAA,IAAI,MAAM,EAAE;AACX,gBAAA,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;AAC/B,gBAAA,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;AAC7B,gBAAA,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,KAAI;AAC/B,oBAAA,IAAI,eAAe,GAAG;wBACrB,KAAK,EAAE,YAAY,CAAC,SAAS;wBAC7B,KAAK,EAAE,YAAY,CAAC,cAAc;qBAClC,CAAC;AACF,oBAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AAC/C,iBAAC,CAAC,CAAC;gBACH,IAAI,CAAC,OAAO,EAAE,CAAC;AACf,aAAA;AACF,SAAC,CAAC,CAAC;KACH;;IAGO,OAAO,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE;AAC7E,YAAA,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,gBAAgB;AAC/C,gBAAA,KAAK,MAAM,QAAQ,IAAI,YAAY,CAAC,gBAAgB;AACnD,oBAAA,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,iBAAiB;AACjD,wBAAA,IAAI,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,EAAE;AAC5C,4BAAA,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;AACxC,4BAAA,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;AACtC,4BAAA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;AACvC,4BAAA,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,gBAAgB,CAAC;AAClD,4BAAA,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,iBAAiB,CAAC;AAChD,yBAAA;AACJ,SAAA;KACD;AAED,IAAA,eAAe,CAAC,SAAiB,EAAA;QAChC,IAAG,SAAS,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,EAAC;YACvC,IAAI,CAAC,mBAAmB,EAAE,CAAC;;AAE3B,SAAA;KACD;;IAIK,wBAAwB,GAAA;;AAC7B,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC;YACnD,IAAI,IAAI,CAAC,SAAS,EAAE;AACnB,gBAAA,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACjD,oBAAA,IAAI,YAAY,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE;AAC7C,wBAAA,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;AACxC,wBAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AACpB,wBAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AACpB,wBAAA,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,gBAAgB,CAAC;AAClD,wBAAA,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;AACxB,qBAAA;AACD,iBAAA;gBACD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;AACtD,oBAAA,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;oBACzB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAI;AACtC,wBAAA,IAAI,WAAW,GAAG;4BACjB,KAAK,EAAE,QAAQ,CAAC,UAAU;4BAC1B,KAAK,EAAE,QAAQ,CAAC,eAAe;yBAC/B,CAAC;AACF,wBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACvC,qBAAC,CAAC,CAAC;AACH,iBAAA;AACD,aAAA;AAAM,iBAAA;AACN,gBAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AACpB,gBAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AACpB,gBAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;AACvB,gBAAA,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;AACxB,aAAA;SACD,CAAA,CAAA;AAAA,KAAA;;IAGD,oBAAoB,GAAA;AACnB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC;QACpD,IAAI,IAAI,CAAC,UAAU,EAAE;AACpB,YAAA,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,YAAY;AACvC,gBAAA,IAAI,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,EAAE;AAC3C,oBAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AACpB,oBAAA,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,iBAAiB,CAAC;AAChD,iBAAA;YACF,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;AACxD,gBAAA,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;gBAC1B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,SAAS,KAAI;AACxC,oBAAA,IAAI,YAAY,GAAG;wBAClB,KAAK,EAAE,SAAS,CAAC,UAAU;wBAC3B,KAAK,EAAE,SAAS,CAAC,eAAe;qBAChC,CAAC;AACF,oBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBACxC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,KAAI,EAAE,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAA,EAAC,CAAC,CAAC;AAChE,iBAAC,CAAC,CAAC;AACH,aAAA;AACD,SAAA;AAAM,aAAA;AACN,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AACpB,YAAA,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;AACxB,SAAA;KACD;;AAGD,IAAA,qBAAqB,CAAC,SAAc,EAAA;AACnC,QAAA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC;QAClC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,EAAE,CAAC;KACpB;IAED,YAAY,GAAA;QACX,UAAU,CAAC,MAAK;AACf,YAAA,IAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,GAAG,CAAC,EAAC;gBACxC,IAAI,CAAC,wBAAwB,EAAE,CAAC;AAChC,gBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC;gBACpD,IAAI,CAAC,oBAAoB,EAAE,CAAC;AAC5B,gBAAA,IAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,KAAK,GAAG,CAAC,EAAC;oBAC1C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;AAC5C,oBAAA,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC;AAChE,oBAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACxD,iBAAA;AACD,aAAA;SACD,EAAE,GAAG,CAAC,CAAC;AACR,QAAA,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;KAC3B;IAED,kBAAkB,GAAA;QACjB,UAAU,CAAC,MAAK;AACf,YAAA,IAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,GAAG,CAAC,EAAC;gBACxC,IAAI,CAAC,wBAAwB,EAAE,CAAC;AAChC,gBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC;gBACpD,IAAI,CAAC,oBAAoB,EAAE,CAAC;AAC5B,gBAAA,IAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,KAAK,GAAG,CAAC,EAAC;oBAC1C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;AAC5C,oBAAA,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC;AAChE,oBAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACxD,iBAAA;AACD,aAAA;SACD,EAAE,IAAI,CAAC,CAAC;AACT,QAAA,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;KAC3B;;+GA3MW,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAoC,UAAA,EAAA,EAAA,EAAA,KAAA,EAAArB,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAApB,IAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,iHCX/B,+7FAgFO,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,MAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,WAAA,EAAA,oBAAA,EAAA,cAAA,EAAA,eAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,uBAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAe,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDrEM,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,SAAS;+BACC,gBAAgB,EAAA,QAAA,EAAA,+7FAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;uLAuBhB,oBAAoB,EAAA,CAAA;sBAA7B,MAAM;;;AERF,MAAO,6BAA8B,SAAQ,oBAAoB,CAAA;AAkBtE,IAAA,WAAA,CACW,aAA4B,EAC5B,KAAwB,EAC1B,aAA4B,EAAA;AAEpC,QAAA,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAJlB,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAC5B,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAmB;AAC1B,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;;AATrC,QAAA,IAAK,CAAA,KAAA,GAAY,KAAK,CAAC;;AAIb,QAAA,IAAA,CAAA,kBAAkB,GAA8B,IAAI,YAAY,EAAE,CAAC;KAQ5E;IAED,QAAQ,GAAA;QACP,KAAK,CAAC,QAAQ,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,IAAI,IAAI,CAAC,eAAe,EAAE;;YAEzB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;AAClC,gBAAA,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;AAC7D,gBAAA,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC7D,IAAI,MAAM,GAAG,MAAM;AAAE,oBAAA,OAAO,CAAC,CAAC;gBAC9B,IAAI,MAAM,GAAG,MAAM;oBAAE,OAAO,CAAC,CAAC,CAAC;AAC/B,gBAAA,OAAO,CAAC,CAAC;AACV,aAAC,CAAC,CAAC;;YAEH,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAI;gBACzC,IAAI,QAAQ,CAAC,KAAK;oBACjB,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;AAC5B,wBAAA,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;AAC7D,wBAAA,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;wBAC7D,IAAI,MAAM,GAAG,MAAM;AAAE,4BAAA,OAAO,CAAC,CAAC;wBAC9B,IAAI,MAAM,GAAG,MAAM;4BAAE,OAAO,CAAC,CAAC,CAAC;AAC/B,wBAAA,OAAO,CAAC,CAAC;AACV,qBAAC,CAAC,CAAC;AACL,aAAC,CAAC,CAAC;AACH,SAAA;KACD;;IAGD,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAA;AACjC,QAAA,IAAI,QAAQ,EAAE;AACb,YAAA,IAAI,SAAS;AAAE,gBAAA,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,KAAK;AAAE,oBAAA,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;;AACtE,gBAAA,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,KAAK;AAAE,oBAAA,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;AAClE,SAAA;KACD;;AAGD,IAAA,iBAAiB,CAAC,QAAQ,EAAA;AACzB,QAAA,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,KAAK;AAAE,YAAA,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC;AAAE,gBAAA,OAAO,IAAI,CAAC;AACzF,QAAA,OAAO,KAAK,CAAC;KACb;;AAGD,IAAA,eAAe,CAAC,KAAK,EAAA;QACpB,IAAI,CAAC,IAAI,CAAC,YAAY;AAAE,YAAA,OAAO,IAAI,CAAC;AACpC,QAAA,IAAI,KAAK,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC;AAAE,YAAA,OAAO,IAAI,CAAC;AAC5F,QAAA,OAAO,KAAK,CAAC;KACb;;IAGD,WAAW,GAAA;QACV,IAAI,GAAG,GAAa,EAAE,CAAC;AACvB,QAAA,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,eAAe,EAAE;AAC5C,YAAA,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,KAAK,EAAE;gBACpC,IAAI,MAAM,CAAC,QAAQ;AAAE,oBAAA,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5C,aAAA;AACD,SAAA;QACD,IAAI,eAAe,GAAG,EAAE,CAAC;AACzB,QAAA,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE;AACrC,YAAA,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,eAAe,EAAE;AAC5C,gBAAA,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,KAAK,EAAE;AACpC,oBAAA,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;wBAClC,IAAI,MAAM,CAAC,QAAQ;AAAE,4BAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;;AACpC,4BAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AAC1B,qBAAA;AACD,iBAAA;AACD,aAAA;YACD,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7C,SAAA;AACD,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;KAC9C;;0HA/FW,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAtB,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7B,6BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,mPCtB1C,urFAkFA,EAAA,MAAA,EAAA,CAAA,sHAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAE,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,WAAA,EAAA,cAAA,EAAA,aAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,aAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,YAAA,EAAA,aAAA,EAAA,YAAA,EAAA,YAAA,EAAA,MAAA,EAAA,MAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,cAAA,EAAA,cAAA,EAAA,SAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,eAAA,EAAA,cAAA,EAAA,aAAA,EAAA,WAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAK,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAkB,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,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,EAAAlB,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAkB,EAAA,CAAA,4BAAA,EAAA,QAAA,EAAA,uGAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FD5Da,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBALzC,SAAS;+BACC,6BAA6B,EAAA,QAAA,EAAA,urFAAA,EAAA,MAAA,EAAA,CAAA,sHAAA,CAAA,EAAA,CAAA;6JAM9B,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAEG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAEG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAUI,kBAAkB,EAAA,CAAA;sBAA3B,MAAM;;;MEHK,cAAc,CAAA;AA6B1B,IAAA,WAAA,CACS,YAA0B,EAC1B,YAA0B,EAC1B,aAA4B,EAC5B,qBAA4C,EAAA;AAH5C,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;AAC1B,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;AAC1B,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAC5B,QAAA,IAAqB,CAAA,qBAAA,GAArB,qBAAqB,CAAuB;;AA3B3C,QAAA,IAAA,CAAA,UAAU,GAAsB,IAAI,YAAY,EAAO,CAAC;;AAGlE,QAAA,IAAiB,CAAA,iBAAA,GAAY,KAAK,CAAC;KAyB/B;IAEJ,QAAQ,GAAA;AACP,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;AAC7B,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;AAC7B,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;AAC7B,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;AAC/B,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;KACvB;;AAGD,IAAA,WAAW,CAAC,OAAsB,EAAA;;AAEjC,QAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;AACnC,QAAA,MAAM,QAAQ,GAAiB,OAAO,CAAC,QAAQ,CAAC;AAChD,QAAA,MAAM,IAAI,GAAiB,OAAO,CAAC,IAAI,CAAC;AAExC,QAAA,IAAI,QAAQ,IAAI,QAAQ,CAAC,YAAY,EAAE;AACtC,YAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC;AACtC,SAAA;AACD,QAAA,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE;AAC9B,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;YAC9B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AACvC,SAAA;QACD,IAAI,IAAI,CAAC,IAAI,EAAE;YACd,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;AACvF,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB;AACrD,kBAAE,IAAI,CAAC,IAAI,CAAC,kBAAkB;kBAC5B,IAAI,CAAC;YACR,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AACvC,SAAA;QACD,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE;YAClD,MAAM,IAAI,GAAG,IAAI,CAAC;YAClB,UAAU,CAAC,MAAK;gBACf,IAAI,CAAC,IAAI,EAAE,CAAC;aACZ,EAAE,GAAG,CAAC,CAAC;AACR,SAAA;KACD;;IAEO,IAAI,GAAA;AACX,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KAC9D;AAED,IAAA,iBAAiB,CAAC,YAAoB,EAAA;QACrC,MAAM,iBAAiB,GAAG,IAAI,CAAC;;QAE/B,IAAI,iBAAiB,GAAW,YAAY,CAAC;AAC7C,QAAA,IAAI,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;;YAE7D,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE;AACrC,gBAAA,OAAO,YAAY,CAAC;AACpB,aAAA;YACD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBAC5C,IAAI,QAAQ,CAAC,gBAAgB,IAAI,QAAQ,CAAC,QAAQ,KAAK,YAAY,EAAE;AACpE,oBAAA,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,gBAAgB,EAAE;wBACjD,IAAI,QAAQ,CAAC,UAAU,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;4BACpD,OAAO,QAAQ,CAAC,cAAc,CAAC;AAC/B,yBAAA;AACD,wBAAA,IAAI,QAAQ,CAAC,UAAU,KAAK,iBAAiB,EAAE;AAC9C,4BAAA,iBAAiB,GAAG,QAAQ,CAAC,cAAc,CAAC;AAC5C,yBAAA;AACD,qBAAA;oBACD,MAAM;AACN,iBAAA;AACD,aAAA;AACD,SAAA;AACD,QAAA,OAAO,iBAAiB,CAAC;KACzB;IAED,eAAe,CAAC,IAAY,EAAE,QAAa,EAAA;AAC1C,QAAA,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;QACtC,MAAM,OAAO,GAAU,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AAChD,QAAA,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;AAClD,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACrB,SAAA;QACD,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;KAC7C;AAED,IAAA,cAAc,CAAC,OAAc,EAAE,IAAY,EAAE,QAAa,EAAA;AACzD,QAAA,IACC,OAAO,CAAC,YAAY,CAAC,sBAAsB,CAAC;AAC5C,YAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EACnE;YACD,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBAC1B,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACjD,aAAA;AAAM,iBAAA;AACN,gBAAA,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAC/D,CAAC,gBAAyB,KAAI;AAC7B,oBAAA,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;oBACzC,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AAClD,iBAAC,EACD,CAAC,KAAK,KAAI;AACT,oBAAA,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,KAAK,CAAC,CAAC;AAClE,oBAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;AACnD,iBAAC,CACD,CAAC;AACF,aAAA;AACD,SAAA;AAAM,aAAA;YACN,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACjD,SAAA;AACD,QAAA,IACC,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC;AACtC,YAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAC7D;YACD,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBAC1B,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACjD,aAAA;AAAM,iBAAA;AACN,gBAAA,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAC9D,CAAC,gBAAuB,KAAI;AAC3B,oBAAA,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;oBACzC,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AAClD,iBAAC,EACD,CAAC,KAAK,KAAI;AACT,oBAAA,OAAO,CAAC,KAAK,CAAC,+CAA+C,EAAE,KAAK,CAAC,CAAC;AACtE,oBAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;AACnD,iBAAC,CACD,CAAC;AACF,aAAA;AACD,SAAA;AAAM,aAAA;YACN,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACjD,SAAA;AACD,QAAA,IACC,OAAO,CAAC,YAAY,CAAC,kBAAkB,CAAC;AACxC,YAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAC/D;AACD,YAAA,IAAI,IAAI,CAAC,sBAAsB,KAAK,IAAI,EAAE;gBACzC,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACjD,aAAA;AAAM,iBAAA;AACN,gBAAA,MAAM,qBAAqB,GAAU,OAAO,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,IAAI,CACjF,CAAC,KAAK,KAAI;AACT,oBAAA,MAAM,QAAQ,GAAa,KAAK,CAAC,GAAG;AAClC,yBAAA,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;AAChB,yBAAA,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;yBAChB,KAAK,CAAC,GAAG,CAAC,CAAC;AACb,oBAAA,QACC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;AACzB,wBAAA,YAAY,CAAC,qCAAqC,CAAC,WAAW,EAAE,EAC/D;AACH,iBAAC,CACD,CAAC;;AAEF,gBAAA,IAAI,qBAAqB,IAAI,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AAC3E,oBAAA,IAAI,gBAAgB,GAAG,kBAAkB,CAAC,aAAa,EAAE,CAAC;oBAC1D,IAAI,CAAC,gBAAgB,EAAE;AACtB,wBAAA,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;AACjC,wBAAA,OAAO,CAAC,KAAK,CACZ,0DAA0D,EAC1D,gBAAgB,CAChB,CAAC;wBACF,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACjD,qBAAA;AAAM,yBAAA;wBACN,MAAM,UAAU,GAAe,MAAM,CAAC,MAAM,CAC3C,IAAI,UAAU,EAAE,EAChB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAC5C,CAAC;AACF,wBAAA,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,SAAS,CACxE,CAAC,MAAc,KAAI;;AAElB,4BAAA,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC;AACjD,4BAAA,IAAI,CAAC,yBAAyB,CAC7B,UAAU,CAAC,QAAQ,EACnB,WAAW,EACX,OAAO,EACP,IAAI,EACJ,QAAQ,CACR,CAAC;AACH,yBAAC,EACD,CAAC,KAAK,KAAI;AACT,4BAAA,OAAO,CAAC,KAAK,CACZ,qDAAqD,EACrD,KAAK,CACL,CAAC;;AAEF,4BAAA,IAAI,CAAC,yBAAyB,CAC7B,UAAU,CAAC,QAAQ,EACnB,GAAG,EACH,OAAO,EACP,IAAI,EACJ,QAAQ,CACR,CAAC;;AAEH,yBAAC,CACD,CAAC;AACF,qBAAA;AACD,iBAAA;AAAM,qBAAA;AACN,oBAAA,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;oBACjC,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACjD,iBAAA;AACD,aAAA;AACD,SAAA;AAAM,aAAA;YACN,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACjD,SAAA;KACD;AAED;;AAEG;IACH,yBAAyB,CACxB,QAAgB,EAChB,MAAc,EACd,OAAc,EACd,IAAY,EACZ,QAAa,EAAA;AAEb,QAAA,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,SAAS,CACtE,CAAC,eAAoB,KAAI;AACxB,YAAA,MAAM,UAAU,GAAW,eAAe,CAAC,WAAW,CAAC;AACvD,YAAA,IAAI,CAAC,sBAAsB;AAC1B,gBAAA,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/D,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AAClD,SAAC,EACD,CAAC,KAAK,KAAI;AACT,YAAA,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,KAAK,CAAC,CAAC;AAClE,YAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;AACnD,SAAC,CACD,CAAC;KACF;AAED,IAAA,kBAAkB,CAAC,OAAc,EAAE,IAAY,EAAE,QAAa,EAAA;QAC7D,IAAI,kBAAkB,GAAY,KAAK,CAAC;QACxC,IAAI,wBAAwB,GAAY,KAAK,CAAC;QAC9C,IAAI,oBAAoB,GAAY,KAAK,CAAC;QAC1C,MAAM,oBAAoB,GAAY,IAAI,CAAC;AAC3C,QAAA,IACC,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC;YACtC,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,EAChD;AACD,YAAA,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,KAAK,CAAC;AAC1D,SAAA;AAAM,aAAA;YACN,kBAAkB,GAAG,IAAI,CAAC;AAC1B,SAAA;AACD,QAAA,IACC,OAAO,CAAC,YAAY,CAAC,sBAAsB,CAAC;YAC5C,OAAO,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC,MAAM,GAAG,CAAC,EACtD;AACD,YAAA,wBAAwB,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,KAAK,CAAC;AAChE,SAAA;AAAM,aAAA;YACN,wBAAwB,GAAG,IAAI,CAAC;AAChC,SAAA;AACD,QAAA,IACC,OAAO,CAAC,YAAY,CAAC,kBAAkB,CAAC;YACxC,OAAO,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,MAAM,GAAG,CAAC,EAClD;AACD,YAAA,oBAAoB,GAAG,IAAI,CAAC,sBAAsB,KAAK,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;AAC3E,SAAA;AAAM,aAAA;YACN,oBAAoB,GAAG,IAAI,CAAC;AAC5B,SAAA;AACD,QAAA,IACC,kBAAkB;YAClB,oBAAoB;YACpB,oBAAoB;YACpB,wBAAwB;YACxB,CAAC,IAAI,CAAC,wBAAwB,EAC7B;AACD,YAAA,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;YACrC,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACpD,SAAA;KACD;AAED,IAAA,qBAAqB,CAAC,OAAc,EAAE,IAAY,EAAE,QAAa,EAAA;QAChE,MAAM,QAAQ,GAAU,EAAE,CAAC;QAC3B,MAAM,mBAAmB,GAAU,EAAE,CAAC;AACtC,QAAA,IACC,CAAC,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC;AACtC,YAAA,OAAO,CAAC,YAAY,CAAC,sBAAsB,CAAC;AAC7C,YAAA,QAAQ,EACP;AACD,YAAA,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE;gBAChC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACtD,aAAA;YACD,IAAI,IAAI,CAAC,gBAAgB,EAAE;AAC1B,gBAAA,KAAK,MAAM,cAAc,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACnD,oBAAA,KAAK,MAAM,WAAW,IAAI,cAAc,CAAC,KAAK,EAAE;AAC/C,wBAAA,MAAM,QAAQ,GACb,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,WAAW,CAAC,GAAG,GAAG,GAAG,CAAC;AAC/D,wBAAA,mBAAmB,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC;AAC5C,qBAAA;AACD,iBAAA;AACD,aAAA;AACD,SAAA;QACD,MAAM,iBAAiB,GAAU,EAAE,CAAC;AACpC,QAAA,IAAI,OAAO,CAAC,YAAY,CAAC,sBAAsB,CAAC,EAAE;YACjD,IAAI,IAAI,CAAC,gBAAgB,EAAE;AAC1B,gBAAA,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,gBAAgB,EAAE;oBAC7C,iBAAiB,CAAC,UAAU,CAAC,yBAAyB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACrE,wBAAA,QAAQ,CAAC;AACV,iBAAA;AACD,aAAA;AACD,SAAA;AACD,QAAA,IAAI,SAAc,CAAC;QACnB,MAAM,mBAAmB,GAAQ,EAAE,CAAC;QACpC,KAAK,SAAS,IAAI,OAAO,EAAE;AAC1B,YAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBACxB,SAAS;AACT,aAAA;AACD,YAAA,MAAM,UAAU,GAAU,OAAO,CAAC,SAAS,CAAC,CAAC;AAC7C,YAAA,mBAAmB,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;AACpC,YAAA,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE;gBAC/B,IAAI,eAAe,GAAG,IAAI,CAAC;gBAC3B,MAAM,QAAQ,GAAa,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAClF,gBAAA,QAAQ,SAAS;AAChB,oBAAA,KAAK,YAAY,CAAC,gBAAgB;wBACjC,IAAI,SAAS,GAAG,IAAI,CAAC;wBACrB,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;;wBAE7C,MAAM,gBAAgB,GACrB,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AAC5D,wBAAA,MAAM,YAAY,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC;AACvD,8BAAE,QAAQ,CAAC,UAAU,CAAC;AACtB,8BAAE,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC;AAC3C,kCAAE,QAAQ,CAAC,gBAAgB,CAAC;kCAC1B,IAAI,CAAC;;AAER,wBAAA,IACC,QAAQ,CAAC,MAAM,KAAK,CAAC;4BACrB,OAAO,YAAY,KAAK,WAAW;AACnC,4BAAA,YAAY,KAAK,IAAI;4BACrB,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EACvC;4BACD,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,yBAAA;AAAM,6BAAA,IACN,QAAQ,CAAC,MAAM,KAAK,CAAC;4BACrB,OAAO,YAAY,KAAK,WAAW;4BACnC,YAAY,KAAK,IAAI,EACpB;4BACD,SAAS,GAAG,YAAY,CAAC;AACzB,4BAAA,IAAI,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;AACnC,gCAAA,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAClD,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,EAC9B,SAAS,CACT,CAAC;AACF,6BAAA;AACD,yBAAA;wBACD,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,EAAE,CAAC;wBACvC,eAAe,GAAG,SAAS,CAAC;AAC5B,wBAAA,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;wBACpE,MAAM;AACP,oBAAA,KAAK,YAAY,CAAC,kBAAkB;AACnC,wBAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC1E,wBAAA,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC;AAC/B,wBAAA,eAAe,GAAG,kBAAkB,CAAC,KAAK,CAAC;wBAC3C,MAAM;AACP,oBAAA,KAAK,YAAY,CAAC,iBAAiB;AAClC,wBAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AACrE,wBAAA,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC;AAC7B,wBAAA,eAAe,GAAG,gBAAgB,CAAC,KAAK,CAAC;wBACzC,MAAM;AACP,oBAAA,KAAK,YAAY,CAAC,kBAAkB;AACnC,wBAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC1E,wBAAA,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC;AAC/B,wBAAA,eAAe,GAAG,kBAAkB,CAAC,KAAK,CAAC;wBAC3C,MAAM;AACP,oBAAA,KAAK,YAAY,CAAC,sBAAsB;;wBAEvC,MAAM,SAAS,GAAW,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBAC9D,IAAI,OAAO,GAAW,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;wBAC7D,IAAI;;AAEH,4BAAA,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,2BAA2B,CACtD,SAAS,EACT,OAAO,EACP,QAAQ,CACR,CAAC;AACF,yBAAA;AAAC,wBAAA,OAAO,KAAK,EAAE;4BACf,OAAO,GAAG,IAAI,CAAC;AACf,4BAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;AACjD,4BAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;4BACxD,OAAO;AACP,yBAAA;;wBAED,IAAI,MAAM,GAAQ,IAAI,CAAC;wBACvB,IAAI,OAAO,KAAK,IAAI,EAAE;4BACrB,IAAI;AACH,gCAAA,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC;AACrC,sCAAE,wCAAwC,GAAG,OAAO,GAAG,KAAK;AAC5D,sCAAE,IAAI,CAAC,OAAO,CAAC,CAAC;AACjB,6BAAA;AAAC,4BAAA,OAAO,CAAC,EAAE;gCACX,OAAO,CAAC,KAAK,CACZ,+BAA+B,EAC/B,iBAAiB,EACjB,QAAQ,EACR,CAAC,CACD,CAAC;gCACF,IAAI,CAAC,aAAa,CAAC,KAAK,CACvB,4CAA4C,GAAG,SAAS,EACxD,QAAQ,CACR,CAAC;gCACF,OAAO;AACP,6BAAA;4BACD,IAAI,MAAM,KAAK,IAAI,EAAE;AACpB,gCAAA,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gCACjE,eAAe,GAAG,MAAM,CAAC;AACzB,6BAAA;AACD,yBAAA;wBACD,MAAM;AACP,iBAAA;gBACD,mBAAmB,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC;AAC5D,aAAA;AACD,SAAA;AACD,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;AACpB,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,mBAAmB,EAAE,mBAAmB;AACxC,SAAA,CAAC,CAAC;;KAEH;AAED;;;;;AAKG;AACH,IAAA,kBAAkB,CAAC,IAAY,EAAE,KAAU,EAAE,QAAkB,EAAA;;QAC9D,IAAI,WAAW,GAAW,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,QAAA,IAAI,UAAU,GAAW,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,SAAS,GAAc,IAAI,CAAC;QAChC,IAAI,aAAa,GAAW,IAAI,CAAC;QACjC,IACC,IAAI,CAAC,gBAAgB;YACrB,IAAI,CAAC,gBAAgB,CAAC,MAAM;AAC5B,YAAA,WAAW,IAAI,gBAAgB,CAAC,OAAO,EACtC;AACD,YAAA,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC;YAClC,aAAa,GAAG,0CAA0C,CAAC;AAC3D,SAAA;aAAM,IACN,IAAI,CAAC,kBAAkB;YACvB,IAAI,CAAC,kBAAkB,CAAC,MAAM;AAC9B,YAAA,WAAW,IAAI,gBAAgB,CAAC,SAAS,EACxC;AACD,YAAA,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACpC,aAAa,GAAG,0CAA0C,CAAC;AAC3D,SAAA;QACD,IAAI,SAAS,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;AAC5C,YAAA,OAAO,CAAC,KAAK,CACZ,iDAAiD,EACjD,KAAK,EACL,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,kBAAkB,CACvB,CAAC;YACF,OAAO;AACN,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,KAAK,EAAE,IAAI;aACX,CAAC;AACF,SAAA;QACD,IAAI,SAAS,GAAG,IAAI,CAAC;AACrB,QAAA,MAAM,kBAAkB,GACvB,UAAU,IAAI,YAAY,CAAC,kDAAkD;YAC7E,UAAU,IAAI,YAAY,CAAC,sDAAsD;AACjF,YAAA,UAAU,IAAI,YAAY,CAAC,qDAAqD,CAAC;AAClF,QAAA,MAAM,mBAAmB,GACxB,UAAU,IAAI,YAAY,CAAC,mDAAmD;YAC9E,UAAU,IAAI,YAAY,CAAC,uDAAuD;AAClF,YAAA,UAAU,IAAI,YAAY,CAAC,sDAAsD,CAAC;AAEnF,QAAA,IAAI,UAAU,IAAI,YAAY,CAAC,8BAA8B,EAAE;YAC9D,SAAS;AACR,gBAAA,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,OAAO;sBACzC,IAAI,CAAC,YAAY,CAAC,SAAS,CAC3B,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EACpC,SAAS,EACT,EAAE,EACF,OAAO,CACN;sBACD,CAAC,CAAC;AACN,SAAA;AAAM,aAAA,IAAI,UAAU,IAAI,YAAY,CAAC,sCAAsC,EAAE;;YAE7E,IAAI,CAAC,8BAA8B,CAAC,WAAW,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;YAC3E,MAAM,mBAAmB,GAAG,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;AACnE,YAAA,IAAI,mBAAmB,EAAE;gBACxB,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;AACnE,aAAA;AAAM,iBAAA;AACN,gBAAA,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,mBAAmB,CAAC,CAAC;AAC/D,aAAA;AACD,SAAA;AAAM,aAAA,IAAI,UAAU,IAAI,YAAY,CAAC,uCAAuC,EAAE;YAC9E,SAAS;AACR,gBAAA,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,cAAc;AAClD,sBAAE,SAAS,CAAC,MAAM,CAAC,cAAc;sBAC/B,EAAE,CAAC;YAEP,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CACpC,IAAI,EACJ,KAAK,CAAC,KAAK,EACX,SAAS,EACT,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,CACzB,CAAC;AACF,SAAA;AAAM,aAAA,IAAI,UAAU,IAAI,YAAY,CAAC,qCAAqC,EAAE;YAC5E,SAAS;AACR,gBAAA,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,YAAY;AAChD,sBAAE,SAAS,CAAC,MAAM,CAAC,YAAY;sBAC7B,EAAE,CAAC;YAEP,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CACpC,IAAI,EACJ,KAAK,CAAC,KAAK,EACX,SAAS,EACT,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,CACzB,CAAC;AACF,SAAA;AAAM,aAAA,IAAI,UAAU,IAAI,YAAY,CAAC,8BAA8B,EAAE;YACrE,SAAS;AACR,gBAAA,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,UAAU,IAAI,SAAS,CAAC,MAAM,CAAC,QAAQ;AAC3E,sBAAE,QAAQ,CAAC,aAAa,CACtB,SAAS,CAAC,MAAM,CAAC,UAAU,EAC3B,SAAS,CAAC,MAAM,CAAC,QAAQ,CACxB,GAAG,CAAC;sBACL,EAAE,CAAC;AACP,SAAA;AAAM,aAAA,IAAI,UAAU,IAAI,YAAY,CAAC,gCAAgC,EAAE;YACvE,SAAS;AACR,gBAAA,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,YAAY,IAAI,SAAS,CAAC,MAAM,CAAC,cAAc;AACnF,sBAAE,QAAQ,CAAC,aAAa,CACtB,SAAS,CAAC,MAAM,CAAC,cAAc,EAC/B,SAAS,CAAC,MAAM,CAAC,YAAY,CAC5B,GAAG,CAAC;sBACL,EAAE,CAAC;AACP,SAAA;AAAM,aAAA,IAAI,UAAU,IAAI,YAAY,CAAC,2CAA2C,EAAE;;YAElF,IACC,IAAI,CAAC,IAAI;gBACT,IAAI,CAAC,IAAI,CAAC,mBAAmB;AAC7B,gBAAA,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EACnC;gBACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;gBAEpD,IAAI,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAC,mBAAmB,CAAC,cAAc,EAAE;oBAC5E,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;AACzE,oBAAA,SAAS,GAAG,cAAc,GAAG,KAAK,CAAC;AACnC,iBAAA;qBAAM,IAAI,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,kBAAkB,CAAC,cAAc,EAAE;oBACjF,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;AAC7D,iBAAA;AACD,aAAA;AACD,SAAA;AAAM,aAAA,IACN,CAAC,kBAAkB,IAAI,mBAAmB;AAC1C,YAAA,IAAI,CAAC,IAAI;YACT,IAAI,CAAC,IAAI,CAAC,mBAAmB;AAC7B,YAAA,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EACnC;;YAED,MAAM,cAAc,GAA2B,kBAAkB;kBAC9D,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,kBAAkB;kBACvD,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,mBAAmB,CAAC;AAC5D,YAAA,IAAI,cAAc,IAAI,SAAS,IAAI,cAAc,IAAI,IAAI,EAAE;;AAE1D,gBAAA,QAAQ,UAAU;oBACjB,KAAK,YAAY,CAAC,kDAAkD,CAAC;oBACrE,KAAK,YAAY,CAAC,mDAAmD;AACpE,wBAAA,SAAS,GAAG,cAAc,CAAC,WAAW,CAAC;wBACvC,MAAM;oBACP,KAAK,YAAY,CAAC,sDAAsD,CAAC;oBACzE,KAAK,YAAY,CAAC,uDAAuD;AACxE,wBAAA,SAAS,GAAG,cAAc,CAAC,aAAa,CAAC;wBACzC,MAAM;oBACP,KAAK,YAAY,CAAC,qDAAqD,CAAC;oBACxE,KAAK,YAAY,CAAC,sDAAsD;AACvE,wBAAA,SAAS,GAAG,cAAc,CAAC,cAAc,CAAC;wBAC1C,MAAM;AACP,iBAAA;AACD,aAAA;AACD,SAAA;AAAM,aAAA,IAAI,UAAU,IAAI,YAAY,CAAC,kCAAkC,EAAE;YACzE,IAAI,cAAc,GACjB,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,mBAAmB;gBACxD,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,mBAAmB,CAAC,cAAc,CAAC;YACzE,cAAc;AACb,gBAAA,cAAc,IAAI,SAAS,IAAI,cAAc,IAAI,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;;;;;;AAMpF,YAAA,SAAS,GAAG,cAAc,GAAG,KAAK,CAAC;AACnC,SAAA;AAAM,aAAA;;AAEN,YAAA,OAAO,CAAC,KAAK,CAAC,uEAAuE,CAAC,CAAC;AACvF,SAAA;AACD,QAAA,SAAS,GAAG,SAAS,KAAK,IAAI,GAAG,EAAE,GAAG,SAAS,CAAC;AAChD,QAAA,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACpE,OAAO;AACN,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,KAAK,EAAE,SAAS;SAChB,CAAC;KACF;AACD,IAAA,eAAe,CAAC,IAAY,EAAE,KAAU,EAAE,QAAkB,EAAA;QAC3D,IAAI,SAAS,GAAG,IAAI,CAAC;AACrB,QAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACxB,IAAI,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC;AACjE,YAAA,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;AACxB,SAAA;AACD,QAAA,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACpE,OAAO;AACN,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,KAAK,EAAE,SAAS;SAChB,CAAC;KACF;AAED,IAAA,kBAAkB,CAAC,IAAY,EAAE,KAAU,EAAE,QAAkB,EAAA;QAC9D,IAAI,YAAY,GAAQ,IAAI,CAAC;AAC7B,QAAA,IACC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;AACzB,YAAA,YAAY,CAAC,qCAAqC,CAAC,WAAW,EAAE,EAC/D;AACD,YAAA,YAAY,GAAG,IAAI,CAAC,sBAAsB,CAAC;AAC3C,YAAA,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;AACtF,SAAA;AAAM,aAAA,IACN,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;AACzB,YAAA,YAAY,CAAC,qCAAqC,CAAC,WAAW,EAAE,EAC/D;;YAED,IAAI,GAAG,IAAI,CAAC,sCAAsC,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YACtE,YAAY,GAAG,EAAE,CAAC;;AAElB,SAAA;AAAM,aAAA,IACN,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,YAAY,CAAC,6BAA6B,CAAC,WAAW,EAAE,EACpF;AACD,YAAA,IAAI,GAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACpE,YAAY,GAAG,EAAE,CAAC;AAClB,SAAA;AAAM,aAAA,IACN,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;AACzB,YAAA,YAAY,CAAC,uCAAuC,CAAC,WAAW,EAAE,EACjE;;YAED,IAAI,GAAG,IAAI,CAAC,0CAA0C,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1E,YAAY,GAAG,EAAE,CAAC;;AAElB,SAAA;AAAM,aAAA,IACN,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,YAAY,CAAC,8BAA8B,CAAC,WAAW,EAAE,EACrF;AACD,YAAA,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC;AAC1B,YAAA,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;AACrE,SAAA;AAAM,aAAA,IACN,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,YAAY,CAAC,8BAA8B,CAAC,WAAW,EAAE,EACrF;AACD,YAAA,MAAM,SAAS,GACd,IAAI,CAAC,IAAI,CAAC,YAAY;AACtB,gBAAA,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW;AAClC,gBAAA,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,eAAe;kBAC/C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,eAAe,CAAC,SAAS;kBAC5D,EAAE,CAAC;YACP,YAAY,GAAG,SAAS,CAAC;AACzB,YAAA,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AACpE,SAAA;AAAM,aAAA,IACN,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,YAAY,CAAC,0BAA0B,CAAC,WAAW,EAAE,EACjF;AACD,YAAA,MAAM,UAAU,GACf,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW;kBACzD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,UAAU;kBAC7C,EAAE,CAAC;YACP,YAAY,GAAG,UAAU,CAAC;AAC1B,YAAA,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AACrE,SAAA;AAAM,aAAA,IACN,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,YAAY,CAAC,2BAA2B,CAAC,WAAW,EAAE,EAClF;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,GAAG,EAAE,CAAC;YACnF,YAAY,GAAG,UAAU,CAAC;AAC1B,YAAA,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AACrE,SAAA;AAAM,aAAA,IACN,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,YAAY,CAAC,gCAAgC,CAAC,WAAW,EAAE,EACvF;AACD,YAAA,MAAM,aAAa,GAClB,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ;AACxD,kBAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ;kBAC/B,CAAC,CAAC;YACN,YAAY,GAAG,aAAa,CAAC;AAC7B,YAAA,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;AACxE,SAAA;AAAM,aAAA,IACN,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;AACzB,YAAA,YAAY,CAAC,iCAAiC,CAAC,WAAW,EAAE,EAC3D;AACD,YAAA,MAAM,YAAY,GACjB,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM;kBAC5D,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,YAAY;AAChD,kBAAE,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM;sBACnE,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,YAAY;sBAChD,EAAE,CAAC;YACP,YAAY,GAAG,YAAY,CAAC;AAC5B,YAAA,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;AACvE,SAAA;AAAM,aAAA,IACN,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,YAAY,CAAC,6BAA6B,CAAC,WAAW,EAAE,EACpF;AACD,YAAA,MAAM,UAAU,GACf,IAAI,CAAC,IAAI,CAAC,mBAAmB;gBAC7B,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC;AAC1D,kBAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS;kBACvC,EAAE,CAAC;YACP,YAAY,GAAG,UAAU,CAAC;AAC1B,YAAA,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AACrE,SAAA;AAAM,aAAA,IACN,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,YAAY,CAAC,+BAA+B,CAAC,WAAW,EAAE,EACtF;AACD,YAAA,MAAM,OAAO,GAAY,kBAAkB,CAAC,UAAU,EAAE,CAAC;AACzD,YAAA,YAAY,GAAG,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AACrF,YAAA,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;AACvE,SAAA;AAAM,aAAA,IACN,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;AACzB,YAAA,YAAY,CAAC,oCAAoC,CAAC,WAAW,EAAE,EAC9D;AACD,YAAA,MAAM,MAAM,GACX,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM;AACpE,kBAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM;kBACpC,IAAI,CAAC;YACT,YAAY,GAAG,MAAM,CAAC;AACtB,YAAA,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACjE,SAAA;AAAM,aAAA,IACN,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,YAAY,CAAC,4BAA4B,CAAC,WAAW,EAAE,EACnF;AACD,YAAA,MAAM,YAAY,GACjB,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY;AAChE,kBAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY;kBACrC,IAAI,CAAC;YACT,YAAY,GAAG,YAAY,CAAC;AAC5B,YAAA,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;AACvE,SAAA;AAAM,aAAA,IACN,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;AACzB,YAAA,YAAY,CAAC,oCAAoC,CAAC,WAAW,EAAE,EAC9D;AACD,YAAA,MAAM,kBAAkB,GACvB,IAAI,CAAC,IAAI,CAAC,cAAc;gBACxB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,oCAAoC,CAAC;kBACxE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,oCAAoC,CAAC;kBAC3E,IAAI,CAAC;YACT,YAAY,GAAG,kBAAkB,CAAC;AAClC,YAAA,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;AAC7E,SAAA;AAAM,aAAA,IACN,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;AACzB,YAAA,YAAY,CAAC,mCAAmC,CAAC,WAAW,EAAE,EAC7D;AACD,YAAA,MAAM,gBAAgB,GACrB,IAAI,CAAC,IAAI,CAAC,cAAc;gBACxB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,mCAAmC,CAAC;kBACvE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,mCAAmC,CAAC;kBAC1E,IAAI,CAAC;YACT,YAAY,GAAG,gBAAgB,CAAC;AAChC,YAAA,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;AAC3E,SAAA;AAAM,aAAA,IACN,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;AACzB,YAAA,YAAY,CAAC,oCAAoC,CAAC,WAAW,EAAE,EAC9D;AACD,YAAA,IAAI,WAAW,GACd,IAAI,CAAC,IAAI,CAAC,cAAc;gBACxB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,oCAAoC,CAAC;kBACxE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,oCAAoC,CAAC;kBAC3E,IAAI,CAAC;YACT,IAAI,WAAW,YAAY,IAAI,EAAE;AAChC,gBAAA,WAAW,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;AACrC,aAAA;YACD,YAAY,GAAG,WAAW,CAAC;AAC3B,YAAA,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;AACtE,SAAA;AAAM,aAAA,IACN,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,YAAY,CAAC,4BAA4B,CAAC,WAAW,EAAE,EACnF;YACD,IAAI,iBAAiB,GAAQ,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE;gBACjD,IAAI,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,gBAAA,IAAI,YAAY,EAAE;AACjB,oBAAA,iBAAiB,GAAG,YAAY,CAAC,MAAM,CAAC;AACxC,iBAAA;AACD,aAAA;AACD,YAAA,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;AAC5E,SAAA;AAAM,aAAA,IACN,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;AACzB,YAAA,YAAY,CAAC,oCAAoC,CAAC,WAAW,EAAE,EAC9D;AACD,YAAA,MAAM,mBAAmB,GACxB,IAAI,CAAC,IAAI,CAAC,cAAc;gBACxB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,oCAAoC,CAAC;kBACxE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,oCAAoC,CAAC;kBAC3E,IAAI,CAAC;YACT,YAAY,GAAG,mBAAmB,CAAC;AACnC,YAAA,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;AAC9E,SAAA;AAAM,aAAA,IACN,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,YAAY,CAAC,wBAAwB,CAAC,WAAW,EAAE,EAC/E;YACD,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC;YACvD,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CACpC,IAAI,EACJ,KAAK,CAAC,KAAK,EACX,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CACvC,CAAC;AACF,SAAA;AAAM,aAAA;;AAEN,YAAA,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;AAChD,YAAA,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC7D,SAAA;QACD,OAAO;AACN,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,KAAK,EAAE,YAAY;SACnB,CAAC;KACF;AAED;;;AAGG;AACH,IAAA,aAAa,CAAC,IAAY,EAAA;;QAEzB,IAAI,MAAM,GAAU,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,cAAc,GAAU,EAAE,CAAC;AAC/B,QAAA,KAAK,IAAI,SAAS,IAAI,MAAM,EAAE;AAC7B,YAAA,IAAI,SAAS,EAAE;gBACd,MAAM,OAAO,GAAW,YAAY,CAAC,UAAU,CAC9C,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAC/C,CAAC;AACF,gBAAA,IAAI,OAAO,EAAE;AACZ,oBAAA,QAAQ,OAAO;wBACd,KAAK,CAAC;AACL,4BAAA,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,gBAAgB,CAAC,EAAE;AACnD,gCAAA,cAAc,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC;AACnD,6BAAA;4BACD,cAAc,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;4BAC9D,MAAM;wBACP,KAAK,CAAC;AACL,4BAAA,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE;AACrD,gCAAA,cAAc,CAAC,YAAY,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC;AACrD,6BAAA;4BACD,cAAc,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;4BAChE,MAAM;wBACP,KAAK,CAAC;AACL,4BAAA,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE;AACrD,gCAAA,cAAc,CAAC,YAAY,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC;AACrD,6BAAA;4BACD,cAAc,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;4BAChE,MAAM;wBACP,KAAK,CAAC;AACL,4BAAA,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,sBAAsB,CAAC,EAAE;AACzD,gCAAA,cAAc,CAAC,YAAY,CAAC,sBAAsB,CAAC,GAAG,EAAE,CAAC;AACzD,6BAAA;4BACD,cAAc,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;4BACpE,MAAM;wBACP,KAAK,CAAC;AACL,4BAAA,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,iBAAiB,CAAC,EAAE;AACpD,gCAAA,cAAc,CAAC,YAAY,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;AACpD,6BAAA;4BACD,cAAc,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;4BAC/D,MAAM;AACP,qBAAA;AACD,iBAAA;AACD,aAAA;AACD,SAAA;AACD,QAAA,OAAO,cAAc,CAAC;KACtB;AAED;;;;;AAKG;IACH,sCAAsC,CAAC,UAAkB,EAAE,UAAe,EAAA;;AAEzE,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,MAAM,mBAAmB,GAAG,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC;QAC7E,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,mBAAmB,IAAI,mBAAmB,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACpE,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;AAC9D,SAAA;AACD,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;;;KAGpE;AAED;;AAEG;IACH,uBAAuB,GAAA;AACtB,QAAA,IAAI,mBAAmB,GAAG,CAAC,CAAC,wBAAwB,CAAC,CAAC;QACtD,mBAAmB,CAAC,KAAK,EAAE,CAAC;AAC5B,QAAA,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;AAC9B,YAAA,IAAI,eAAe,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC;AACvC,YAAA,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;AACnC,gBAAA,IAAI,SAAS,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AACtE,gBAAA,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAClC,aAAA;AACD,YAAA,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE;AACpC,gBAAA,IAAI,SAAS,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AACvE,gBAAA,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAClC,aAAA;AACD,YAAA,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE;gBACzE,IAAI,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI;sBAC/C,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,GAAG,GAAG;sBACpC,EAAE,CAAC;AACN,gBAAA,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ;AAClD,sBAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ;sBAClC,EAAE,CAAC;AACN,gBAAA,IAAI,SAAS,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,UAAU,GAAG,aAAa,GAAG,WAAW,CAAC,CAAC;AAClF,gBAAA,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAClC,aAAA;AACD,YAAA,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE;AACpC,gBAAA,IAAI,SAAS,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AACvE,gBAAA,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAClC,aAAA;AACD,YAAA,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE;AACzC,gBAAA,IAAI,SAAS,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;AAC5E,gBAAA,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAClC,aAAA;AACD,YAAA,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE;AACtC,gBAAA,IAAI,SAAS,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;AACzE,gBAAA,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAClC,aAAA;AACD,YAAA,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE;gBAClF,IAAI,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO;sBAClD,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,GAAG,GAAG;sBACvC,EAAE,CAAC;AACN,gBAAA,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc;AACxD,sBAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc;sBACxC,EAAE,CAAC;gBACN,IAAI,SAAS,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACrD,gBAAA,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAClC,aAAA;AACD,YAAA,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE;gBACxE,IAAI,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI;AACjD,sBAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI;sBAC9B,EAAE,CAAC;gBACN,aAAa;oBACZ,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;AACjF,gBAAA,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO;AACjD,sBAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO;sBACjC,EAAE,CAAC;gBACN,IAAI,SAAS,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACrD,gBAAA,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAClC,aAAA;AACD,YAAA,mBAAmB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AAC5C,SAAA;KACD;AAED;;;;;AAKG;IACH,0CAA0C,CAAC,UAAkB,EAAE,UAAe,EAAA;;AAE7E,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,gCAAgC,EAAE,CAAC;QACxC,MAAM,mBAAmB,GAAG,QAAQ,CAAC,cAAc,CAAC,kCAAkC,CAAC,CAAC;QACxF,IAAI,IAAI,GAAG,EAAE,CAAC;AACd,QAAA,IAAI,mBAAmB,EAAE;YACxB,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;AAC9D,SAAA;AACD,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;;;KAGpE;AAED;;AAEG;IACH,gCAAgC,GAAA;AAC/B,QAAA,IAAI,mBAAmB,GAAG,CAAC,CAAC,mCAAmC,CAAC,CAAC;QACjE,mBAAmB,CAAC,KAAK,EAAE,CAAC;AAC5B,QAAA,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;AAC9B,YAAA,IAAI,eAAe,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC;AACvC,YAAA,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE;gBACvC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;AACzD,aAAA;AACD,YAAA,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE;AACpC,gBAAA,MAAM,SAAS,GACd,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG;AAC9C,oBAAA,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;gBACjC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC;AACzD,aAAA;AACD,YAAA,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE;gBACvC,IAAI,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ;AACrD,sBAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ;sBAClC,EAAE,CAAC;AACN,gBAAA,MAAM,SAAS,GACd,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG;oBAC9C,UAAU;oBACV,aAAa;AACb,oBAAA,WAAW,CAAC;gBACb,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC;AACzD,aAAA;AACD,YAAA,mBAAmB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AAC5C,SAAA;KACD;AAEO,IAAA,kBAAkB,CAAC,IAAY,EAAA;AACtC,QAAA,OAAO,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;KAC1D;AAED,IAAA,0BAA0B,CAAC,IAAI,EAAE,UAAe,EAAE,QAAkB,EAAA;AACnE,QAAA,IAAI,SAAS,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC;AACjC,QAAA,IAAI,GAAG,GAAG,CAAC,CAAC,WAAW,GAAG,YAAY,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;AAClE,QAAA,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACpB,QAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACxB,YAAA,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC1C,SAAA;AACD,QAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACxB,YAAA,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC3C,SAAA;AACD,QAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACxB,YAAA,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AACzC,SAAA;AACD,QAAA,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;;AAEtB,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;KAC1E;IAEO,aAAa,GAAA;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI;AACtC,cAAE,OAAO;cACP,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI;AAClC,kBAAE,QAAQ;kBACR,MAAM,CAAC;KACV;IAEO,aAAa,GAAA;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI;AACtC,cAAE,OAAO;cACP,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI;AAClC,kBAAE,QAAQ;kBACR,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI;AAClC,sBAAE,OAAO;sBACP,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI;AAClC,0BAAE,QAAQ;0BACR,MAAM,CAAC;KACV;IAEO,YAAY,GAAA;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI;AACtC,cAAE,KAAK;cACL,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI;AAClC,kBAAE,MAAM;kBACN,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI;AAClC,sBAAE,OAAO;sBACP,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI;AAClC,0BAAE,MAAM;0BACN,MAAM,CAAC;KACV;AAED;;AAEG;AACH,IAAA,8BAA8B,CAC7B,WAAmB,EACnB,aAAqB,EACrB,SAAoB,EAAA;AAEpB,QAAA,IAAI,WAAW,IAAI,gBAAgB,CAAC,OAAO,EAAE;AAC5C,SAAA;AAAM,aAAA;AACN,SAAA;QACD,IAAI,yBAAyB,GAAG,CAAC,CAAC,GAAG,GAAG,aAAa,CAAC,CAAC;QACvD,yBAAyB,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE;AAC9D,YAAA,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;AACzC,YAAA,MAAM,KAAK,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC;AACnC,YAAA,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;AACnC,YAAA,KAAK,CAAC,GAAG,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;;YAEzC,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC3C,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC1E,YAAA,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;AACpC,YAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AACzC,YAAA,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC9B,YAAA,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;YACxC,IAAI,aAAa,GAAG,CAAC,CAAC;AACtB,YAAA,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE;gBACjC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,CAAC,QAAQ,CACjF,KAAK,CACL,CAAC;AACF,gBAAA,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;AACnC,gBAAA,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AACxC,gBAAA,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC7B,gBAAA,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;AACvC,gBAAA,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC5B,aAAA;AACD,YAAA,MAAM,UAAU,GAAG,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,OAAO,CAAC,YAAY,GAAG,QAAQ,CAAC;AACrF,YAAA,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChE,YAAA,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;AACpC,YAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AACzC,YAAA,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC9B,YAAA,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;AACxC,YAAA,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;;YAE7B,IAAI,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACzC,YAAA,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;gBAC5D,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACrC,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC1C,MAAM,UAAU,GACf,cAAc;AACd,oBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC;AACzC,oBAAA,0BAA0B,CAAC;AAC5B,gBAAA,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC7D,gBAAA,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AAClC,gBAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AACzC,gBAAA,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;AACnC,gBAAA,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE;AAClC,oBAAA,MAAM,SAAS,GACd,IAAI,CAAC,KAAK,IAAI,CAAC;AACd,0BAAE,GAAG;AACL,0BAAE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;AACpE,oBAAA,MAAM,cAAc,GAAG,cAAc,GAAG,SAAS,GAAG,cAAc,CAAC;AACnE,oBAAA,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAChE,oBAAA,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAClC,oBAAA,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AACxC,iBAAA;AACD,gBAAA,MAAM,aAAa,GAClB,QAAQ,CAAC,KAAK,IAAI,CAAC;AAClB,sBAAE,GAAG;AACL,sBAAE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;AACxE,gBAAA,MAAM,kBAAkB,GAAG,cAAc,GAAG,aAAa,GAAG,cAAc,CAAC;AAC3E,gBAAA,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACrE,gBAAA,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AACnC,gBAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AACzC,gBAAA,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;AACnC,aAAA;YACD,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC1C,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,YAAY,GAAG,cAAc,CAAC;AACxF,YAAA,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC3E,YAAA,cAAc,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAC1C,YAAA,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AAChD,YAAA,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACrC,YAAA,cAAc,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;YAC/C,IAAI,WAAW,GAAG,CAAC,CAAC;AACpB,YAAA,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE;AACjC,gBAAA,MAAM,SAAS,GACd,IAAI,CAAC,KAAK,IAAI,CAAC;AACd,sBAAE,GAAG;AACL,sBAAE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;AACpE,gBAAA,MAAM,cAAc,GAAG,SAAS,GAAG,cAAc,CAAC;AAClD,gBAAA,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACrE,gBAAA,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAClC,gBAAA,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AACxC,gBAAA,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC7B,gBAAA,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;AACvC,gBAAA,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC;AAC1B,aAAA;AACD,YAAA,MAAM,iBAAiB,GACtB,WAAW,IAAI,CAAC;AACf,kBAAE,GAAG;AACL,kBAAE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;AACrE,YAAA,MAAM,sBAAsB,GAAG,cAAc,GAAG,iBAAiB,GAAG,cAAc,CAAC;AACnF,YAAA,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACnF,YAAA,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AACxC,YAAA,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AAC9C,YAAA,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACnC,YAAA,YAAY,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;AAC7C,YAAA,yBAAyB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACxC,SAAA;KACD;;2GAppCW,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAApB,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAuC,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA1C,EAAA,CAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA2C,qBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,6JCnC3B,u/SAiQA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAxC,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,UAAA,EAAAA,EAAA,CAAA,YAAA,EAAA,EAAA,CAAA,CAAA;2FD9Na,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,SAAS;+BACC,WAAW,EAAA,QAAA,EAAA,u/SAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;wLAMZ,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAEG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAEI,UAAU,EAAA,CAAA;sBAAnB,MAAM;;;AEvCR,MAAMyC,SAAO,GAAG,QAAQ,CAAC;MAKZ,qBAAqB,CAAA;AAKjC,IAAA,WAAA,GAAA;;AAEC,QAAA,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;AAC7B,QAAA,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC;AAC/B,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;KAChB;AAED,IAAA,SAAS,CAAC,KAAsB,EAAE,YAAA,GAAuB,CAAC,EAAA;AACzD,QAAA,IAAI,KAAK,EAAE;AACV,YAAA,IAAI,OAAO,GAAG,KAAK,GAAG,EAAE,CAAC;YACzB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,uBAAuB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAC7E,YAAA,OAAO,OAAO,CAAC;AACf,SAAA;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;KACjB;AAED,IAAA,KAAK,CAAC,KAAa,EAAE,YAAA,GAAuB,CAAC,EAAA;QAC5C,IAAI,CAAC,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE;AACjC,YAAA,OAAO,GAAG,CAAC;AACX,SAAA;QACD,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACvC,QAAA,OAAO,OAAO,CAAC;KACf;;kHA3BW,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;gHAArB,qBAAqB,EAAA,IAAA,EAAA,mBAAA,EAAA,CAAA,CAAA;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACL,oBAAA,IAAI,EAAE,mBAAmB;iBACzB,CAAA;;;MCAY,mCAAmC,CAAA;AAK/C,IAAA,WAAA,CAAoB,UAAsB,EAAA;AAAtB,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QACzC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;AACxC,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,qBAAqB,EAAE,CAAC;KAChD;IAED,QAAQ,GAAA;AACP,QAAA,IAAI,IAAI,CAAC,EAAE,CAAC,KAAK;AAAE,YAAA,IAAI,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;KAC9E;AAGD,IAAA,OAAO,CAAC,KAAK,EAAA;AACZ,QAAA,IAAI,KAAK;AAAE,YAAA,IAAI,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KAC1D;AAGD,IAAA,MAAM,CAAC,KAAK,EAAA;AACX,QAAA,IAAI,KAAK;AAAE,YAAA,IAAI,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;KAC9D;AAGD,IAAA,UAAU,CAAC,KAAK,EAAA;AACf,QAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;AAC3D,QAAA,IAAI,QAAQ,GAAG,EAAE,KAAK,QAAQ,GAAG,EAAE,IAAI,QAAQ,GAAG,EAAE,CAAC,EAAE;AACtD,YAAA,OAAO,KAAK,CAAC;AACb,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACZ;;gIA/BW,mCAAmC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;oHAAnC,mCAAmC,EAAA,QAAA,EAAA,8BAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,6BAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAnC,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAH/C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,8BAA8B;iBACxC,CAAA;iGAgBA,OAAO,EAAA,CAAA;sBADN,YAAY;uBAAC,OAAO,EAAE,CAAC,qBAAqB,CAAC,CAAA;gBAM9C,MAAM,EAAA,CAAA;sBADL,YAAY;uBAAC,MAAM,EAAE,CAAC,qBAAqB,CAAC,CAAA;gBAM7C,UAAU,EAAA,CAAA;sBADT,YAAY;uBAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAA;;;AC5BrC,MAAMA,SAAO,GAAG,QAAQ,CAAC;MAGZ,4BAA4B,CAAA;AAIxC,IAAA,WAAA,GAAA;;AAEC,QAAA,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;AAC7B,QAAA,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC;KAC/B;AAED,IAAA,SAAS,CAAC,KAAsB,EAAE,YAAA,GAAuB,CAAC,EAAA;QACzD,IAAI,CAAC,OAAO,EAAE,QAAQ,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAEtF,QAAQ;AACP,YAAA,YAAY,GAAG,CAAC;AACf,kBAAE,IAAI,CAAC,iBAAiB,GAAG,CAAC,QAAQ,GAAGA,SAAO,EAAE,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC;kBACxE,EAAE,CAAC;QAEP,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,uBAAuB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAE7E,OAAO,OAAO,GAAG,QAAQ,CAAC;KAC1B;AAED,IAAA,KAAK,CAAC,KAAa,EAAE,YAAA,GAAuB,CAAC,EAAA;QAC5C,IAAI,CAAC,OAAO,EAAE,QAAQ,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;;QAG3E,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAErC,QAAQ;YACP,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,YAAY,GAAG,CAAC;AAC7C,kBAAE,IAAI,CAAC,iBAAiB,GAAG,CAAC,QAAQ,GAAGA,SAAO,EAAE,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC;kBACxE,EAAE,CAAC;QAEP,OAAO,OAAO,GAAG,QAAQ,CAAC;KAC1B;;yHAnCW,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;uHAA5B,4BAA4B,EAAA,IAAA,EAAA,0BAAA,EAAA,CAAA,CAAA;2FAA5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBADxC,IAAI;mBAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAA;;;MCE7B,0CAA0C,CAAA;AAKtD,IAAA,WAAA,CAAoB,UAAsB,EAAA;AAAtB,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QACzC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;AACxC,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,4BAA4B,EAAE,CAAC;KAC9D;IAED,QAAQ,GAAA;AACP,QAAA,IAAI,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;KAClE;AAGD,IAAA,OAAO,CAAC,KAAK,EAAA;AACZ,QAAA,IAAI,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KACtD;AAGD,IAAA,MAAM,CAAC,KAAK,EAAA;AACX,QAAA,IAAI,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;KAC1D;;uIAtBW,0CAA0C,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2HAA1C,0CAA0C,EAAA,QAAA,EAAA,qCAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,6BAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAA1C,0CAA0C,EAAA,UAAA,EAAA,CAAA;kBAHtD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,qCAAqC;iBAC/C,CAAA;iGAgBA,OAAO,EAAA,CAAA;sBADN,YAAY;uBAAC,OAAO,EAAE,CAAC,qBAAqB,CAAC,CAAA;gBAM9C,MAAM,EAAA,CAAA;sBADL,YAAY;uBAAC,MAAM,EAAE,CAAC,qBAAqB,CAAC,CAAA;;;ACvB9C,MAAM,OAAO,GAAG,QAAQ,CAAC;MAKZ,0BAA0B,CAAA;AAItC,IAAA,WAAA,GAAA;;AAEC,QAAA,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;AAC7B,QAAA,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC;KAC/B;AAED,IAAA,SAAS,CAAC,KAAsB,EAAE,YAAA,GAAuB,CAAC,EAAA;AACzD,QAAA,IAAI,OAAO,GAAG,CAAC,KAAK,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACzD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,uBAAuB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;;AAE7E,QAAA,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QACxD,OAAO,OAAO,IAAI,GAAG,GAAG,GAAG,GAAG,OAAO,CAAC;KACtC;AAED,IAAA,KAAK,CAAC,KAAa,EAAE,YAAA,GAAuB,CAAC,EAAA;AAC5C,QAAA,IAAI,OAAO,GAAG,CAAC,KAAK,IAAI,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC9C,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;;AAErC,QAAA,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QACxD,OAAO,OAAO,IAAI,GAAG,GAAG,GAAG,GAAG,OAAO,CAAC;KACtC;;uHAxBW,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;qHAA1B,0BAA0B,EAAA,IAAA,EAAA,wBAAA,EAAA,CAAA,CAAA;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACL,oBAAA,IAAI,EAAE,wBAAwB;iBAC9B,CAAA;;;MCDY,aAAa,CAAA;IACzB,SAAS,CAAC,KAAU,EAAE,IAAU,EAAA;QAC/B,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,IAAI;AAAE,YAAA,OAAO,CAAC,CAAC;AACxD,aAAA;;AAEJ,YAAA,IAAI,CAAC,IAAI;gBAAE,IAAI,GAAG,EAAE,CAAC;;AAErB,YAAA,IACC,IAAI,CAAC,QAAQ,KAAK,SAAS;gBAC3B,IAAI,CAAC,QAAQ,KAAK,IAAI;AACtB,gBAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACpB,IAAI,CAAC,QAAQ,GAAG,CAAC;AAEjB,gBAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;;AAGnB,YAAA,IAAI,WAAW,GAAG,OAAO,KAAK,KAAK,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;;YAGpE,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;;YAG9D,IAAI,WAAW,GAAG,IAAI,EAAE;gBACvB,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AAC5C,aAAA;;AAGD,YAAA,IAAI,WAAW,IAAI,IAAI,IAAI,WAAW,GAAG,OAAO,EAAE;AACjD,gBAAA,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;gBAClB,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC;AACnD,aAAA;;AAGD,YAAA,IAAI,WAAW,IAAI,OAAO,IAAI,WAAW,IAAI,UAAU,EAAE;AACxD,gBAAA,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;gBAClB,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC;AACtD,aAAA;;AAGD,YAAA,IAAI,WAAW,IAAI,UAAU,IAAI,WAAW,IAAI,aAAa,EAAE;AAC9D,gBAAA,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;gBAClB,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,GAAG,UAAU,EAAE,IAAI,CAAC,CAAC;AACzD,aAAA;AACD,SAAA;KACD;;IAGD,YAAY,CAAC,WAAmB,EAAE,IAAU,EAAA;QAC3C,IAAI,QAAQ,GAAG,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QAClF,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM;AAAE,YAAA,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC;AACrE,QAAA,OAAO,QAAQ,CAAC;KAChB;;0GApDW,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;wGAAb,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,CAAA;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACL,oBAAA,IAAI,EAAE,WAAW;iBACjB,CAAA;;;MCIY,qBAAqB,CAAA;IAGjC,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAFnF,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;AAClF,QAAA,IAAW,CAAA,WAAA,GAAG,iBAAiB,CAAC;KACuD;;AAG/F,IAAA,aAAa,CAAC,OAAe,EAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE;AACvF,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAA,CAAC,CAAC;KACH;IAED,gBAAgB,CAAC,OAAe,EAAE,IAAY,EAAA;QAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,kBAAkB,EAChF,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CACpF,CAAC;KACF;AAED,IAAA,WAAW,CAAC,KAAa,EAAA;AACxB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,gBAAgB,EAC9E,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAChD,CAAC;KACF;AAED,IAAA,IAAI,CAAC,GAAmB,EAAA;QACvB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,EAC3D,GAAG,CACH,CAAC;KACF;AAED,IAAA,IAAI,CAAC,GAAmB,EAAA;QACvB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,EAC3D,GAAG,CACH,CAAC;KACF;AAED,IAAA,MAAM,CAAC,EAAU,EAAA;AAChB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE;YAC1F,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;AACtC,SAAA,CAAC,CAAC;KACH;IAED,MAAM,CAAC,YAAsB,EAAE,KAAa,EAAA;AAC3C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,SAAS,EACvE,YAAY,EACZ,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAChD,CAAC;KACF;IAED,SAAS,CAAC,KAAa,EAAE,KAAa,EAAA;QACrC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,aAAa,EAC3E,EAAE,EACF,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CACpE,CAAC;KACF;IAED,UAAU,CAAC,KAAa,EAAE,MAAgB,EAAA;AACzC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,cAAc,EAC5E,MAAM,EACN,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAChD,CAAC;KACF;;AApEW,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,kBAGb,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,qBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cAFrB,MAAM,EAAA,CAAA,CAAA;2FAEN,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCNrB,cAAc,CAAA;AAH3B,IAAA,WAAA,GAAA;AAIC,QAAA,IAAW,CAAA,WAAA,GAAY,IAAI,CAAC;KAC5B;;2GAFY,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cAFd,MAAM,EAAA,CAAA,CAAA;2FAEN,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;ACYD,MAAM,IAAI,GAAG;AACZ,IAAA,IAAI,EAAE,aAAa;AACnB,IAAA,OAAO,EAAE,gBAAgB;AACzB,IAAA,kBAAkB,EAAE,2BAA2B;AAC/C,IAAA,eAAe,EAAE,wBAAwB;AACzC,IAAA,oBAAoB,EAAE,6BAA6B;AACnD,IAAA,IAAI,EAAE,aAAa;AACnB,IAAA,cAAc,EAAE,uBAAuB;AACvC,IAAA,eAAe,EAAE,wBAAwB;AACzC,IAAA,MAAM,EAAE,eAAe;AACvB,IAAA,MAAM,EAAE,eAAe;AACvB,IAAA,QAAQ,EAAE,iBAAiB;AAC3B,IAAA,cAAc,EAAE,uBAAuB;AACvC,IAAA,MAAM,EAAE,eAAe;AACvB,IAAA,QAAQ,EAAE,iBAAiB;AAC3B,IAAA,YAAY,EAAE,qBAAqB;AACnC,IAAA,aAAa,EAAE,yBAAyB;AACxC,IAAA,YAAY,EAAE,qBAAqB;AACnC,IAAA,qBAAqB,EAAE,oCAAoC;CAC3D,CAAC;AACF,MAAMC,aAAW,GAAG;IACnB,OAAO,EAAE,IAAI,WAAW,CAAC;AACxB,QAAA,cAAc,EAAE,kBAAkB;;KAElC,CAAC;CACF,CAAC;MAGW,wBAAwB,CAAA;;IAOpC,WAA2C,CAAA,WAAgB,EAAU,IAAgB,EAAA;AAA1C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAN7E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;AAElF,QAAA,IAAA,CAAA,0BAA0B,GAAG,IAAI,OAAO,EAAW,CAAC;KAI6B;;AAGjF,IAAA,WAAW,CAAC,KAAwB,EAAA;AAC3C,QAAA,IAAI,KAAK,CAAC,KAAK,YAAY,UAAU,EAAE;;;AAGtC,SAAA;AAAM,aAAA;;;;;;AAMN,SAAA;;AAED,QAAA,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;KACzB;AAED,IAAA,SAAS,CAAC,QAAgB,EAAA;AACzB,QAAA,IAAI,OAAO,GAAG,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,IAAI;AACd,aAAA,GAAG,CAAY,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE;YACzE,OAAO,EAAEA,aAAW,CAAC,OAAO;AAC5B,YAAA,MAAM,EAAE,OAAO;SACf,CAAC;aACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;KACrC;AAED,IAAA,YAAY,CAAC,MAAkB,EAAA;QAC9B,OAAO,IAAI,CAAC,IAAI;AACd,aAAA,IAAI,CAAa,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE;YAClF,OAAO,EAAEA,aAAW,CAAC,OAAO;SAC5B,CAAC;aACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;KACrC;AAED,IAAA,cAAc,CAAC,MAAkB,EAAA;QAChC,OAAO,IAAI,CAAC,IAAI;AACd,aAAA,IAAI,CACJ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,EAC/D,MAAM,EACN;YACC,OAAO,EAAEA,aAAW,CAAC,OAAO;SAC5B,CACD;aACA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;KACrC;IAED,eAAe,CAAC,aAAqB,EAAE,aAAqB,EAAA;AAC3D,QAAA,IAAI,OAAO,GAAG,IAAI,UAAU,EAAE;AAC5B,aAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;aACnC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,IAAI;AACd,aAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE;YAC7E,OAAO,EAAEA,aAAW,CAAC,OAAO;AAC5B,YAAA,MAAM,EAAE,OAAO;SACf,CAAC;aACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;KACrC;AAED,IAAA,gBAAgB,CAAC,aAAqB,EAAA;AACrC,QAAA,IAAI,OAAO,GAAG,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC,IAAI;AACd,aAAA,GAAG,CAAe,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE;YACzE,OAAO,EAAEA,aAAW,CAAC,OAAO;AAC5B,YAAA,MAAM,EAAE,OAAO;SACf,CAAC;aACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;KACrC;AAED,IAAA,WAAW,CACV,aAAqB,EACrB,aAAqB,EACrB,QAAgB,EAChB,GAAW,EAAA;AAEX,QAAA,IAAI,OAAO,GAAG,IAAI,UAAU,EAAE;AAC5B,aAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AACnC,aAAA,GAAG,CAAC,UAAU,EAAE,QAAQ,GAAG,EAAE,CAAC;AAC9B,aAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AACnC,aAAA,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC,IAAI;AACd,aAAA,GAAG,CAAY,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;YAC1E,OAAO,EAAEA,aAAW,CAAC,OAAO;AAC5B,YAAA,MAAM,EAAE,OAAO;SACf,CAAC;aACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;KACrC;IAED,iBAAiB,CAAC,aAAqB,EAAE,GAAW,EAAA;AACnD,QAAA,IAAI,OAAO,GAAG,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACnF,OAAO,IAAI,CAAC,IAAI;AACd,aAAA,GAAG,CAAa,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE;YACjF,OAAO,EAAEA,aAAW,CAAC,OAAO;AAC5B,YAAA,MAAM,EAAE,OAAO;SACf,CAAC;aACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;KACrC;AAED,IAAA,gBAAgB,CAAC,aAAqB,EAAE,QAAgB,EAAE,GAAW,EAAA;AACpE,QAAA,IAAI,OAAO,GAAG,IAAI,UAAU,EAAE;AAC5B,aAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AACnC,aAAA,GAAG,CAAC,UAAU,EAAE,QAAQ,GAAG,EAAE,CAAC;AAC9B,aAAA,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC,IAAI;AACd,aAAA,GAAG,CAAc,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,EAAE;YACjF,OAAO,EAAEA,aAAW,CAAC,OAAO;AAC5B,YAAA,MAAM,EAAE,OAAO;SACf,CAAC;aACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;KACrC;;AAGD,IAAA,SAAS,CAAC,OAAqB,EAAA;QAC9B,OAAO,IAAI,CAAC,IAAI;AACd,aAAA,IAAI,CAAe,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE;YACrF,OAAO,EAAEA,aAAW,CAAC,OAAO;SAC5B,CAAC;aACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;KACrC;AAED,IAAA,QAAQ,CAAC,MAAoB,EAAA;QAC5B,OAAO,IAAI,CAAC,IAAI;AACd,aAAA,IAAI,CAAa,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE;YACpF,OAAO,EAAEA,aAAW,CAAC,OAAO;SAC5B,CAAC;aACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;KACrC;;AAGD,IAAA,IAAI,CAAC,QAAgB,EAAA;AACpB,QAAA,IAAI,OAAO,GAAG,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,GAAG,EAAE,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC,IAAI;AACd,aAAA,GAAG,CAAa,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE;YACvE,OAAO,EAAEA,aAAW,CAAC,OAAO;AAC5B,YAAA,MAAM,EAAE,OAAO;SACf,CAAC;aACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;KACrC;AAED,IAAA,YAAY,CAAC,QAAgB,EAAA;AAC5B,QAAA,IAAI,OAAO,GAAG,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,IAAI;AACd,aAAA,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE;YACtE,OAAO,EAAEA,aAAW,CAAC,OAAO;AAC5B,YAAA,MAAM,EAAE,OAAO;SACf,CAAC;aACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;KACrC;;AAGD,IAAA,+BAA+B,CAAC,aAAqB,EAAA;AACpD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,kCAAkC,EAC9E,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,EAAE,CAChE,CAAC;KACF;;AAGD,IAAA,iBAAiB,CAAC,aAA4B,EAAA;QAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACpB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,oBAAoB,EAChE,aAAa,EACb,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,0BAA0B,CACzB,QAAgB,EAChB,aAAqB,EACrB,aAAqB,EAAA;AAErB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,oBAAoB,EAAE;YACtF,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AACpC,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AACnC,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AACrC,SAAA,CAAC,CAAC;KACH;;IAGD,gCAAgC,CAAC,UAAkB,EAAE,YAAqB,EAAA;AACzE,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,oCAAoC,EAChF;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACxC,iBAAA,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC;AAC9C,SAAA,CACD,CAAC;KACF;;AAGD,IAAA,0BAA0B,CAAC,QAAgB,EAAA;AAC1C,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,8BAA8B,EAC1E,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,CACjE,CAAC;KACF;;IAID,+BAA+B,CAAC,SAAiB,EAAE,QAAgB,EAAA;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,mCAAmC,EAC/E,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE;AACxB,iBAAA,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;iBACtC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,CACxC,CAAC;KACF;AAED,IAAA,YAAY,CAAC,MAAoB,EAAA;QAChC,OAAO,IAAI,CAAC,IAAI;AACd,aAAA,IAAI,CACJ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,EAC7D,MAAM,EACN;YACC,OAAO,EAAEA,aAAW,CAAC,OAAO;SAC5B,CACD;aACA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;KACrC;;AAGD,IAAA,kBAAkB,CAAC,aAAqB,EAAA;AACvC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE;YACzF,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AAC5D,SAAA,CAAC,CAAC;KACH;;AAGD,IAAA,eAAe,CAAC,UAAkB,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE;AACtF,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACjE,SAAA,CAAC,CAAC;KACH;;AAGD;;;;;;;;;AASE;;AAKF,IAAA,qBAAqB,CAAC,UAAkB,EAAA;AACvC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,qBAAqB,EACtE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,CACnE,CAAC;KACF;IAED,6BAA6B,GAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,0BAA0B,CAAC,YAAY,EAAE,CAAC;KACtD;IAED,6BAA6B,CAAC,6BAAsC,IAAI,EAAA;AACvE,QAAA,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;KACjE;AAED,IAAA,YAAY,CAAC,aAAqB,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,qBAAqB,EAAE;YACvF,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AAC5D,SAAA,CAAC,CAAC;KACH;IAED,mBAAmB,CAAC,aAAqB,EAAE,SAAkB,EAAA;AAC5D,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,4BAA4B,EACxE;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AACnC,iBAAA,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;AACxC,SAAA,CACD,CAAC;KACF;;AAlSW,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,kBAOhB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;yHAPrB,wBAAwB,EAAA,CAAA,CAAA;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC,UAAU;;;8BAQG,MAAM;+BAAC,aAAa,CAAA;;;;MC3CrB,yBAAyB,CAAA;IAGrC,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAFnF,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEK;;AAG/F,IAAA,KAAK,CAAC,kBAAsC,EAAA;QAC3C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,2BAA2B,EACjE,kBAAkB,EAClB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,aAAa,CAAC,mBAAyC,EAAA;QACtD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,mCAAmC,EACzE,mBAAmB,EACnB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;IAGD,UAAU,CAAC,aAAqB,EAAE,UAAkB,EAAA;AACnD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,iCAAiC,EACvE;AACC,YAAA,aAAa,EAAE,aAAa;AAC5B,YAAA,UAAU,EAAE,UAAU;AACtB,SAAA,EACD,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;IAGD,yBAAyB,CAAC,cAAwB,EAAE,UAAkB,EAAA;AACrE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,iCAAiC,EACvE;AACC,YAAA,cAAc,EAAE,cAAc;AAC9B,YAAA,UAAU,EAAE,UAAU;AACtB,SAAA,EACD,IAAI,CAAC,UAAU,CACf,CAAC;KACF;IAED,uBAAuB,CAAC,UAAkB,EAAE,MAAc,EAAA;AACzD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;AACvC,YAAA,6CAA6C,EAC9C;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACxC,iBAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAClC,SAAA,CACD,CAAC;KACF;AAED,IAAA,yBAAyB,CAAC,UAAkB,EAAA;AAC3C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;AACvC,YAAA,+CAA+C,EAChD,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrE,CAAC;KACF;;AAjEW,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,kBAGjB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,yBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,cAFzB,MAAM,EAAA,CAAA,CAAA;2FAEN,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCFrB,eAAe,CAAA;AAK3B,IAAA,WAAA,CACgC,WAAW,EAClC,UAAsB,EACtB,WAAkC,EAAA;AAFX,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAClC,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AACtB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAuB;AAPnC,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;AAElF,QAAA,IAAA,CAAA,6BAA6B,GAAG,IAAI,OAAO,EAAW,CAAC;KAM3D;;AAGJ,IAAA,OAAO,CAAC,EAAU,EAAA;AACjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,kBAAkB,EAAE;AAC1F,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;AACjD,SAAA,CAAC,CAAC;KACH;;AAGD,IAAA,kBAAkB,CAAC,aAAqB,EAAA;AACvC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,6BAA6B,EACzE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,EAAE,CAC3E,CAAC;KACF;;AAGD,IAAA,4BAA4B,CAAC,uBAA+B,EAAA;AAC3D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,uCAAuC,EACrF;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAC3B,yBAAyB,EACzB,uBAAuB,CAAC,QAAQ,EAAE,CAClC;AACD,SAAA,CACD,CAAC;KACF;;IAGD,uCAAuC,CACtC,SAAwB,EACxB,uBAA+B,EAAA;AAE/B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,kDAAkD,EACnD;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,yBAAyB,EAAE,uBAAuB,CAAC,QAAQ,EAAE,CAAC;AAClE,iBAAA,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;AACxC,SAAA,CACD,CAAC;KACF;;AAGD,IAAA,aAAa,CAAC,QAAgB,EAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,wBAAwB,EACpE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,CACnE,CAAC;KACF;;AAGD,IAAA,IAAI,CAAC,QAAkB,EAAA;QACtB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,eAAe,EAC3D,QAAQ,EACR,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,oBAAoB,CAAC,QAAkB,EAAA;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,+BAA+B,EAC3E,QAAQ,EACR,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,WAAW,CAAC,SAAqB,EAAA;QAChC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,sBAAsB,EAClE,SAAS,EACT,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,oBAAoB,CAAC,SAAqB,EAAA;QACzC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,+BAA+B,EAC3E,SAAS,EACT,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,yBAAyB,CAAC,mBAAwC,EAAA;QACjE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,oCAAoC,EAChF,mBAAmB,EACnB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,sCAAsC,CACrC,UAAkB,EAClB,YAAoB,EACpB,uBAA+B,EAC/B,MAAc,EAAA;AAEd,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;AACxC,YAAA,iDAAiD,EAClD;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACxC,iBAAA,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC;AACjC,iBAAA,GAAG,CAAC,yBAAyB,EAAE,uBAAuB,CAAC,QAAQ,EAAE,CAAC;AAClE,iBAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAClC,SAAA,CACD,CAAC;KACF;;IAGD,4CAA4C,CAC3C,aAAqB,EACrB,uBAA+B,EAAA;AAE/B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;AACxC,YAAA,uDAAuD,EACxD;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC;AAC9C,iBAAA,GAAG,CAAC,yBAAyB,EAAE,uBAAuB,CAAC,QAAQ,EAAE,CAAC;AACpE,SAAA,CACD,CAAC;KACF;AAED,IAAA,+BAA+B,CAAC,aAAqB,EAAA;AACpD,QAAA,IAAI,IAAI,GAAG;AACV,YAAA,aAAa,EAAE,aAAa;SAC5B,CAAC;QACF,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,0CAA0C,EACtF,IAAI,CACJ,CAAC;KACF;IAED,gCAAgC,GAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,6BAA6B,CAAC,YAAY,EAAE,CAAC;KACzD;IAED,gCAAgC,CAAC,gCAAyC,IAAI,EAAA;AAC7E,QAAA,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;KACvE;;AAGD,IAAA,cAAc,CAAC,cAAmB,EAAA;QACjC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,yBAAyB,EACrE,cAAc,EACd,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAED,IAAA,mBAAmB,CAAC,cAAmB,EAAA;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,8BAA8B,EAC1E,cAAc,EACd,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAED,IAAA,cAAc,CAAC,cAAmB,EAAA;QACjC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,yBAAyB,EACrE,cAAc,EACd,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,2BAA2B,CAC1B,cAAsB,EACtB,QAAa,EACb,sBAA8B,EAAA;AAE9B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,sCAAsC,EAClF;AACC,YAAA,cAAc,EAAE,cAAc;AAC9B,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,sBAAsB,EAAE,sBAAsB;AAC9C,SAAA,EACD,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,yBAAyB,CAAC,yBAAoD,EAAA;QAC7E,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,oCAAoC,EAChF,yBAAyB,EACzB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAlNW,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,kBAMlB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAApD,qBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AANV,eAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFf,MAAM,EAAA,CAAA,CAAA;2FAEN,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAOE,MAAM;+BAAC,aAAa,CAAA;;;;MCNV,sBAAsB,CAAA;AAClC,IAAA,WAAA,CACgC,WAAW,EAClC,UAAsB,EACtB,WAAkC,EAAA;AAFX,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAClC,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AACtB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAuB;KACvC;;IAGJ,OAAO,CAAC,SAAiB,EAAE,MAAe,EAAA;AACzC,QAAA,IAAI,UAAU,GAAG,IAAI,UAAU,EAAE;AAC/B,aAAA,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;aACtC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,gCAAgC,EACrE,EAAE,MAAM,EAAE,UAAU,EAAE,CACtB,CAAC;KACF;;IAGD,eAAe,CAAC,MAAe,EAAE,SAAiB,EAAA;AACjD,QAAA,IAAI,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;AAElC,QAAA,IAAI,SAAS,EAAE;YACd,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;YAElD,IAAI,MAAM,KAAK,IAAI,EAAE;gBACpB,UAAU,GAAG,IAAI,UAAU,EAAE;AAC3B,qBAAA,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;qBACtC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;AACzC,aAAA;AACD,SAAA;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,wCAAwC,EAC7E,EAAE,MAAM,EAAE,UAAU,EAAE,CACtB,CAAC;KACF;;AAGD,IAAA,qBAAqB,CAAC,SAAiB,EAAA;QACtC,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;KAC7C;;AAGD,IAAA,IAAI,CACH,oBAAoC,EACpC,cAA8B,EAC9B,SAAiB,EAAA;AAEjB,QAAA,IAAI,MAAM,GAAG;AACZ,YAAA,cAAc,EAAE,cAAc;AAC9B,YAAA,oBAAoB,EAAE,oBAAoB;AAC1C,YAAA,UAAU,EAAE,kBAAkB,CAAC,aAAa,EAAE;AAC9C,YAAA,SAAS,EAAE,SAAS;SACpB,CAAC;QACF,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,6BAA6B,EAClE,MAAM,EACN,WAAW,CACX,CAAC;KACF;;IAGD,MAAM,CAAC,cAA8B,EAAE,SAAiB,EAAA;AACvD,QAAA,IAAI,MAAM,GAAG;AACZ,YAAA,cAAc,EAAE,cAAc;AAC9B,YAAA,oBAAoB,EAAE,IAAI;AAC1B,YAAA,UAAU,EAAE,kBAAkB,CAAC,aAAa,EAAE;AAC9C,YAAA,SAAS,EAAE,SAAS;SACpB,CAAC;QACF,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,+BAA+B,EACpE,MAAM,EACN,WAAW,CACX,CAAC;KACF;;AA3EW,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,kBAEzB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,qBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAFV,sBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cAFtB,MAAM,EAAA,CAAA,CAAA;2FAEN,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAGE,MAAM;+BAAC,aAAa,CAAA;;;;MCHV,YAAY,CAAA;IAGxB,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAFnF,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEK;;AAG/F,IAAA,IAAI,CAAC,KAAY,EAAA;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,YAAY,EAClD,KAAK,EACL,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,2BAA2B,CAAC,WAAgB,EAAA;QAC3C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,mCAAmC,EACzE,WAAW,EACX,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AApBW,YAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,kBAGJ,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,YAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cAFZ,MAAM,EAAA,CAAA,CAAA;2FAEN,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCHrB,WAAW,CAAA;IAGvB,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAF9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEA;;AAG1F,IAAA,IAAI,CAAC,cAA6B,EAAA;QACjC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,WAAW,EACjD,cAAc,EACd,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAZW,WAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,kBAGH,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,WAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cAFX,MAAM,EAAA,CAAA,CAAA;2FAEN,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCIrB,iBAAiB,CAAA;IAE7B,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAD9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KACA;;AAG1F,IAAA,IAAI,CAAC,UAAsB,EAAA;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,iBAAiB,EAC5D,UAAU,EACV,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,eAAe,CAAC,UAAkB,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,4BAA4B,EACvE;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACjE,SAAA,CACD,CAAC;KACF;AAED;;;;AAIG;AACH,IAAA,2BAA2B,CAAC,mBAAwC,EAAA;QACnE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,4BAA4B,EACvE,mBAAmB,CACnB,CAAC;KACF;;AAGD,IAAA,yBAAyB,CAAC,UAAkB,EAAA;AAC3C,QAAA,IAAI,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;AAClC,QAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,sCAAsC,EACjF,EAAE,EACF,EAAE,MAAM,EAAE,UAAU,EAAE,CACtB,CAAC;KACF;;AAGD,IAAA,+BAA+B,CAC9B,mBAAwC,EACxC,UAAkB,EAClB,SAAiB,EAAA;AAEjB,QAAA,IAAI,UAAU,GAAG,IAAI,UAAU,EAAE;AAC/B,aAAA,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;aACrC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,4CAA4C,EACvF,mBAAmB,EACnB,EAAE,MAAM,EAAE,UAAU,EAAE,CACtB,CAAC;KACF;AAED;;;;;AAKG;IACH,uCAAuC,CACtC,SAAiB,EACjB,UAAkB,EAAA;QAElB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAA,qBAAA,EAAwB,SAAS,CAAe,YAAA,EAAA,UAAU,CAAE,CAAA,CACvG,CAAC;KACF;AAED;;;;AAIG;AACH,IAAA,kBAAkB,CAAC,mBAAwC,EAAA;QAC1D,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,+BAA+B,EAC1E,mBAAmB,CACnB,CAAC;KACF;;IAGD,yCAAyC,CAAC,MAAc,EAAE,UAAkB,EAAA;AAC3E,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,0CAA0C,EACrF;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAChC,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AAC1C,SAAA,CACD,CAAC;KACF;;AAGD,IAAA,iBAAiB,CAChB,eAAmC,EACnC,aAA4B,EAC5B,kBAAiC,EACjC,MAAc,EAAA;AAEd,QAAA,IAAI,iBAAiB,GAAG;AACvB,YAAA,eAAe,EAAE,eAAe;AAChC,YAAA,aAAa,EAAE,aAAa;AAC5B,YAAA,kBAAkB,EAAE,kBAAkB;AACtC,YAAA,MAAM,EAAE,MAAM;SACd,CAAC;QACF,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,uBAAuB,EAClE,iBAAiB,EACjB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;IAGD,mBAAmB,CAClB,eAA4C,EAC5C,MAAc,EAAA;AAEd,QAAA,IAAI,mBAAmB,GAAG;AACzB,YAAA,eAAe,EAAE,eAAe;AAChC,YAAA,MAAM,EAAE,MAAM;SACd,CAAC;QACF,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,gCAAgC,EAC3E,mBAAmB,EACnB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,oBAAoB,CAAC,cAAwB,EAAA;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,iCAAiC,EAC5E,cAAc,EACd,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,mBAAmB,CAAC,iBAAoC,EAAA;QACvD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,iBAAiB,EACvD,iBAAiB,CACjB,CAAC;KACF;AAED,IAAA,kBAAkB,CACjB,aAAqB,EACrB,MAAc,EACd,WAAmB,EACnB,UAAkB,EAClB,UAAmB,EACnB,sBAA+B,EAC/B,OAAY,EAAA;QAEZ,MAAM,IAAI,GACT,yBAAyB;YACzB,aAAa;YACb,QAAQ;YACR,MAAM;YACN,aAAa;YACb,WAAW;YACX,YAAY;YACZ,UAAU;YACV,cAAc;YACd,UAAU;YACV,0BAA0B;AAC1B,YAAA,sBAAsB,CAAC;QACxB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,EAC/C,OAAO,EACP,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,UAAU,CAAC,cAAmB,EAAA;QAC7B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,cAAc,EACrD,cAAc,EACd,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;IAGD,kBAAkB,CACjB,YAA0B,EAC1B,iBAA0B,EAC1B,KAAa,EACb,eAAwB,EACxB,qBAA8B,EAAA;AAE9B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,+BAA+B,EAC1E,YAAY,EACZ;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;AACnD,iBAAA,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3B,iBAAA,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;AAC/C,iBAAA,GAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAC7D,SAAA,CACD,CAAC;KACF;AAED,IAAA,4BAA4B,CAC3B,aAAqB,EACrB,MAAc,EACd,QAAgB,EAChB,UAAkB,EAAA;AAElB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,yCAAyC,EACpF;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AACnC,iBAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAChC,iBAAA,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC;AACzB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AAC1C,SAAA,CACD,CAAC;KACF;AAED,IAAA,sBAAsB,CACrB,aAAqB,EACrB,MAAc,EACd,QAAgB,EAAA;AAEhB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,mCAAmC,EAC9E;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AACnC,iBAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAChC,iBAAA,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC;AAC3B,SAAA,CACD,CAAC;KACF;IAED,wBAAwB,CAAC,aAAqB,EAAE,MAAc,EAAA;AAC7D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,qCAAqC,EAChF;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AACnC,iBAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAClC,SAAA,CACD,CAAC;KACF;AAED,IAAA,2CAA2C,CAC1C,UAAkB,EAClB,iBAAyB,EACzB,MAAc,EAAA;AAEd,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;AACvC,YAAA,wDAAwD,EACzD;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACxC,iBAAA,GAAG,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,QAAQ,EAAE,CAAC;AACtD,iBAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAClC,SAAA,CACD,CAAC;KACF;AAED,IAAA,uBAAuB,CAAC,WAAqB,EAAA;AAC5C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,kCAAkC,EAC7E;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC;AACnE,SAAA,CACD,CAAC;KACF;IAED,4BAA4B,CAAC,kBAA4B,EAAE,MAAc,EAAA;AACxE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,yCAAyC,EACpF,kBAAkB,EAClB;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AACzD,SAAA,CACD,CAAC;KACF;AAED,IAAA,yBAAyB,CAAC,aAAa,EAAA;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,sCAAsC,EACjF,aAAa,CACb,CAAC;KACF;AAED,IAAA,0BAA0B,CAAC,WAAW,EAAA;QACrC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,uCAAuC,EAClF,WAAW,CACX,CAAC;KACF;;AAhTW,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,kBAET,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAFrB,iBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFjB,MAAM,EAAA,CAAA,CAAA;2FAEN,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAGa,MAAM;+BAAC,aAAa,CAAA;;;;ACblC,MAAM,UAAU,GACf,iFAAiF,CAAC;AACnF,MAAM,eAAe,GAAG,OAAO,CAAC;MAKnB,kBAAkB,CAAA;AAC9B,IAAA,WAAA,GAAA,GAAgB;IAET,iBAAiB,CAAC,IAAW,EAAE,aAAqB,EAAA;QAC1D,MAAM,SAAS,GAAmB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;;AAEjE,QAAA,MAAM,QAAQ,GAAkB,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;AACtF,QAAA,MAAM,WAAW,GAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;;AAEnF,QAAA,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;KACjD;IAEO,eAAe,CAAC,MAAW,EAAE,QAAgB,EAAA;QACpD,MAAM,IAAI,GAAS,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE;AACrC,YAAA,IAAI,EAAE,UAAU;AAChB,SAAA,CAAC,CAAC;AACH,QAAA,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,eAAe,CAAC,CAAC;KACvF;;+GAjBW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAlB,kBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFlB,MAAM,EAAA,CAAA,CAAA;2FAEN,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;MCFY,qBAAqB,CAAA;IAGjC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAF9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEA;AAE1F;;;AAGG;AACH,IAAA,yBAAyB,CAAC,mBAAwC,EAAA;QACjE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,4CAA4C,EACvF,mBAAmB,EACnB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,wBAAwB,CAAC,UAAkB,EAAA;AAC1C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,2CAA2C,EACtF,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,EAAE,CAC1D,CAAC;KACF;AAEM,IAAA,+CAA+C,CAAC,mBAAwC,EAAA;QAC9F,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,kEAAkE,EAC7G,mBAAmB,EACnB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AA/BW,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,kBAGb,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,qBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cAFrB,MAAM,EAAA,CAAA,CAAA;2FAEN,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCHrB,iBAAiB,CAAA;IAE7B,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAD9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KACA;;AAG1F,IAAA,IAAI,CAAC,WAAwB,EAAA;QAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,4BAA4B,EAC1E,WAAW,EACX,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAXW,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,kBAET,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAFrB,iBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFjB,MAAM,EAAA,CAAA,CAAA;2FAEN,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAGa,MAAM;+BAAC,aAAa,CAAA;;;;MCFrB,iCAAiC,CAAA;IAG7C,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAF9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEA;;AAG1F,IAAA,kBAAkB,CAAC,aAAqB,EAAA;AACvC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;AACxC,YAAA,+CAA+C,EAChD,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,EAAE,CAChE,CAAC;KACF;;AAGD,IAAA,aAAa,CAAC,QAAgB,EAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,0CAA0C,EACtF,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,CACnE,CAAC;KACF;;AAGD,IAAA,IAAI,CAAC,0BAAsD,EAAA;QAC1D,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,iCAAiC,EAC7E,0BAA0B,EAC1B,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;IAGD,uCAAuC,CACtC,aAAqB,EACrB,kBAA0B,EAAA;AAE1B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;AACxC,YAAA,oEAAoE,EACrE;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AACnC,iBAAA,GAAG,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,QAAQ,EAAE,CAAC;AAC1D,SAAA,CACD,CAAC;KACF;;IAGD,wCAAwC,CACvC,aAAqB,EACrB,mBAA2B,EAAA;AAE3B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;AACxC,YAAA,qEAAqE,EACtE;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AACnC,iBAAA,GAAG,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,QAAQ,EAAE,CAAC;AAC5D,SAAA,CACD,CAAC;KACF;;IAGD,uCAAuC,CACtC,UAAkB,EAClB,mBAA6B,EAAA;AAE7B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;AACxC,YAAA,oEAAoE,EACrE;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACxC,iBAAA,GAAG,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,QAAQ,EAAE,CAAC;AAC5D,SAAA,CACD,CAAC;KACF;;IAGD,qCAAqC,CACpC,UAAkB,EAClB,mBAA2B,EAAA;AAE3B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;AACxC,YAAA,kEAAkE,EACnE;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACxC,iBAAA,GAAG,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,QAAQ,EAAE,CAAC;AAC5D,SAAA,CACD,CAAC;KACF;;IAGD,wCAAwC,CACvC,aAAqB,EACrB,mBAA2B,EAAA;AAE3B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;AACxC,YAAA,qEAAqE,EACtE;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC;AAC9C,iBAAA,GAAG,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,QAAQ,EAAE,CAAC;AAC5D,SAAA,CACD,CAAC;KACF;;AA7GW,iCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iCAAiC,kBAGzB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,iCAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iCAAiC,cAFjC,MAAM,EAAA,CAAA,CAAA;2FAEN,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAH7C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCFrB,sBAAsB,CAAA;IAClC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;;IAG1F,2BAA2B,CAAC,SAAiB,EAAE,UAAkB,EAAA;AAChE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,8CAA8C,EAC/C;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;AACtC,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AAC1C,SAAA,CACD,CAAC;KACF;;AAGD,IAAA,eAAe,CAAC,UAAkB,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,kCAAkC,EAChF,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrE,CAAC;KACF;;AAGD,IAAA,IAAI,CAAC,eAAgC,EAAA;QACpC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,uBAAuB,EACrE,eAAe,EACf,WAAW,CACX,CAAC;KACF;;AAGD,IAAA,MAAM,CAAC,eAAgC,EAAA;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,yBAAyB,EACvE,eAAe,EACf,WAAW,CACX,CAAC;KACF;;AAGD,IAAA,6BAA6B,CAAC,eAAgC,EAAA;QAC7D,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,WAAW,GAAQ,EAAE,CAAC;QAC1B,IAAI,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnD,IAAI,cAAc,GAAG,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC3D,QAAA,KAAK,IAAI,MAAM,IAAI,YAAY,EAAE;AAChC,YAAA,IAAI,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YACvC,IAAI,gBAAgB,GAAG,4BAA4B,CAAC,wBAAwB,CAAC,IAAI,CAChF,UAAU,QAAQ,EAAA;AACjB,gBAAA,OAAO,QAAQ,CAAC,GAAG,KAAK,WAAW,CAAC;AACrC,aAAC,CACD,CAAC;YACF,IAAI,aAAa,GAAG,IAAI,CAAC;;AAEzB,YAAA,IAAI,gBAAgB,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AACrD,gBAAA,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;gBACvC,QAAQ,IAAI,MAAM,GAAG,WAAW,GAAG,GAAG,GAAG,aAAa,CAAC;AACvD,aAAA;YACD,WAAW,CAAC,IAAI,CAAC;AAChB,gBAAA,GAAG,EAAE,WAAW;AAChB,gBAAA,KAAK,EAAE,aAAa;gBACpB,UAAU,EAAE,gBAAgB,CAAC,UAAU;AACvC,aAAA,CAAC,CAAC;AACH,SAAA;AACD,QAAA,QAAQ,GAAG,eAAe,CAAC,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACtE,OAAO;AACN,YAAA,WAAW,EAAE,WAAW;AACxB,YAAA,eAAe,EAAE,eAAe;AAChC,YAAA,QAAQ,EAAE,QAAQ;SAClB,CAAC;KACF;AAED;;;;AAIG;AACH,IAAA,kBAAkB,CACjB,mBAAwC,EACxC,mBAA2B,EAC3B,YAAiB,EAAA;AAEjB,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE;AAC7C,YAAA,OAAO,EAAE,CAAC;AACV,SAAA;AACD,QAAA,IACC,mBAAmB;YACnB,4BAA4B,CAAC,4CAA4C,EACxE;AACD,YAAA,OAAO,YAAY,CAAC,eAAe,CAAC,uBAAuB,CAAC;AAC5D,SAAA;AAAM,aAAA,IACN,mBAAmB;YACnB,4BAA4B,CAAC,oCAAoC,EAChE;AACD,YAAA,OAAO,EAAE,CAAC;AACV,SAAA;AAAM,aAAA,IACN,mBAAmB;YACnB,4BAA4B,CAAC,0CAA0C,EACtE;AACD,YAAA,OAAO,mBAAmB,CAAC,YAAY,CAAC,QAAQ,CAAC;AACjD,SAAA;AAAM,aAAA,IACN,mBAAmB;YACnB,4BAA4B,CAAC,sCAAsC,EAClE;AACD,YAAA,OAAO,mBAAmB,CAAC,YAAY,CAAC,eAAe,CAAC;AACxD,SAAA;AAAM,aAAA,IACN,mBAAmB;YACnB,4BAA4B,CAAC,qCAAqC,EACjE;AACD,YAAA,OAAO,mBAAmB,CAAC,YAAY,CAAC,WAAW,CAAC,eAAe,CAAC;AACpE,SAAA;AAAM,aAAA,IACN,mBAAmB;YACnB,4BAA4B,CAAC,yCAAyC,EACrE;YACD,OAAO,mBAAmB,CAAC,YAAY,CAAC,WAAW,CAAC,eAAe,CAAC,cAAc,CAAC;AACnF,SAAA;AAAM,aAAA,IACN,mBAAmB;AAClB,YAAA,4BAA4B,CAAC,yCAAyC;YACvE,mBAAmB;AAClB,gBAAA,4BAA4B,CAAC,2CAA2C;YACzE,mBAAmB;AAClB,gBAAA,4BAA4B,CAAC,wCAAwC;YACtE,mBAAmB;gBAClB,4BAA4B,CAAC,yCAAyC,EACtE;AACD,YAAA,OAAO,mBAAmB,CAAC;AAC3B,SAAA;KACD;;IAGD,YAAY,CAAC,cAAsB,EAAE,eAAuB,EAAA;AAC3D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,+BAA+B,EAC7E;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC;AAChD,iBAAA,GAAG,CAAC,iBAAiB,EAAE,eAAe,CAAC,QAAQ,EAAE,CAAC;AACpD,SAAA,CACD,CAAC;KACF;;AA9IW,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,kBACd,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,sBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cAFtB,MAAM,EAAA,CAAA,CAAA;2FAEN,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCDrB,qBAAqB,CAAA;AAGjC,IAAA,WAAA,CACgC,WAAW,EAClC,UAAsB,EACtB,WAAkC,EAAA;AAFX,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAClC,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AACtB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAuB;AALnC,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAMtF;;AAGJ,IAAA,IAAI,CAAC,cAAoC,EAAA;QACxC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,iBAAiB,EAC5D,cAAc,EACd,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;IAGD,QAAQ,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,0BAA0B,CACrE,CAAC;KACF;;AAGD,IAAA,mBAAmB,CAAC,UAAkB,EAAA;AACrC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,qCAAqC,EAChF,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrE,CAAC;KACF;;AAGD,IAAA,OAAO,CAAC,EAAU,EAAA;AACjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,yBAAyB,EACpE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrD,CAAC;KACF;AAED,IAAA,kCAAkC,CAAC,UAAkB,EAAA;AACpD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;AACvC,YAAA,oDAAoD,EACrD,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrE,CAAC;KACF;;AAGD,IAAA,MAAM,CAAC,EAAE,EAAA;AACR,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,iBAAiB,EAC5D,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAC1C,CAAC;KACF;;AAvDW,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,kBAIxB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,qBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAJV,qBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cAFrB,MAAM,EAAA,CAAA,CAAA;2FAEN,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAKE,MAAM;+BAAC,aAAa,CAAA;;;;MCNV,UAAU,CAAA;IAGtB,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAFnF,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEK;;IAG/F,MAAM,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,YAAY,CAAC,CAAC;KACpF;;AAGD,IAAA,eAAe,CAAC,UAAkB,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,qBAAqB,EAChE;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACjE,SAAA,CACD,CAAC;KACF;;IAGD,2BAA2B,CAAC,UAAkB,EAAE,SAAiB,EAAA;AAChE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,iCAAiC,EAC5E;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACxC,iBAAA,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;AACxC,SAAA,CACD,CAAC;KACF;;AA9BW,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAU,kBAGF,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,UAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAU,cAFV,MAAM,EAAA,CAAA,CAAA;2FAEN,UAAU,EAAA,UAAA,EAAA,CAAA;kBAHtB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCHrB,WAAW,CAAA;IACvB,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;;IAG1F,MAAM,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,aAAa,CAAC,CAAC;KACxF;;IAGD,aAAa,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,oBAAoB,CAClE,CAAC;KACF;;IAGD,yBAAyB,GAAA;AACxB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,gCAAgC,CAC9E,CAAC;KACF;;AAGD,IAAA,oBAAoB,CAAC,OAAe,EAAA;AACnC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,2BAA2B,EACzE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE,CAC/D,CAAC;KACF;;AA5BW,WAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,kBACH,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,WAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cAFX,MAAM,EAAA,CAAA,CAAA;2FAEN,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCDrB,2BAA2B,CAAA;IACvC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;;IAG1F,MAAM,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,6BAA6B,CAC3E,CAAC;KACF;;AARW,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,kBACnB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,2BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,cAF3B,MAAM,EAAA,CAAA,CAAA;2FAEN,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAHvC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCDrB,iBAAiB,CAAA;IAC7B,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;;IAG1F,MAAM,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,mBAAmB,CACjE,CAAC;KACF;;IAGD,oBAAoB,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,iCAAiC,CAC/E,CAAC;KACF;;AAfW,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,kBACT,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,iBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFjB,MAAM,EAAA,CAAA,CAAA;2FAEN,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCArB,0BAA0B,CAAA;IAEtC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAD9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KACA;;IAG1F,yBAAyB,GAAA;AACxB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,qDAAqD,CACtD,CAAC;KACF;;IAGD,mBAAmB,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,yCAAyC,CACvF,CAAC;KACF;;AAGD,IAAA,IAAI,CAAC,mBAAwC,EAAA;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,0BAA0B,EACxE,mBAAmB,EACnB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,MAAM,CAAC,EAAE,EAAA;AACR,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,4BAA4B,EAC1E,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAC1C,CAAC;KACF;;AAlCW,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,kBAElB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAFrB,0BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cAF1B,MAAM,EAAA,CAAA,CAAA;2FAEN,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAGa,MAAM;+BAAC,aAAa,CAAA;;;;MCFrB,uCAAuC,CAAA;IACnD,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;AAEnF,IAAA,aAAa,CAAC,QAAgB,EAAA;AACpC,QAAA,IAAI,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;AAClC,QAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAG,EAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAgD,8CAAA,CAAA,EAC9F,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC,EAAE,CACrC,CAAC;KACF;AAEM,IAAA,cAAc,CAAC,EAAU,EAAA;QAC/B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,+DAA+D,EAAE,CAAA,CAAE,CACjH,CAAC;KACF;AAEM,IAAA,IAAI,CACV,gCAAkE,EAAA;QAElE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,uCAAuC,EACrF,gCAAgC,CAChC,CAAC;KACF;AAEM,IAAA,OAAO,CAAC,EAAU,EAAA;QACxB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,+CAA+C,EAAE,CAAA,CAAE,CACjG,CAAC;KACF;AAEM,IAAA,MAAM,CAAC,EAAU,EAAA;QACvB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,8CAA8C,EAAE,CAAA,CAAE,CAChG,CAAC;KACF;AAEM,IAAA,8BAA8B,CACpC,eAAmD,EAAA;QAEnD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,iEAAiE,EAC/G,eAAe,CACf,CAAC;KACF;;AA9CW,uCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uCAAuC,kBAC/B,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,uCAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uCAAuC,cAFvC,MAAM,EAAA,CAAA,CAAA;2FAEN,uCAAuC,EAAA,UAAA,EAAA,CAAA;kBAHnD,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCDrB,+BAA+B,CAAA;IAG3C,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAFnF,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEK;;AAG/F,IAAA,OAAO,CAAC,EAAU,EAAA;AACjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,4BAA4B,EAC1E;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;AACjD,SAAA,CACD,CAAC;KACF;AAED;;AAEG;AACH,IAAA,QAAQ,CAAC,GAAa,EAAA;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,8BAA8B,EAC5E,GAAG,CACH,CAAC;KACF;;AAGD,IAAA,gBAAgB,CAAC,QAAgB,EAAA;AAChC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,qCAAqC,EACnF;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC7D,SAAA,CACD,CAAC;KACF;AAED;;;;AAIG;IACH,wBAAwB,CAAC,QAAgB,EAAE,MAAc,EAAA;AACxD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,8CAA8C,EAC/C;YACC,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC;AACnF,SAAA,CACD,CAAC;KACF;AAED;;;AAGG;AACH,IAAA,wBAAwB,CAAC,QAAgB,EAAA;AACxC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,6CAA6C,EAC9C;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC7D,SAAA,CACD,CAAC;KACF;;AAGD,IAAA,IAAI,CAAC,wBAAkD,EAAA;QACtD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,yBAAyB,EACvE,wBAAwB,EACxB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED;AACmF;AACnF,IAAA,MAAM,CAAC,EAAU,EAAA;AAChB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,2BAA2B,EACzE;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;AACjD,SAAA,CACD,CAAC;KACF;;AAGD,IAAA,kCAAkC,CAAC,oBAA4B,EAAA;AAC9D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,wDAAwD,EACzD;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAC3B,sBAAsB,EACtB,oBAAoB,CAAC,QAAQ,EAAE,CAC/B;AACD,SAAA,CACD,CAAC;KACF;;AAGD,IAAA,0BAA0B,CAAC,QAAgB,EAAA;AAC1C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,+CAA+C,EAChD;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC7D,SAAA,CACD,CAAC;KACF;;AAGD,IAAA,aAAa,CAAC,SAAc,EAAA;QAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,mCAAmC,EACjF,SAAS,EACT,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;IAGD,OAAO,CAAC,mBAA+C,EAAE,UAAkB,EAAA;AAC1E,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,4BAA4B,EAC1E,EAAE,mBAAmB,EAAE,UAAU,EAAE,EACnC,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AA7HW,+BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,+BAA+B,kBAGvB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,+BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,+BAA+B,cAF/B,MAAM,EAAA,CAAA,CAAA;2FAEN,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAH3C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCHrB,sBAAsB,CAAA;IAElC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAD9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KACA;;IAGnF,aAAa,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,+BAA+B,CAC7E,CAAC;KACF;;AAGM,IAAA,IAAI,CAAC,eAAgC,EAAA;QAC3C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,sBAAsB,EACpE,eAAe,EACf,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,YAAY,CAAC,mBAAsC,EAAA;QAClD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,8BAA8B,EAC5E,mBAAmB,EACnB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGM,IAAA,MAAM,CAAC,EAAU,EAAA;AACvB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,wBAAwB,EACtE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrD,CAAC;KACF;;AAnCW,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,kBAEd,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAFrB,sBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cAFtB,MAAM,EAAA,CAAA,CAAA;2FAEN,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAGa,MAAM;+BAAC,aAAa,CAAA;;;;MCFrB,wBAAwB,CAAA;IAEpC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAD9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KACA;;AAG1F,IAAA,eAAe,CAAC,UAAkB,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,mCAAmC,EACjF,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrE,CAAC;KACF;;AAGD,IAAA,IAAI,CAAC,iBAAoC,EAAA;QACxC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,wBAAwB,EACtE,iBAAiB,EACjB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,OAAO,CAAC,EAAU,EAAA;AACjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,2BAA2B,EACzE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrD,CAAC;KACF;;IAGD,qBAAqB,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,yCAAyC,CACvF,CAAC;KACF;;IAGD,2BAA2B,GAAA;AAC1B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,+CAA+C,CAChD,CAAC;KACF;AAED,IAAA,2BAA2B,CAAC,UAAkB,EAAA;AAC7C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,+CAA+C,EAChD;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACjE,SAAA,CACD,CAAC;KACF;;IAGD,yCAAyC,CACxC,UAAkB,EAClB,iBAAyB,EAAA;AAEzB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,6DAA6D,EAC9D;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACxC,iBAAA,GAAG,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,QAAQ,EAAE,CAAC;AACxD,SAAA,CACD,CAAC;KACF;;AAGD,IAAA,uDAAuD,CACtD,UAAkB,EAClB,iBAAyB,EACzB,WAAmB,EAAA;AAEnB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,2EAA2E,EAC5E;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACxC,iBAAA,GAAG,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,QAAQ,EAAE,CAAC;AACtD,iBAAA,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC;AAC5C,SAAA,CACD,CAAC;KACF;;AAGD,IAAA,gCAAgC,CAAC,UAAkB,EAAA;AAClD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,oDAAoD,EACrD,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrE,CAAC;KACF;;AAGD,IAAA,OAAO,CAAC,iBAAsC,EAAA;QAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,2BAA2B,EACzE,iBAAiB,EACjB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAxGW,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,kBAEhB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAFrB,wBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cAFxB,MAAM,EAAA,CAAA,CAAA;2FAEN,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAGa,MAAM;+BAAC,aAAa,CAAA;;;;MCFrB,wBAAwB,CAAA;IAGpC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAF9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEA;;AAG1F,IAAA,cAAc,CAAC,SAAiB,EAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,kCAAkC,EAChF,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,CACxD,CAAC;KACF;;AAGD,IAAA,IAAI,CAAC,eAAoC,EAAA;QACxC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,wBAAwB,EACtE,eAAe,EACf,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,yBAAyB,CAAC,SAAiB,EAAA;AAC1C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;YAC1C,6CAA6C,EAC9C,EAAE,SAAS,EAAE,SAAS,EAAE,EACxB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,UAAU,CAAC,EAAE,EAAA;AACZ,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,8BAA8B,EAC5E,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAC1C,CAAC;KACF;;AAGD,IAAA,cAAc,CAAC,iBAAiB,EAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,kCAAkC,EAChF,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,EAAE,CACxE,CAAC;KACF;;AAGD,IAAA,sCAAsC,CAAC,eAAoC,EAAA;AAC1E,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,0DAA0D,EAC3D,eAAe,EACf,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAxDW,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,kBAGhB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,wBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cAFxB,MAAM,EAAA,CAAA,CAAA;2FAEN,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCHrB,qBAAqB,CAAA;IAKjC,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAJ3F,QAAA,IAAY,CAAA,YAAA,GAAG,kBAAkB,CAAC;AAE1B,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEK;;AAG/F,IAAA,OAAO,CAAC,EAAU,EAAA;QACjB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,GAAG,GAAG,GAAG,EAAE,CAAC,QAAQ,EAAE,CACrF,CAAC;KACF;;AAGD,IAAA,gBAAgB,CAAC,UAAkB,EAAA;AAClC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,IAAI,CAAC,YAAY;YACjB,eAAe;AACf,YAAA,UAAU,CACX,CAAC;KACF;;AAGD,IAAA,IAAI,CAAC,cAA8B,EAAA;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,EAC/D,cAAc,EACd,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,MAAM,CAAC,EAAU,EAAA;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,GAAG,GAAG,GAAG,EAAE,CAAC,QAAQ,EAAE,CACrF,CAAC;KACF;;AAGD,IAAA,OAAO,CAAC,cAAgC,EAAA;AACvC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,GAAG,UAAU,EAC5E,cAAc,EACd,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AA/CW,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,kBAKb,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AALrB,qBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cAFrB,MAAM,EAAA,CAAA,CAAA;2FAEN,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAMa,MAAM;+BAAC,aAAa,CAAA;;;;MCLrB,yBAAyB,CAAA;IAErC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAD9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KACA;;IAG1F,MAAM,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,2BAA2B,CACzE,CAAC;KACF;;AAGD,IAAA,iBAAiB,CAAC,SAAiB,EAAA;AAClC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,sCAAsC,EACpF,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,EAAE,CACnE,CAAC;KACF;;AAGD,IAAA,QAAQ,CAAC,GAAW,EAAA;AACnB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,6BAA6B,EAC3E,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAC5C,CAAC;KACF;;AAGD,IAAA,IAAI,CAAC,kBAAsC,EAAA;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,yBAAyB,EACvE,kBAAkB,EAClB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,OAAO,CAAC,mBAAyC,EAAA;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,4BAA4B,EAC1E,mBAAmB,EACnB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;IAGD,yBAAyB,CACxB,QAAa,EACb,UAAe,EACf,OAAY,EACZ,aAAqB,EACrB,SAAuB,EAAA;AAEvB,QAAA,IAAI,OAAO,GAAG;YACb,QAAQ;YACR,UAAU;YACV,OAAO;AACP,YAAA,MAAM,EAAE,aAAa;YACrB,SAAS;SACT,CAAC;AAEF,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,8CAA8C,EAC/C,OAAO,EACP,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;IAGD,eAAe,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,wBAAwB,CACtE,CAAC;KACF;;IAGD,0BAA0B,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,oCAAoC,CAClF,CAAC;KACF;;AAGD,IAAA,YAAY,CAAC,0BAAsD,EAAA;QAClE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,kCAAkC,EAChF,0BAA0B,EAC1B,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,4CAA4C,CAAC,WAA0B,EAAA;AACtE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,iEAAiE,EAClE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,gBAAgB,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,EAAE,CAC1E,CAAC;KACF;;AAnGW,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,kBAEjB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAFrB,yBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,cAFzB,MAAM,EAAA,CAAA,CAAA;2FAEN,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAGa,MAAM;+BAAC,aAAa,CAAA;;;;MCFrB,kCAAkC,CAAA;IAG9C,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAFnF,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEK;;AAG/F,IAAA,iBAAiB,CAAC,YAAoB,EAAA;AACrC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,+CAA+C,EAChD,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,EAAE,CACzE,CAAC;KACF;;AAGD,IAAA,0BAA0B,CAAC,UAAkB,EAAA;AAC5C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,wDAAwD,EACzD,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrE,CAAC;KACF;AAED,IAAA,IAAI,CAAC,4BAA2D,EAAA;QAC/D,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,kCAAkC,EAChF,4BAA4B,EAC5B,WAAW,CACX,CAAC;KACF;;AAGD,IAAA,+CAA+C,CAC9C,YAAY,EACZ,aAAa,EACb,QAAQ,EAAA;AAER,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,6EAA6E,EAC9E;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC;AACjC,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AACnC,iBAAA,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC;AAC3B,SAAA,CACD,CAAC;KACF;;AAGD,IAAA,cAAc,CAAC,4BAA2D,EAAA;AACzE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,4CAA4C,EAC7C,4BAA4B,EAC5B,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,UAAU,CAAC,uBAAuB,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,wCAAwC,EACtF,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,yBAAyB,EAAE,uBAAuB,CAAC,EAAE,CACpF,CAAC;KACF;;AAGD,IAAA,wCAAwC,CACvC,2BAAwD,EAAA;AAExD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,sEAAsE,EACvE,2BAA2B,EAC3B,WAAW,CACX,CAAC;KACF;;AAGD,IAAA,iCAAiC,CAChC,aAAqB,EACrB,aAAqB,EACrB,QAAiB,EAAA;AAEjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,+DAA+D,EAChE;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC;AAC9C,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC;AAC9C,iBAAA,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AACtC,SAAA,CACD,CAAC;KACF;AAED,IAAA,OAAO,CAAC,4BAA2D,EAAA;QAClE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,qCAAqC,EACnF,4BAA4B,EAC5B,WAAW,CACX,CAAC;KACF;;AAvGW,kCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kCAAkC,kBAG1B,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,kCAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kCAAkC,cAFlC,MAAM,EAAA,CAAA,CAAA;2FAEN,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAH9C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCFrB,uBAAuB,CAAA;AAGnC,IAAA,WAAA,CACgC,WAAgB,EACvC,UAAsB,EACtB,WAAkC,EAAA;AAFX,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AACvC,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AACtB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAuB;AALnC,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAMtF;;AAGJ,IAAA,OAAO,CAAC,YAAoB,EAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,0BAA0B,EACxE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,EAAE,CACzE,CAAC;KACF;;AAGD,IAAA,gBAAgB,CAAC,QAAgB,EAAA;AAChC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,mCAAmC,EACjF,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,CACnE,CAAC;KACF;;AAGD,IAAA,sBAAsB,CAAC,QAAgB,EAAA;AACtC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,yCAAyC,EACvF,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,CACnE,CAAC;KACF;AAED,IAAA,oBAAoB,CAAC,UAAkB,EAAA;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,2CAA2C,UAAU,CAAA,CAAE,CACrG,CAAC;KACF;AAED,IAAA,qBAAqB,CAAC,IAAuB,EAAA;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,yBAAyB,EACvE,IAAI,CACJ,CAAC;KACF;AAED,IAAA,IAAI,CAAC,aAA+B,EAAA;QACnC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,uBAAuB,EACrE,aAAa,EACb,WAAW,CACX,CAAC;KACF;AAED,IAAA,OAAO,CAAC,aAAiC,EAAA;QACxC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,0BAA0B,EACxE,aAAa,EACb,WAAW,CACX,CAAC;KACF;AAEA,IAAA,yBAAyB,CAAC,SAAiB,EAAA;AACzC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAC3B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,0CAA0C,EACxF,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrE,CAAC;KACD;IAED,SAAS,CAAC,YAAoB,EAAE,iBAAgC,EAAA;QAC9D,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,oCAAoC,GAAG,YAAY,EACpG,iBAAiB,EACjB,WAAW,CACT,CAAC;KACH;;AA3EU,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,kBAI1B,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,qBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAJV,uBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cAFvB,MAAM,EAAA,CAAA,CAAA;2FAEN,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAKE,MAAM;+BAAC,aAAa,CAAA;;;;MCLV,4BAA4B,CAAA;IAGxC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAF9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;AAClF,QAAA,IAAO,CAAA,OAAA,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;KAC4B;;AAG1F,IAAA,eAAe,CAAC,UAAkB,EAAA;QACjC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,uCAAuC,EAAE;AAClF,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACjE,SAAA,CAAC,CAAC;KACH;;AAGD,IAAA,sBAAsB,CAAC,UAAkB,EAAA;AACxC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,OAAO,GAAG,gDAAgD,EAC/D,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrE,CAAC;KACF;;AAGD,IAAA,IAAI,CAAC,qBAA4C,EAAA;AAChD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,OAAO,GAAG,4BAA4B,EAC3C,qBAAqB,EACrB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,MAAM,CAAC,EAAE,EAAA;QACR,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,8BAA8B,EAAE;YAC5E,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;AACtC,SAAA,CAAC,CAAC;KACH;IAED,8BAA8B,CAAC,MAAc,EAAE,MAAc,EAAA;QAC5D,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,OAAO,CAAA,oDAAA,CAAsD,EACrE;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAChC,iBAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAClC,SAAA,CACD,CAAC;KACF;AAED,IAAA,sBAAsB,CAAC,aAAqB,EAAA;QAC3C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,4CAA4C,EAAE;YACvF,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AAC5D,SAAA,CAAC,CAAC;KACH;;AAnDW,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,kBAGpB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,4BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,cAF5B,MAAM,EAAA,CAAA,CAAA;2FAEN,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAHxC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCHrB,iBAAiB,CAAA;IAE7B,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAD9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KACA;;IAG1F,4BAA4B,CAAC,UAAkB,EAAE,UAAkB,EAAA;AAClE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,yCAAyC,EACvF;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACxC,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AAC1C,SAAA,CACD,CAAC;KACF;;IAGD,8BAA8B,CAAC,UAAkB,EAAE,cAAwB,EAAA;AAC1E,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,2CAA2C,EAC5C;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACxC,iBAAA,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC;AAClD,SAAA,CACD,CAAC;KACF;IAED,8BAA8B,CAAC,WAAqB,EAAE,UAAkB,EAAA;AACvE,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE;AAC7B,aAAA,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC;aAC1C,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAA,yCAAA,CAA2C,EACzF,EAAE,MAAM,EAAE,CACV,CAAC;KACF;AAED,IAAA,eAAe,CAAC,UAAkB,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,4BAA4B,EAC1E;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACjE,SAAA,CACD,CAAC;KACF;;AAGD,IAAA,IAAI,CAAC,UAAsB,EAAA;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,iBAAiB,EAC/D,UAAU,EACV,IAAI,CAAC,UAAU,CACf,CAAC;KACF;IAED,oBAAoB,CAAC,MAAc,EAAE,MAAc,EAAA;AAClD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,iCAAiC,EAC/E;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAChC,iBAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAClC,SAAA,CACD,CAAC;KACF;;AAlEW,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,kBAET,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAFrB,iBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFjB,MAAM,EAAA,CAAA,CAAA;2FAEN,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAGa,MAAM;+BAAC,aAAa,CAAA;;;;MCFrB,0BAA0B,CAAA;IAEtC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAD9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KACA;;IAG1F,aAAa,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,mCAAmC,CACjF,CAAC;KACF;;AAGD,IAAA,IAAI,CAAC,mBAAwC,EAAA;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,0BAA0B,EACxE,mBAAmB,EACnB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,MAAM,CAAC,EAAE,EAAA;AACR,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,4BAA4B,EAC1E,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAC1C,CAAC;KACF;;AA1BW,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,kBAElB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAFrB,0BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cAF1B,MAAM,EAAA,CAAA,CAAA;2FAEN,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAGa,MAAM;+BAAC,aAAa,CAAA;;;;MCFrB,uBAAuB,CAAA;IAEnC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAD9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KACA;;AAG1F,IAAA,eAAe,CAAC,UAAkB,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,kCAAkC,EAChF,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrE,CAAC;KACF;;AAGD,IAAA,IAAI,CAAC,gBAAkC,EAAA;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,uBAAuB,EACrE,gBAAgB,EAChB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAED,IAAA,OAAO,CAAC,gBAAoC,EAAA;QAC3C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,0BAA0B,EACxE,gBAAgB,EAChB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AA3BW,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,kBAEf,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAFrB,uBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cAFvB,MAAM,EAAA,CAAA,CAAA;2FAEN,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAGa,MAAM;+BAAC,aAAa,CAAA;;;;MCFrB,kCAAkC,CAAA;IAE9C,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAD9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KACA;;AAG1F,IAAA,IAAI,CAAC,2BAAwD,EAAA;QAC5D,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,kCAAkC,EAChF,2BAA2B,EAC3B,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;IAGD,QAAQ,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,sCAAsC,CACpF,CAAC;KACF;;AAlBW,kCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kCAAkC,kBAE1B,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAFrB,kCAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kCAAkC,cAFlC,MAAM,EAAA,CAAA,CAAA;2FAEN,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAH9C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAGa,MAAM;+BAAC,aAAa,CAAA;;;;MCDrB,6BAA6B,CAAA;IAGzC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAF9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEA;;AAG1F,IAAA,OAAO,CAAC,EAAU,EAAA;AACjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,gCAAgC,EAC7E;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;AACjD,SAAA,CACD,CAAC;KACF;;AAGD,IAAA,aAAa,CAAC,QAAgB,EAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,sCAAsC,EACnF;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC7D,SAAA,CACD,CAAC;KACF;;IAGD,MAAM,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,+BAA+B,CAC5E,CAAC;KACF;;AA9BW,6BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,kBAGrB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,6BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,cAF7B,MAAM,EAAA,CAAA,CAAA;2FAEN,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAHzC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCJrB,2BAA2B,CAAA;IAEvC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAD9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KACA;;AAGnF,IAAA,eAAe,CAAC,UAAkB,EAAA;AACxC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,sCAAsC,EACpF,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrE,CAAC;KACF;;AAGM,IAAA,4BAA4B,CAAC,OAAsB,EAAA;AACzD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,mDAAmD,EACpD,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE,CAC/D,CAAC;KACF;;IAGM,2BAA2B,CACjC,YAA2B,EAC3B,UAAkB,EAAA;AAElB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,kDAAkD,EACnD;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC;AAC5C,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AAC1C,SAAA,CACD,CAAC;KACF;;AAGM,IAAA,IAAI,CAAC,oBAA0C,EAAA;QACrD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,2BAA2B,EACzE,oBAAoB,EACpB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGM,IAAA,YAAY,CAAC,wBAAgD,EAAA;QACnE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,mCAAmC,EACjF,wBAAwB,EACxB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGM,IAAA,MAAM,CAAC,EAAU,EAAA;AACvB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,6BAA6B,EAC3E,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrD,CAAC;KACF;;AAGM,IAAA,cAAc,CAAC,MAAgB,EAAA;AACrC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,qCAAqC,EACnF,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,CAC7D,CAAC;KACF;;AArEW,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,kBAEnB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAFrB,2BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,cAF3B,MAAM,EAAA,CAAA,CAAA;2FAEN,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAHvC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAGa,MAAM;+BAAC,aAAa,CAAA;;;;MCOrB,sBAAsB,CAAA;AAGlC,IAAA,WAAA,CACgC,WAAgB,EACvC,UAAsB,EACtB,WAAkC,EAAA;AAFX,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AACvC,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AACtB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAuB;AALnC,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAMtF;;AAGJ,IAAA,yBAAyB,CAAC,mBAAwC,EAAA;AACjE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;AACzC,YAAA,2DAA2D,EAC5D,mBAAmB,EACnB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,iBAAiB,CAAC,gBAAkC,EAAA;AACnD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;AACzC,YAAA,mDAAmD,EACpD,gBAAgB,EAChB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,wBAAwB,CAAC,gBAAoC,EAAA;AAC5D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;AACzC,YAAA,0DAA0D,EAC3D,gBAAgB,EAChB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,iBAAiB,CAAC,gBAAkC,EAAA;AACnD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;AACzC,YAAA,mDAAmD,EACpD,gBAAgB,EAChB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,qBAAqB,CAAC,SAAiB,EAAA;AACtC,QAAA,IAAI,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC;AACvD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;AACzC,YAAA,uDAAuD,EACxD,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE,CACzD,CAAC;KACF;IAED,QAAQ,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,+BAA+B,CAC5E,CAAC;KACF;;;;AAKD,IAAA,sBAAsB,CAAC,MAAc,EAAA;AACpC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;AACzC,YAAA,wDAAwD,EACzD,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,CAC7D,CAAC;KACF;AAED,IAAA,oBAAoB,CAAC,aAA6B,EAAA;AACjD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;AACzC,YAAA,sDAAsD,EACvD,aAAa,EACb,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,aAAa,CAAC,aAA6B,EAAA;AAC1C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;AACzC,YAAA,+CAA+C,EAChD,aAAa,EACb,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,YAAY,CAAC,EAAE,EAAA;AACd,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;AACzC,YAAA,8CAA8C,EAC/C,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAC1C,CAAC;KACF;AAED,IAAA,mBAAmB,CAAC,MAAc,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;AACzC,YAAA,qDAAqD,EACtD,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,CAC7D,CAAC;KACF;AAED,IAAA,wBAAwB,CAAC,MAAc,EAAA;AACtC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;AACzC,YAAA,0DAA0D,EAC3D,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,CAC7D,CAAC;KACF;AAED,IAAA,wBAAwB,CAAC,MAAc,EAAA;AACtC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;AACzC,YAAA,0DAA0D,EAC3D,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,CAC7D,CAAC;KACF;AAED,IAAA,eAAe,CAAC,UAAkB,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;AACzC,YAAA,iDAAiD,EAClD,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrE,CAAC;KACF;;;;AAKD,IAAA,oBAAoB,CAAC,MAAc,EAAA;AAClC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;AACzC,YAAA,sDAAsD,EACvD,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,CAC7D,CAAC;KACF;AAED,IAAA,kBAAkB,CAAC,WAAyB,EAAA;AAC3C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;AACzC,YAAA,oDAAoD,EACrD,WAAW,EACX,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,WAAW,CAAC,WAAyB,EAAA;AACpC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;AACzC,YAAA,6CAA6C,EAC9C,WAAW,EACX,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,UAAU,CAAC,EAAE,EAAA;AACZ,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;AACzC,YAAA,4CAA4C,EAC7C,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAC1C,CAAC;KACF;AAED,IAAA,iBAAiB,CAAC,MAAc,EAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;AACzC,YAAA,mDAAmD,EACpD,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,CAC7D,CAAC;KACF;AAED,IAAA,sBAAsB,CAAC,MAAc,EAAA;AACpC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;AACzC,YAAA,wDAAwD,EACzD,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,CAC7D,CAAC;KACF;AAED,IAAA,sBAAsB,CAAC,MAAc,EAAA;AACpC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;AACzC,YAAA,wDAAwD,EACzD,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,CAC7D,CAAC;KACF;AAED,IAAA,aAAa,CAAC,UAAkB,EAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;AACzC,YAAA,+CAA+C,EAChD,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrE,CAAC;KACF;AAED,IAAA,WAAW,CAAC,2BAAwD,EAAA;AACnE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;AACzC,YAAA,6CAA6C,EAC9C,2BAA2B,EAC3B,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AApNW,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,kBAIzB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,qBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAJV,sBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cAFtB,MAAM,EAAA,CAAA,CAAA;2FAEN,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAKE,MAAM;+BAAC,aAAa,CAAA;;;;MCbV,aAAa,CAAA;IAEzB,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AADnF,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KACK;;AAG/F,IAAA,gBAAgB,CAAC,QAAgB,EAAA;AAChC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,mCAAmC,EAChF;YACC,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC;AAC9C,SAAA,CACD,CAAC;KACF;;IAGD,IAAI,CAAC,GAAW,EAAE,cAAwB,EAAA;AACzC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,0BAA0B,EACvE;AACC,YAAA,GAAG,EAAE,GAAG;AACR,YAAA,cAAc,EAAE,cAAc;AAC9B,SAAA,CACD,CAAC;KACF;AAED,IAAA,YAAY,CAAC,GAAU,EAAA;QACtB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,UAAU,EAChD,GAAG,EACH,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;IAGD,6BAA6B,CAAC,OAAe,EAAE,cAAwB,EAAA;AACtE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;AACzC,YAAA,mDAAmD,EACpD;AACC,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,cAAc,EAAE,cAAc;AAC9B,SAAA,CACD,CAAC;KACF;;IAGD,0BAA0B,CAAC,aAAqB,EAAE,QAAkB,EAAA;AACnE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;AACzC,YAAA,gDAAgD,EACjD;AACC,YAAA,aAAa,EAAE,aAAa;AAC5B,YAAA,QAAQ,EAAE,QAAQ;AAClB,SAAA,CACD,CAAC;KACF;;AAvDW,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,kBAEL,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAFrB,aAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFb,MAAM,EAAA,CAAA,CAAA;2FAEN,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAGa,MAAM;+BAAC,aAAa,CAAA;;;;MCFrB,cAAc,CAAA;IAG1B,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAF9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEA;;IAG1F,MAAM,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,gBAAgB,CAAC,CAAC;KAC3F;;AAGD,IAAA,MAAM,CAAC,EAAE,EAAA;AACR,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,gBAAgB,EAC9D,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAC1C,CAAC;KACF;;AAGD,IAAA,OAAO,CAAC,EAAU,EAAA;AACjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,iBAAiB,EAC/D,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrD,CAAC;KACF;;AAGD,IAAA,UAAU,CAAC,KAAa,EAAA;AACvB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,oBAAoB,EAClE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAChD,CAAC;KACF;;AAGD,IAAA,IAAI,CAAC,IAAa,EAAA;QACjB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,cAAc,EAC5D,IAAI,EACJ,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;IAGD,8BAA8B,CAAC,SAAiB,EAAE,aAAuB,EAAA;AACxE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,wCAAwC,EACtF;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;AACtC,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC;AAChD,SAAA,CACD,CAAC;KACF;;AArDW,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,kBAGN,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,cAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cAFd,MAAM,EAAA,CAAA,CAAA;2FAEN,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCHrB,cAAc,CAAA;IAG1B,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAF9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEA;;IAG1F,MAAM,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,gBAAgB,CAAC,CAAC;KAC3F;;AAGD,IAAA,OAAO,CAAC,EAAU,EAAA;AACjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,iBAAiB,EAC/D,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrD,CAAC;KACF;;AAGD,IAAA,uBAAuB,CACtB,MAAc,EACd,SAAiB,EACjB,YAAqB,EAAA;AAErB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,iCAAiC,EAC/E;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAChC,iBAAA,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;AACtC,iBAAA,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC;AAC9C,SAAA,CACD,CAAC;KACF;;AAGD,IAAA,cAAc,CAAC,SAAiB,EAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,wBAAwB,EACtE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,EAAE,CACnE,CAAC;KACF;;IAGD,WAAW,CAAC,MAAc,EAAE,YAAqB,EAAA;AAChD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,qBAAqB,EACnE;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC;AACrB,iBAAA,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC;AAC9C,SAAA,CACD,CAAC;KACF;;AAGD,IAAA,IAAI,CAAC,OAAsB,EAAA;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,cAAc,EAC5D,OAAO,EACP,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,MAAM,CAAC,EAAE,EAAA;AACR,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,gBAAgB,EAC9D,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAC1C,CAAC;KACF;;AAtEW,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,kBAGN,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,cAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cAFd,MAAM,EAAA,CAAA,CAAA;2FAEN,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCHrB,uBAAuB,CAAA;IAGnC,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAFnF,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEK;IAE/F,4BAA4B,CAAC,QAAgB,EAAE,IAAY,EAAA;AAC1D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;YACzC,6DAA6D,EAC9D,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CACnF,CAAC;KACF;AAED,IAAA,0BAA0B,CAAC,iBAAqC,EAAA;AAC/D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;AACzC,YAAA,2DAA2D,EAC5D,iBAAiB,EACjB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,mBAAmB,CAAC,iBAAqC,EAAA;AACxD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;AACzC,YAAA,oDAAoD,EACrD,iBAAiB,EACjB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,kBAAkB,CAAC,EAAE,EAAA;AACpB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;AACzC,YAAA,mDAAmD,EACpD,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAC1C,CAAC;KACF;IAED,yBAAyB,CAAC,QAAgB,EAAE,IAAY,EAAA;AACvD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;YACzC,0DAA0D,EAC3D,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CACnF,CAAC;KACF;IAED,8BAA8B,CAAC,QAAgB,EAAE,IAAY,EAAA;AAC5D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;YACzC,+DAA+D,EAChE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CACnF,CAAC;KACF;AAED,IAAA,kCAAkC,CACjC,QAAgB,EAChB,IAAY,EACZ,QAAgB,EAAA;AAEhB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;AACzC,YAAA,mEAAmE,EACpE;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC;AACzB,iBAAA,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC5B,iBAAA,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AACtC,SAAA,CACD,CAAC;KACF;IAED,8BAA8B,CAAC,QAAgB,EAAE,IAAY,EAAA;AAC5D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;YACzC,+DAA+D,EAChE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CACnF,CAAC;KACF;AAED,IAAA,mBAAmB,CAAC,cAAsB,EAAA;AACzC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;AACzC,YAAA,oDAAoD,EACrD,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,EAAE,CAClE,CAAC;KACF;IAED,gCAAgC,CAAC,QAAgB,EAAE,IAAY,EAAA;AAC9D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;YACzC,iEAAiE,EAClE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CACnF,CAAC;KACF;IAED,qBAAqB,CAAC,UAAkB,EAAE,IAAY,EAAA;AACrD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;AACzC,YAAA,sDAAsD,EACvD;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACxC,iBAAA,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC9B,SAAA,CACD,CAAC;KACF;IAED,YAAY,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;YACzC,6CAA6C,EAC9C,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,EAAE,CAC5B,CAAC;KACF;AAED,IAAA,qBAAqB,CAAC,QAAgB,EAAE,IAAY,EAAE,IAAY,EAAA;AACjE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;AACzC,YAAA,sDAAsD,EACvD;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC;AACzB,iBAAA,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC5B,iBAAA,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC;AACnB,SAAA,CACD,CAAC;KACF;;AAhIW,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,kBAGf,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,uBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cAFvB,MAAM,EAAA,CAAA,CAAA;2FAEN,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCHrB,mBAAmB,CAAA;IAG/B,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAFnF,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEK;;AAG/F,IAAA,IAAI,CAAC,YAA4B,EAAA;QAChC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,mBAAmB,EACzD,YAAY,EACZ,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAED,IAAA,YAAY,CAAC,gBAAkC,EAAA;QAC9C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,0BAA0B,EAChE,gBAAgB,EAChB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AApBW,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,kBAGX,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,mBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFnB,MAAM,EAAA,CAAA,CAAA;2FAEN,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCkBrB,sBAAsB,CAAA;AAIlC,IAAA,WAAA,CACgC,WAAW,EAClC,YAA0B,EAC1B,YAA0B,EAC1B,iCAAoE,EAAA;AAH7C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAClC,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;AAC1B,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;AAC1B,QAAA,IAAiC,CAAA,iCAAA,GAAjC,iCAAiC,CAAmC;;QANrE,IAAA,CAAA,iBAAiB,GAAG,IAAI,eAAe,CAAS,CAAC,CAAC,CAAC;KAOvD;;IAGG,kBAAkB,GAAA;AACxB,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;KAC7C;;IAGM,aAAa,CAAC,OAAe,EAAE,KAAa,EAAA;QAClD,IAAI,OAAO,IAAI,KAAK,EAAE;YACrB,MAAM,UAAU,GAAG,CAAC,OAAO,GAAG,KAAK,IAAI,GAAG,CAAC;AAC3C,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACxC,SAAA;AAAM,aAAA;YACN,IAAI,CAAC,eAAe,EAAE,CAAC;AACvB,SAAA;KACD;;IAGM,eAAe,GAAA;AACrB,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAC/B;AAED;;;;;;AAMG;AACH,IAAA,kBAAkB,CAAC,WAAwB,EAAA;AAC1C,QAAA,IAAI,KAAK,GAAU,IAAI,KAAK,EAAE,CAAC;AAC/B,QAAA,KAAK,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;;QAE7C,KAAK,CAAC,UAAU,CAAC,qBAAqB,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;QACzD,KAAK,CAAC,OAAO,CAAC,kDAAkD,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;QACnF,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACrC;;AAGD,IAAA,SAAS,CAAC,WAAwB,EAAA;AACjC,QAAA,IAAI,KAAK,GAAU,IAAI,KAAK,EAAE,CAAC;AAC/B,QAAA,KAAK,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;;QAE7C,KAAK,CAAC,UAAU,CAAC,qBAAqB,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;QACzD,KAAK,CAAC,OAAO,CAAC,gDAAgD,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;QACjF,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACrC;;AAGD,IAAA,eAAe,CACd,aAAqB,EACrB,UAAkB,EAClB,2BAAwD,EACxD,WAAoB,EAAA;AAEpB,QAAA,IAAI,kBAAkB,GAA+B,IAAI,0BAA0B,EAAE,CAAC;AACtF,QAAA,kBAAkB,CAAC,aAAa,GAAG,aAAa,CAAC;AACjD,QAAA,kBAAkB,CAAC,UAAU,GAAG,UAAU,CAAC;QAE3C,IACC,2BAA2B,CAAC,iBAAiB;YAC7C,2BAA2B,CAAC,iBAAiB,CAAC,EAAE;AAEhD,YAAA,kBAAkB,CAAC,mBAAmB;AACrC,gBAAA,2BAA2B,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACnD,IACC,2BAA2B,CAAC,gBAAgB;YAC5C,2BAA2B,CAAC,gBAAgB,CAAC,EAAE;YAE/C,kBAAkB,CAAC,kBAAkB,GAAG,2BAA2B,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACzF,IAAI,2BAA2B,CAAC,EAAE;AACjC,YAAA,kBAAkB,CAAC,6BAA6B,GAAG,2BAA2B,CAAC,EAAE,CAAC;AAEnF,QAAA,kBAAkB,CAAC,mBAAmB,GAAG,sBAAsB,CAAC,gBAAgB,CAAC;AACjF,QAAA,kBAAkB,CAAC,SAAS,GAAG,kBAAkB,CAAC,aAAa,EAAE;AAChE,cAAE,kBAAkB,CAAC,aAAa,EAAE,CAAC,SAAS;cAC5C,IAAI,CAAC;AACR,QAAA,kBAAkB,CAAC,QAAQ,GAAG,IAAI,CAAC;AACnC,QAAA,kBAAkB,CAAC,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,oBAAoB,CAAC;QAClF,OAAO,IAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;KACvE;AAED,IAAA,0BAA0B,CACzB,kBAA8C,EAC9C,OAAY,EACZ,MAAW,EAAA;AAEX,QAAA,IAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,SAAS,CACxE,CAAC,MAAkC,KAAI;YACtC,OAAO,CAAC,MAAM,CAAC,CAAC;AACjB,SAAC,EACD,CAAC,KAAK,KAAI;AACT,YAAA,OAAO,CAAC,KAAK,CACZ,mEAAmE,EACnE,KAAK,CACL,CAAC;YACF,MAAM,CAAC,KAAK,CAAC,CAAC;AACf,SAAC,CACD,CAAC;KACF;AAED;;;;;;;;;;AAUG;IACI,QAAQ,CACd,eAA+B,EAC/B,eAA8B,EAC9B,QAAe,EACf,YAAmB,EACnB,iBAAwB,EACxB,UAAwB,EACxB,yBAAkD,EAClD,YAAwB,EACxB,QAAa,EACb,oBAA6B,EAC7B,wBAAkC,EAAA;QAElC,IAAI,mBAAmB,GAA2B,EAAE,CAAC;;;AAGrD,QAAA,IAAI,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;;AAElD,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;;AAEhD,gBAAA,MAAM,WAAW,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;;AAEvC,gBAAA,IAAI,eAAe,GAAoB,IAAI,eAAe,EAAE,CAAC;;AAE7D,gBAAA,eAAe,CAAC,aAAa,GAAG,WAAW,CAAC,EAAE,CAAC;gBAE/C,IAAI,aAAa,GAAQ,EAAE,CAAC;AAC5B,gBAAA,IACC,eAAe;AACf,oBAAA,eAAe,CAAC,MAAM;AACtB,oBAAA,WAAW,CAAC,OAAO;oBACnB,QAAQ;AACR,oBAAA,QAAQ,CAAC,MAAM;;oBAGf,KAAK,MAAM,MAAM,IAAI,eAAe;AACnC,wBAAA,IAAI,MAAM,CAAC,EAAE,IAAI,WAAW,CAAC,OAAO,EAAE;4BACrC,aAAa,GAAG,MAAM,CAAC;4BACvB,MAAM;AACN,yBAAA;;gBAGH,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;;AAE7E,gBAAA,eAAe,CAAC,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAC5D,iBAAiB,EACjB,YAAY,EACZ,eAAe,CAAC,aAAa,CAC7B,CAAC;;gBAGF,IAAI,CAAC,wBAAwB,EAAE;AAC9B,oBAAA,eAAe,CAAC,mBAAmB,GAAG,IAAI,CAAC,kBAAkB,CAC5D,iBAAiB,EACjB,UAAU,EACV,eAAe,CAAC,aAAa,EAC7B,aAAa,CACb,CAAC;AACF,iBAAA;AAAM,qBAAA;AACN,oBAAA,eAAe,CAAC,mBAAmB,GAAG,IAAI,CAAC,4BAA4B,CACtE,iBAAiB,EACjB,UAAU,EACV,eAAe,CAAC,aAAa,EAC7B,aAAa,CACb,CAAC;AACF,iBAAA;;AAGD,gBAAA,eAAe,CAAC,qBAAqB,GAAG,IAAI,CAAC,oBAAoB,CAChE,aAAa,EACb,yBAAyB,EACzB,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,oBAAoB,CACpB,CAAC;;AAGF,gBAAA,eAAe,CAAC,UAAU;AACzB,oBAAA,CAAC,eAAe,CAAC,qBAAqB,CAAC,MAAM;AAC7C,wBAAA,CAAC,eAAe,CAAC,mBAAmB,CAAC,MAAM;AAC3C,wBAAA,CAAC,eAAe,CAAC,iBAAiB,CAAC,MAAM,CAAC;;AAE3C,gBAAA,mBAAmB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;;AAE1C,gBAAA,IAAI,QAAQ;oBAAE,QAAQ,CAAC,eAAe,EAAE,WAAW,EAAE,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;AAChF,aAAA;AACD,SAAA;AACD,QAAA,OAAO,mBAAmB,CAAC;KAC3B;;IAGD,oBAAoB,CAAC,aAA2B,EAAE,QAAe,EAAA;QAChE,IAAI,iBAAiB,GAAU,EAAE,CAAC;AAClC,QAAA,IAAI,2BAA2B,GAC9B,aAAa,CAAC,2BAA2B,CAAC;AAC3C,QAAA,IAAI,2BAA2B,IAAI,2BAA2B,CAAC,MAAM;;YAEpE,KAAK,MAAM,IAAI,IAAI,QAAQ;gBAC1B,KAAK,MAAM,OAAO,IAAI,2BAA2B;AAChD,oBAAA,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE,EAAE;AAC9B,wBAAA,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC7B,MAAM;AACN,qBAAA;AACJ,QAAA,OAAO,iBAAiB,CAAC;KACzB;;IAGD,oBAAoB,CACnB,aAAkB,EAClB,yBAAyB,EACzB,YAAY,EACZ,WAAwB,EACxB,YAAY,EACZ,oBAA6B,EAAA;QAE7B,IAAI,qBAAqB,GAAG,EAAE,CAAC;AAC/B,QAAA,IAAI,yBAAyB,EAAE;;YAE9B,IAAI,gCAAgC,GAAG,EAAE,CAAC;;YAG1C,IAAI,uBAAuB,GAAY,KAAK,CAAC;AAC7C,YAAA,IAAI,2BAA2B,GAC9B,aAAa,CAAC,2BAA2B,CAAC;AAC3C,YAAA,IAAI,2BAA2B,IAAI,2BAA2B,CAAC,MAAM;gBACpE,KAAK,MAAM,OAAO,IAAI,2BAA2B;oBAChD,IAAI,OAAO,CAAC,iBAAiB;AAC5B,wBAAA,QAAQ,OAAO,CAAC,iBAAiB,CAAC,QAAQ;4BACzC,KAAK,YAAY,EAAE;gCAClB,uBAAuB,GAAG,IAAI,CAAC;gCAC/B,MAAM;AACN,6BAAA;AACD,yBAAA;AACJ,YAAA,IAAI,CAAC,uBAAuB;AAAE,gBAAA,OAAO,qBAAqB,CAAC;;AAG3D,YAAA,IAAI,yBAAyB,EAAE;AAC9B,gBAAA,KAAK,MAAM,qBAAqB,IAAI,yBAAyB,EAAE;oBAC9D,IAAI,OAAO,GAAY,IAAI,CAAC;oBAC5B,IAAI,qBAAqB,CAAC,OAAO,IAAI,qBAAqB,CAAC,OAAO,CAAC,MAAM,EAAE;wBAC1E,IAAI,OAAO,GAAG,EAAE,CAAC;wBACjB,IAAI;4BACH,IAAI,IAAI,GAAG,EAAE,UAAU,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC;AACjD,4BAAA,IAAI,YAAY;gCACf,KAAK,MAAM,QAAQ,IAAI,YAAY;AAClC,oCAAA,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,IAAI;AACnC,wCAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC1D,4BAAA,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,2BAA2B,CACtD,qBAAqB,CAAC,IAAI,EAC1B,qBAAqB,CAAC,OAAO,EAC7B,IAAI,CACJ,CAAC;AACF,4BAAA,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;4BAC3B,IAAI,MAAM,KAAK,IAAI,EAAE;gCACpB,OAAO,GAAG,KAAK,CAAC;AAChB,6BAAA;AACD,yBAAA;AAAC,wBAAA,OAAO,KAAK,EAAE;4BACf,OAAO,GAAG,KAAK,CAAC;AAChB,yBAAA;AACD,qBAAA;AACD,oBAAA,IAAI,OAAO,EAAE;AACZ,wBAAA,gCAAgC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;AAC7D,qBAAA;AACD,iBAAA;AACD,aAAA;;AAGD,YAAA,IAAI,gCAAgC,EAAE;AACrC,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gCAAgC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACjE,oBAAA,IAAI,qBAAqB,GAAG,gCAAgC,CAAC,CAAC,CAAC,CAAC;AAChE,oBAAA,IAAI,QAAQ,GAAa,IAAI,CAAC,4BAA4B,CACzD,qBAAqB,CAAC,EAAE,EACxB,YAAY,EACZ,WAAW,CAAC,EAAE,CACd,CAAC;AACF,oBAAA,IAAI,oBAAoB,EAAE;wBACzB,IACC,CAAC,CAAC,QAAQ;6BACR,QAAQ,IAAI,QAAQ,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC;4BAC9C,IAAI,CAAC,2BAA2B,CAC/B,qBAAqB,EACrB,YAAY,EACZ,QAAQ,CACR;4BACF,qBAAqB,CAAC,QAAQ,EAC7B;4BACD,IAAI,CAAC,+BAA+B,CACnC,qBAAqB,EACrB,WAAW,EACX,qBAAqB,CACrB,CAAC;AACF,yBAAA;AACD,qBAAA;AAAM,yBAAA;AACN,wBAAA,IAAI,QAAQ,EAAE;AACb,4BAAA,IAAI,QAAQ,CAAC,KAAK,IAAI,cAAc,CAAC,SAAS,EAAE;AAC/C,gCAAA,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrC,6BAAA;AACD,yBAAA;AAAM,6BAAA;4BACN,IAAI,CAAC,+BAA+B,CACnC,qBAAqB,EACrB,WAAW,EACX,qBAAqB,CACrB,CAAC;AACF,yBAAA;AACD,qBAAA;AACD,iBAAA;AACD,aAAA;AACD,SAAA;AACD,QAAA,OAAO,qBAAqB,CAAC;KAC7B;AAEO,IAAA,+BAA+B,CACtC,qBAAqB,EACrB,WAAW,EACX,qBAAqB,EAAA;AAErB,QAAA,IAAI,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;AAC9B,QAAA,QAAQ,CAAC,aAAa,GAAG,WAAW,CAAC,EAAE,CAAC;AACxC,QAAA,QAAQ,CAAC,UAAU,GAAG,qBAAqB,CAAC,UAAU,CAAC;AACvD,QAAA,QAAQ,CAAC,KAAK,GAAG,cAAc,CAAC,SAAS,CAAC;AAC1C,QAAA,QAAQ,CAAC,uBAAuB,GAAG,qBAAqB,CAAC,EAAE,CAAC;AAC5D,QAAA,QAAQ,CAAC,WAAW,GAAG,EAAE,CAAC;AAC1B,QAAA,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACrC;;AAGO,IAAA,4BAA4B,CACnC,uBAA+B,EAC/B,IAAqB,EACrB,aAAqB,EAAA;AAErB,QAAA,IAAI,IAAI;YACP,KAAK,MAAM,QAAQ,IAAI,IAAI;AAC1B,gBAAA,IACC,QAAQ,CAAC,uBAAuB,KAAK,uBAAuB;oBAC5D,QAAQ,CAAC,aAAa,KAAK,aAAa;AAExC,oBAAA,OAAO,QAAQ,CAAC;AAEnB,QAAA,OAAO,IAAI,CAAC;KACZ;;AAGO,IAAA,6BAA6B,CACpC,aAAkB,EAClB,UAAe,EACf,UAAwB,EACxB,aAAa,EAAA;AAEb,QAAA,IAAI,UAAU;YACb,KAAK,MAAM,MAAM,IAAI,UAAU;AAC9B,gBAAA,IACC,MAAM,CAAC,GAAG,IAAI,UAAU;AACxB,oBAAA,aAAa,CAAC,UAAU,IAAI,MAAM,CAAC,aAAa;AAChD,oBAAA,MAAM,CAAC,aAAa,IAAI,aAAa,EACpC;oBACD,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;AAC9D,iBAAA;QAEH,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;KAC5D;;AAGO,IAAA,cAAc,CAAC,MAAW,EAAE,aAAkB,EAAE,IAAS,EAAA;AAChE,QAAA,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW;;YAE5D,OAAO;AACN,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,aAAa,EAAE,aAAa;gBAC5B,KAAK,EAAE,YAAY,CAAC,SAAS;aAC7B,CAAC;AACE,aAAA,IACJ,CAAC,IAAI,KAAK,gBAAgB,CAAC,SAAS,IAAI,IAAI,KAAK,gBAAgB,CAAC,KAAK;AACvE,YAAA,MAAM,CAAC,OAAO,CAAC,WAAW,GAAG,aAAa,CAAC,cAAc;;YAGzD,OAAO;AACN,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,aAAa,EAAE,aAAa;gBAC5B,KAAK,EAAE,YAAY,CAAC,uBAAuB;aAC3C,CAAC;AACE,aAAA,IACJ,IAAI,KAAK,gBAAgB,CAAC,SAAS;aAClC,CAAC,MAAM,CAAC,cAAc,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;;YAGhD,OAAO;AACN,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,aAAa,EAAE,aAAa;gBAC5B,KAAK,EAAE,YAAY,CAAC,eAAe;aACnC,CAAC;AACH,QAAA,OAAO,IAAI,CAAC;KACZ;AAEO,IAAA,wBAAwB,CAAC,aAAkB,EAAE,IAAS,EAAE,MAAW,EAAA;AAC1E,QAAA,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE;;YAE9D,OAAO;AACN,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,aAAa,EAAE,aAAa;gBAC5B,KAAK,EAAE,YAAY,CAAC,SAAS;aAC7B,CAAC;AACF,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;KACZ;AAED,IAAA,sBAAsB,CAAC,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAA;QAClE,OAAO,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;KAC7E;;AAGO,IAAA,kBAAkB,CACzB,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,aAAc,EAAA;QAEd,IAAI,mBAAmB,GAAU,EAAE,CAAC;AACpC,QAAA,IAAI,iBAAiB,EAAE;YACtB,IAAI,yBAAyB,GAAY,KAAK,CAAC;YAC/C,IAAI,6BAA6B,GAAY,KAAK,CAAC;AACnD,YAAA,IAAI,aAAa,EAAE;AAClB,gBAAA,IAAI,2BAA2B,GAC9B,aAAa,CAAC,2BAA2B,CAAC;AAC3C,gBAAA,IAAI,2BAA2B,IAAI,2BAA2B,CAAC,MAAM;oBACpE,KAAK,MAAM,OAAO,IAAI,2BAA2B;wBAChD,IAAI,OAAO,CAAC,iBAAiB;AAC5B,4BAAA,QAAQ,OAAO,CAAC,iBAAiB,CAAC,QAAQ;gCACzC,KAAK,mBAAmB,EAAE;oCACzB,yBAAyB,GAAG,IAAI,CAAC;oCACjC,MAAM;AACN,iCAAA;gCACD,KAAK,0BAA0B,EAAE;oCAChC,6BAA6B,GAAG,IAAI,CAAC;oCACrC,MAAM;AACN,iCAAA;AACD,6BAAA;AACJ,aAAA;AAAM,iBAAA;gBACN,yBAAyB,GAAG,IAAI,CAAC;gBACjC,6BAA6B,GAAG,IAAI,CAAC;AACrC,aAAA;;AAGD,YAAA,KAAK,MAAM,aAAa,IAAI,iBAAiB,EAAE;;gBAE9C,IAAI,aAAa,CAAC,kBAAkB,CAAC,WAAW,IAAI,gBAAgB,CAAC,OAAO;oBAC3E,SAAS;;AAEV,gBAAA,MAAM,eAAe,GAAG,IAAI,CAAC,6BAA6B,CACzD,aAAa,EACb,gBAAgB,CAAC,KAAK,EACtB,UAAU,EACV,aAAa,CACb,CAAC;gBACF,IAAI,eAAe,IAAI,yBAAyB;AAC/C,oBAAA,mBAAmB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;;gBAE3C,IAAI,aAAa,CAAC,mBAAmB,EAAE;AACtC,oBAAA,MAAM,mBAAmB,GAAG,IAAI,CAAC,6BAA6B,CAC7D,aAAa,EACb,gBAAgB,CAAC,SAAS,EAC1B,UAAU,EACV,aAAa,CACb,CAAC;oBACF,IAAI,mBAAmB,IAAI,6BAA6B;AACvD,wBAAA,mBAAmB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAC/C,iBAAA;AACD,aAAA;AACD,SAAA;AACD,QAAA,OAAO,mBAAmB,CAAC;KAC3B;;AAGO,IAAA,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAA;QACjE,IAAI,iBAAiB,GAAU,EAAE,CAAC;AAClC,QAAA,IAAI,QAAQ,EAAE;;AAEb,YAAA,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;;AAE5B,gBAAA,MAAM,MAAM,GAAG,IAAI,CAAC,iCAAiC,CACpD,YAAY,EACZ,IAAI,CAAC,EAAE,EACP,aAAa,CACb,CAAC;AAEF,gBAAA,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE;oBAC5B,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;;oBAG7D,IAAI,cAAc,GAAG,EAAE,CAAC;AACxB,oBAAA,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;AAC3B,wBAAA,IAAI,KAAK,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,UAAU,EAAE;AAClE,4BAAA,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;gCACnC,IAAI,SAAS,CAAC,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;AACzC,oCAAA,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oCAC/B,MAAM;AACN,iCAAA;AACD,6BAAA;AACD,yBAAA;AACD,qBAAA;AAED,oBAAA,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,EAAE;;wBAE5C,MAAM,MAAM,GAAG,UAAU,CAAC,6BAA6B,CAAC,cAAc,CAAC,CAAC;;wBAExE,iBAAiB,CAAC,IAAI,CAAC;4BACtB,EAAE,EAAE,IAAI,CAAC,EAAE;4BACX,IAAI,EAAE,IAAI,CAAC,KAAK;AAChB,4BAAA,MAAM,EAAE,MAAM;AACd,4BAAA,MAAM,EAAE,KAAK;AACb,yBAAA,CAAC,CAAC;AACH,qBAAA;AACD,iBAAA;AAAM,qBAAA;;;AAGN,oBAAA,MAAM,IAAI,GAAG,IAAI,CAAC,+BAA+B,CAChD,YAAY,EACZ,IAAI,CAAC,EAAE,EACP,aAAa,CACb,CAAC;;AAEF,oBAAA,MAAM,UAAU,GAAG,UAAU,CAAC,2BAA2B,CACxD,IAAI,CAAC,UAAU,EACf,IAAI,CACJ,CAAC;AACF,oBAAA,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE;;wBAEpC,MAAM,MAAM,GAAG,UAAU,CAAC,6BAA6B,CAAC,UAAU,CAAC,CAAC;;wBAEpE,iBAAiB,CAAC,IAAI,CAAC;4BACtB,EAAE,EAAE,IAAI,CAAC,EAAE;4BACX,IAAI,EAAE,IAAI,CAAC,KAAK;AAChB,4BAAA,MAAM,EAAE,MAAM;AACd,4BAAA,MAAM,EAAE,KAAK;AACb,yBAAA,CAAC,CAAC;AACH,qBAAA;AACD,iBAAA;AACD,aAAA;AACD,SAAA;AACD,QAAA,OAAO,iBAAiB,CAAC;KACzB;;AAGO,IAAA,iCAAiC,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,EAAA;AAC5E,QAAA,IAAI,YAAY,IAAI,MAAM,IAAI,aAAa;YAC1C,KAAK,MAAM,IAAI,IAAI,YAAY;gBAC9B,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,IAAI,CAAC,aAAa,IAAI,aAAa;oBAC/D,OAAO,IAAI,CAAC,MAAM,CAAC;AACtB,QAAA,OAAO,IAAI,CAAC;KACZ;;AAGO,IAAA,+BAA+B,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,EAAA;AAC1E,QAAA,IAAI,YAAY,IAAI,MAAM,IAAI,aAAa;YAC1C,KAAK,MAAM,IAAI,IAAI,YAAY;gBAC9B,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,IAAI,CAAC,aAAa,IAAI,aAAa;oBAAE,OAAO,IAAI,CAAC,IAAI,CAAC;AACrF,QAAA,OAAO,IAAI,CAAC;KACZ;AAED,IAAA,4BAA4B,CAC3B,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,aAAa,EAAA;QAEb,IAAI,mBAAmB,GAAU,EAAE,CAAC;AACpC,QAAA,IAAI,iBAAiB,EAAE;YACtB,IAAI,yBAAyB,GAAY,KAAK,CAAC;AAC/C,YAAA,IAAI,aAAa,EAAE;AAClB,gBAAA,IAAI,2BAA2B,GAC9B,aAAa,CAAC,2BAA2B,CAAC;AAC3C,gBAAA,IAAI,2BAA2B,IAAI,2BAA2B,CAAC,MAAM;oBACpE,KAAK,MAAM,OAAO,IAAI,2BAA2B;wBAChD,IAAI,OAAO,CAAC,iBAAiB;AAC5B,4BAAA,QAAQ,OAAO,CAAC,iBAAiB,CAAC,QAAQ;AACzC,gCAAA,KAAK,eAAe,CAAC,mBAAmB,EAAE;oCACzC,yBAAyB,GAAG,IAAI,CAAC;oCACjC,MAAM;AACN,iCAAA;AACD,6BAAA;AACJ,aAAA;AAAM,iBAAA;gBACN,yBAAyB,GAAG,IAAI,CAAC;AACjC,aAAA;YACD,MAAM,eAAe,GAAG,IAAI,CAAC,wBAAwB,CACpD,iBAAiB,CAAC,CAAC,CAAC,EACpB,gBAAgB,CAAC,KAAK,EACtB,UAAU,CAAC,CAAC,CAAC,CACb,CAAC;YACF,IAAI,eAAe,IAAI,yBAAyB;AAC/C,gBAAA,mBAAmB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AAC3C,SAAA;AACD,QAAA,OAAO,mBAAmB,CAAC;KAC3B;AAED,IAAA,2BAA2B,CAC1B,cAAqC,EACrC,YAAmB,EACnB,QAAkB,EAAA;QAElB,IACC,cAAc,CAAC,uBAAuB;AACtC,YAAA,cAAc,CAAC,uBAAuB,CAAC,MAAM,GAAG,CAAC,EAChD;AACD,YAAA,IAAI,IAAI,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;AAC9B,YAAA,IAAI,YAAY;gBACf,KAAK,MAAM,QAAQ,IAAI,YAAY;AAClC,oBAAA,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,IAAI;AACnC,wBAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC1D,YAAA,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,2BAA2B,CAC1D,cAAc,CAAC,IAAI,EACnB,cAAc,CAAC,uBAAuB,EACtC,IAAI,CACJ,CAAC;AACF,YAAA,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;AAC3B,YAAA,IAAI,MAAM,EAAE;gBACX,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAErC,gBAAA,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;;AAE1C,oBAAA,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,WAAW,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM,EAAE;AACpE,wBAAA,OAAO,IAAI,CAAC;AACZ,qBAAA;AACD,iBAAA;AACD,aAAA;AACD,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KACb;;AA7oBW,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,kBAKzB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAAqD,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,iCAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AALV,sBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cAFtB,MAAM,EAAA,CAAA,CAAA;2FAEN,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAME,MAAM;+BAAC,aAAa,CAAA;;;;MC1BV,iBAAiB,CAAA;IAE7B,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAD9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KACA;;AAG1F,IAAA,eAAe,CAAC,UAAkB,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,4BAA4B,EAC1E,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrE,CAAC;KACF;;AAGD,IAAA,IAAI,CAAC,UAAsB,EAAA;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,iBAAiB,EAC/D,UAAU,EACV,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAnBW,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,kBAET,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAFrB,iBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFjB,MAAM,EAAA,CAAA,CAAA;2FAEN,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAGa,MAAM;+BAAC,aAAa,CAAA;;;;MCFrB,aAAa,CAAA;IAEzB,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAD9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KACA;;AAG1F,IAAA,UAAU,CAAC,KAAa,EAAA;AACvB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,mBAAmB,EACjE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAChD,CAAC;KACF;AAED,IAAA,eAAe,CAAC,KAAa,EAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,wBAAwB,EACtE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAChD,CAAC;KACF;AAED,IAAA,iBAAiB,CAAC,KAAa,EAAA;AAC9B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,0BAA0B,EACxE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAChD,CAAC;KACF;AAED;;;;AAIG;AACH,IAAA,aAAa,CAAC,KAAa,EAAA;AAC1B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAmB,iBAAA,CAAA,EACjE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAChD,CAAC;KACF;AAED;;;AAGG;IACH,gBAAgB,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAA,qBAAA,CAAuB,CACrE,CAAC;KACF;;AA9CW,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,kBAEL,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAFrB,aAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFb,MAAM,EAAA,CAAA,CAAA;2FAEN,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAGa,MAAM;+BAAC,aAAa,CAAA;;;;MCDrB,wBAAwB,CAAA;AAGpC,IAAA,WAAA,CACgC,WAAW,EAClC,UAAsB,EACtB,WAAkC,EAAA;AAFX,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAClC,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AACtB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAuB;AALnC,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;AAQlF,QAAA,IAAA,CAAA,gCAAgC,GAAG,IAAI,OAAO,EAAW,CAAC;KAF9D;;AAKJ,IAAA,mBAAmB,CAAC,EAAU,EAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,oCAAoC,EAClF,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,CAC7D,CAAC;KACF;;AAGD,IAAA,OAAO,CAAC,EAAU,EAAA;AACjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,4BAA4B,EAC1E,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrD,CAAC;KACF;;AAGD,IAAA,MAAM,CAAC,EAAE,EAAA;AACR,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,2BAA2B,EACzE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAC1C,CAAC;KACF;;AAGD,IAAA,IAAI,CAAC,iBAAoC,EAAA;QACxC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,yBAAyB,EACvE,iBAAiB,EACjB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AACD;;;;;AAKG;AACH,IAAA,4BAA4B,CAAC,UAAkB,EAAE,MAAc,EAAE,EAAU,EAAA;AAC1E,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,iDAAiD,EAClD;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACxC,iBAAA,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;AACxB,iBAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC;AACvB,SAAA,CACD,CAAC;KACF;IAED,mCAAmC,GAAA;AAClC,QAAA,OAAO,IAAI,CAAC,gCAAgC,CAAC,YAAY,EAAE,CAAC;KAC5D;IAED,mCAAmC,CAAC,sCAA+C,KAAK,EAAA;AACvF,QAAA,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;KAChF;;AAGD,IAAA,OAAO,CAAC,iBAAsC,EAAA;QAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,4BAA4B,EAC1E,iBAAiB,EACjB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AA7EW,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,kBAI3B,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAvD,qBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAJV,wBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cAFxB,MAAM,EAAA,CAAA,CAAA;2FAEN,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAKE,MAAM;+BAAC,aAAa,CAAA;;;;MCNV,WAAW,CAAA;IACvB,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;;AAG1F,IAAA,MAAM,CAAC,YAAqB,EAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,uBAAuB,EAAE;AACxF,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC;AACrE,SAAA,CAAC,CAAC;KACH;;AARW,WAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,kBACH,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,WAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cAFX,MAAM,EAAA,CAAA,CAAA;2FAEN,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCArB,mBAAmB,CAAA;IAE/B,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAD9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KACA;;IAG1F,eAAe,CAAC,QAAgB,EAAE,QAAgB,EAAA;AACjD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,8BAA8B,EAC5E;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AACpC,iBAAA,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AACtC,SAAA,CACD,CAAC;KACF;;AAdW,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,kBAEX,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAFrB,mBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFnB,MAAM,EAAA,CAAA,CAAA;2FAEN,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAGa,MAAM;+BAAC,aAAa,CAAA;;;;MCFrB,uBAAuB,CAAA;IAkBnC,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAjBlF,QAAA,IAAM,CAAA,MAAA,GAAG,oBAAoB,CAAC;AAC9B,QAAA,IAAa,CAAA,aAAA,GAAG,SAAS,CAAC;QAC1B,IAAA,CAAA,IAAI,GAAG;AACf,YAAA,gBAAgB,EAAE,IAAI,CAAC,MAAM,GAAG,kBAAkB;AAClD,YAAA,mBAAmB,EAAE,IAAI,CAAC,MAAM,GAAG,kBAAkB;AACrD,YAAA,IAAI,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM;AAC1B,YAAA,OAAO,EAAE,IAAI,CAAC,MAAM,GAAG,UAAU;AACjC,YAAA,QAAQ,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM;AAC9B,YAAA,kBAAkB,EAAE,IAAI,CAAC,MAAM,GAAG,mBAAmB;AACrD,YAAA,6BAA6B,EAAE,IAAI,CAAC,aAAa,GAAG,+BAA+B;SACnF,CAAC;QACO,IAAA,CAAA,UAAU,GAAG;YACrB,OAAO,EAAE,IAAI,WAAW,CAAC;AACxB,gBAAA,cAAc,EAAE,kBAAkB;aAClC,CAAC;SACF,CAAC;KAE6F;AAE/F,IAAA,eAAe,CAAC,UAAkB,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EACtE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrE,CAAC;KACF;AAED,IAAA,kBAAkB,CAAC,aAAqB,EAAA;AACvC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EACzE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,EAAE,CAChE,CAAC;KACF;AAED,IAAA,OAAO,CAAC,EAAU,EAAA;QACjB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC1F,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;AACtC,SAAA,CAAC,CAAC;KACH;AAED,IAAA,iBAAiB,CAAC,cAAwB,EAAA;AACzC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EACxE,cAAc,EACd,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,IAAI,CAAC,gBAAkC,EAAA;AACtC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAC1D,gBAAgB,EAChB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,OAAO,CAAC,iBAAqC,EAAA;AAC5C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAC7D,iBAAiB,EACjB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,6BAA6B,CAC5B,iBAAkD,EAAA;AAElD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,6BAA6B,EACnF,iBAAiB,EACjB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAxEW,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,kBAkBf,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAlBrB,uBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cAFvB,MAAM,EAAA,CAAA,CAAA;2FAEN,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAmBa,MAAM;+BAAC,aAAa,CAAA;;;;MClBrB,yBAAyB,CAAA;IACrC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;IAE1F,GAAG,GAAA;AACF,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAA,sBAAA,CAAwB,CACtE,CAAC;KACF;AAED,IAAA,8BAA8B,CAAC,OAAe,EAAA;AAC7C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,mDAAmD,EACpD;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;AACxD,SAAA,CACD,CAAC;KACF;AAED,IAAA,IAAI,CAAC,kBAAsC,EAAA;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,yBAAyB,EACvE,kBAAkB,CAClB,CAAC;KACF;;AAxBW,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,kBACjB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,yBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,cAFzB,MAAM,EAAA,CAAA,CAAA;2FAEN,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCDrB,gBAAgB,CAAA;IAK5B,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAJnF,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;AAElF,QAAA,IAAA,CAAA,2BAA2B,GAAG,IAAI,OAAO,EAAW,CAAC;KAEkC;IAE/F,2BAA2B,CAAC,WAAwB,EAAE,QAAkB,EAAA;QACvE,IAAI,IAAI,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,sCAAsC,EAClF,IAAI,EACJ,IAAI,CAAC,UAAU,CACf,CAAC;KACF;IAED,+BAA+B,CAAC,aAAqB,EAAE,SAAoB,EAAA;AAC1E,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;YACxC,0DAA0D;YAC1D,aAAa,EACd,SAAS,CACT,CAAC;KACF;AAED,IAAA,iBAAiB,CAAC,aAAqB,EAAA;AACtC,QAAA,IAAI,OAAO,GAAG;YACb,OAAO,EAAE,IAAI,WAAW,CAAC;AACxB,gBAAA,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG;AAChC,gBAAA,eAAe,EAAE,MAAM;aACvB,CAAC;SACF,CAAC;AACF,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG;YACvB,MAAM;AACN,YAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW;YAChC,cAAc;YACd,aAAa;YACb,qBAAqB,EACtB,OAAO,CACP,CAAC;KACF;IAED,8BAA8B,GAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,2BAA2B,CAAC,YAAY,EAAE,CAAC;KACvD;IAED,8BAA8B,CAAC,iCAA0C,KAAK,EAAA;AAC7E,QAAA,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;KACtE;IAED,IAAI,CAAC,aAAqB,EAAE,SAAoB,EAAA;AAC/C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,gBAAgB,EAC5D,SAAS,EACT;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;AACpE,SAAA,CACD,CAAC;KACF;AAED,IAAA,iBAAiB,CAAC,aAAqB,EAAA;AACtC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,6BAA6B,EACzE,IAAI,EACJ;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;AACpE,SAAA,CACD,CAAC;KACF;IAED,uBAAuB,CAAC,aAAqB,EAAE,SAAoB,EAAA;AAClE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,mCAAmC,EAC/E,SAAS,EACT;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;AACpE,SAAA,CACD,CAAC;KACF;IAED,gCAAgC,CAC/B,cAAwB,EACxB,SAAoB,EAAA;AAEpB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;AACxC,YAAA,4CAA4C,EAC7C;AACC,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,cAAc,EAAE,cAAc;AAC9B,SAAA,CACD,CAAC;KACF;AAED,IAAA,MAAM,CAAC,aAAqB,EAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,kBAAkB,EAC9D;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;AACpE,SAAA,CACD,CAAC;KACF;;AAGD,IAAA,yBAAyB,CAAC,aAAqB,EAAA;AAC9C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,6BAA6B,EACzE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,EAAE,CAChE,CAAC;KACF;AAED;;;;;;;AAOG;IACH,yBAAyB,CACxB,cAAsB,EACtB,UAAkB,EAClB,MAAc,EACd,cAAsB,EACtB,WAAmB,EACnB,MAAc,EAAA;QAEd,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;YACtC,IAAI;gBACH,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAC5C,gBAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AACrB,gBAAA,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,iBAAiB,CAAC;AACzC,gBAAA,IAAI,MAAM,GAAG;AACZ,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,GAAG,EAAE,MAAM;AACX,oBAAA,WAAW,EAAE,cAAc;AAC3B,oBAAA,OAAO,EAAE,CAAC;AACV,oBAAA,UAAU,EACT,oBAAoB;wBACpB,cAAc;wBACd,kBAAkB;wBAClB,UAAU;wBACV,IAAI;iBACL,CAAC;AAEF,gBAAA,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE;AACvB,oBAAA,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;wBAC/B,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AACpD,wBAAA,WAAW,CAAC,IAAI,GAAG,QAAQ,CAAC;AAC5B,wBAAA,WAAW,CAAC,IAAI,GAAG,GAAG,CAAC;AACvB,wBAAA,WAAW,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AAEhC,wBAAA,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;AAC9B,qBAAA;AACD,iBAAA;AAED,gBAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAChC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACd,OAAO,CAAC,cAAc,CAAC,CAAC;AACxB,aAAA;AAAC,YAAA,OAAO,KAAK,EAAE;gBACf,MAAM,CAAC,KAAK,CAAC,CAAC;AACd,aAAA;AACF,SAAC,CAAC,CAAC;KACH;;AApKW,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,kBAKR,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AALrB,gBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cAFhB,MAAM,EAAA,CAAA,CAAA;2FAEN,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAMa,MAAM;+BAAC,aAAa,CAAA;;;;MCCrB,kBAAkB,CAAA;IAK9B,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAJnF,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;AAElF,QAAA,IAAA,CAAA,4BAA4B,GAAG,IAAI,OAAO,EAAO,CAAC;KAEqC;IAE/F,+BAA+B,GAAA;AAC9B,QAAA,OAAO,IAAI,CAAC,4BAA4B,CAAC,YAAY,EAAE,CAAC;KACxD;IAED,+BAA+B,CAAC,UAAmB,EAAE,cAAsB,EAAA;QAC1E,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC;KACvE;AAED,IAAA,6BAA6B,CAAC,aAAqB,EAAA;AAClD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,4BAA4B,EACxE;YACC,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AAC5D,SAAA,CACD,CAAC;KACF;AAED,IAAA,gBAAgB,CAAC,aAAqB,EAAA;AACrC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,0BAA0B,EACtE;YACC,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AAC5D,SAAA,CACD,CAAC;KACF;IAED,2BAA2B,CAAC,aAAqB,EAAE,cAAsB,EAAA;AACxE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,yCAAyC,EACrF;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AACnC,iBAAA,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC;AACvC,SAAA,CACD,CAAC;KACF;IAED,2CAA2C,CAC1C,aAAqB,EACrB,cAAsB,EAAA;AAEtB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;AACxC,YAAA,yDAAyD,EAC1D;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AACnC,iBAAA,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC;AACvC,SAAA,CACD,CAAC;KACF;AAED,IAAA,oBAAoB,CAAC,aAAqB,EAAE,cAAsB,EAAE,GAAa,EAAA;AAChF,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,kCAAkC,EAC9E,GAAG,EACH;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AACnC,iBAAA,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC;AACvC,YAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;AAChC,SAAA,CACD,CAAC;KACF;IAED,4BAA4B,CAAC,aAAqB,EAAE,GAAa,EAAA;AAChE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,0CAA0C,EACtF,GAAG,EACH;YACC,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AAC5D,YAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;AAChC,SAAA,CACD,CAAC;KACF;AAED,IAAA,kCAAkC,CACjC,aAAqB,EACrB,cAAsB,EACtB,MAAe,EAAA;AAEf,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;YACxC,gDAAgD,EACjD,EAAE,EACF;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AACnC,iBAAA,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC;AACrC,iBAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAClC,YAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;AAChC,SAAA,CACD,CAAC;KACF;IAED,oCAAoC,CAAC,aAAqB,EAAE,cAAsB,EAAA;AACjF,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;YACxC,kDAAkD,EACnD,EAAE,EACF;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AACnC,iBAAA,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC;AACvC,YAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;AAChC,SAAA,CACD,CAAC;KACF;AAED,IAAA,4BAA4B,CAAC,aAAqB,EAAE,cAAsB,EAAE,MAAe,EAAA;AAC1F,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,0CAA0C,EACtF,EAAE,EACF;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AACnC,iBAAA,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC;AACrC,iBAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAClC,YAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;AAChC,SAAA,CACD,CAAC;KACF;AAED,IAAA,0BAA0B,CAAC,aAAqB,EAAE,cAAsB,EAAE,GAAa,EAAA;AACtF,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,wCAAwC,EACpF,GAAG,EACH;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AACnC,iBAAA,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC;AACvC,YAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;AAChC,SAAA,CACD,CAAC;KACF;AAED,IAAA,kCAAkC,CAAC,aAAqB,EAAA;AACvD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;AACxC,YAAA,gDAAgD,EACjD;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC;AACvE,SAAA,CACD,CAAC;KACF;IAED,0DAA0D,CACzD,aAAqB,EACrB,uBAA+B,EAAA;AAE/B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;AACxC,YAAA,wEAAwE,EACzE;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC;AAC9C,iBAAA,GAAG,CAAC,yBAAyB,EAAE,uBAAuB,CAAC,QAAQ,EAAE,CAAC;AACpE,SAAA,CACD,CAAC;KACF;IAED,oBAAoB,CAAC,aAAqB,EAAE,cAAsB,EAAA;AACjE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,kCAAkC,EAC9E;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC;AAC9C,iBAAA,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC;AAClD,SAAA,CACD,CAAC;KACF;AAED,IAAA,4CAA4C,CAC3C,aAAqB,EACrB,cAAsB,EACtB,uBAA+B,EAAA;AAE/B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;AACxC,YAAA,0DAA0D,EAC3D;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC;AAC9C,iBAAA,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC;AAChD,iBAAA,GAAG,CAAC,yBAAyB,EAAE,uBAAuB,CAAC,QAAQ,EAAE,CAAC;AACpE,SAAA,CACD,CAAC;KACF;IAED,kCAAkC,CACjC,aAAqB,EACrB,cAAsB,EAAA;AAEtB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;AACxC,YAAA,gDAAgD,EACjD;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC;AAC9C,iBAAA,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC;AAClD,SAAA,CACD,CAAC;KACF;AAED,IAAA,0DAA0D,CACzD,aAAqB,EACrB,cAAsB,EACtB,uBAA+B,EAAA;AAE/B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;AACxC,YAAA,wEAAwE,EACzE;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC;AAC9C,iBAAA,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC;AAChD,iBAAA,GAAG,CAAC,yBAAyB,EAAE,uBAAuB,CAAC,QAAQ,EAAE,CAAC;AACpE,SAAA,CACD,CAAC;KACF;AAED,IAAA,qCAAqC,CACpC,aAAqB,EACrB,cAAsB,EACtB,QAAkB,EAAA;AAElB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;YACxC,mDAAmD,EACpD,QAAQ,EACR;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AACnC,iBAAA,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC;AACvC,YAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;AAChC,SAAA,CACD,CAAC;KACF;IAED,oBAAoB,CAAC,aAAqB,EAAE,QAAkB,EAAA;AAC7D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,kCAAkC,EAC9E,QAAQ,EACR;YACC,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AAC5D,YAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;AAChC,SAAA,CACD,CAAC;KACF;IAED,mBAAmB,CAAC,aAAqB,EAAE,QAAkB,EAAA;AAC5D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,iCAAiC,EAC7E,QAAQ,EACR;YACC,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AAC5D,YAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;AAChC,SAAA,CACD,CAAC;KACF;AAED,IAAA,mBAAmB,CAAC,WAAwB,EAAE,SAAkB,EAAE,MAAc,EAAA;AAC/E,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,iCAAiC,EAC7E,WAAW,EACX;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;AACtC,iBAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAClC,YAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;AAChC,SAAA,CACD,CAAC;KACF;IAED,kBAAkB,CAAC,WAAwB,EAAE,QAAiB,EAAA;AAC7D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,gCAAgC,EAC5E,WAAW,EACX;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC7D,YAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;AAChC,SAAA,CACD,CAAC;KACF;IAED,YAAY,CAAC,aAAqB,EAAE,QAAkB,EAAA;AACrD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,0BAA0B,EACtE,QAAQ,EACR;YACC,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AAC5D,YAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;AAChC,SAAA,CACD,CAAC;KACF;IAED,cAAc,CAAC,aAAqB,EAAE,cAAsB,EAAA;AAC3D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,4BAA4B,EACxE;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AACnC,iBAAA,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC;AAClD,YAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;AAChC,SAAA,CACD,CAAC;KACF;IAED,oBAAoB,CAAC,aAAqB,EAAE,QAAkB,EAAA;AAC7D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,kCAAkC,EAC9E,QAAQ,EACR;YACC,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AAC5D,YAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;AAChC,SAAA,CACD,CAAC;KACF;IAED,sBAAsB,CAAC,aAAqB,EAAE,QAAkB,EAAA;AAC/D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,oCAAoC,EAChF,QAAQ,EACR;YACC,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AAC5D,YAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;AAChC,SAAA,CACD,CAAC;KACF;IAED,gBAAgB,CAAC,aAAqB,EAAE,SAAqB,EAAA;AAC5D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,8BAA8B,EAC1E,SAAS,EACT;YACC,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AAC5D,YAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;AAChC,SAAA,CACD,CAAC;KACF;AAED,IAAA,yBAAyB,CAAC,aAAqB,EAAA;AAC9C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,uCAAuC,EACnF,IAAI,EACJ;YACC,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AAC5D,YAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;AAChC,SAAA,CACD,CAAC;KACF;IAED,wCAAwC,CACvC,aAAqB,EACrB,aAA0C,EAAA;AAE1C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;YACxC,sDAAsD,EACvD,aAAa,EACb;YACC,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AAC5D,YAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;AAChC,SAAA,CACD,CAAC;KACF;AAED,IAAA,uCAAuC,CAAC,aAAqB,EAAA;AAC5D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;AACxC,YAAA,qDAAqD,EACtD;YACC,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AAC5D,YAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;AAChC,SAAA,CACD,CAAC;KACF;AACD,IAAA,0BAA0B,CACzB,WAAwB,EACxB,sBAA8B,EAC9B,QAAiB,EAAA;AAEjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,wCAAwC,EACpF,WAAW,EACX;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AACpC,iBAAA,GAAG,CAAC,wBAAwB,EAAE,sBAAsB,CAAC,QAAQ,EAAE,CAAC;AAClE,YAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;AAChC,SAAA,CACD,CAAC;KACF;AAED,IAAA,cAAc,CACb,aAAqB,EACrB,QAAgB,EAChB,yBAAoD,EAAA;AAEpD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,4BAA4B,EACxE,yBAAyB,EACzB;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AACnC,iBAAA,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC;AAC3B,YAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;AAChC,SAAA,CACD,CAAC;KACF;AAED,IAAA,uBAAuB,CAAC,aAAqB,EAAA;AAC5C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,qCAAqC,EACjF,IAAI,EACJ;YACC,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AAC5D,YAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;AAChC,SAAA,CACD,CAAC;KACF;IAED,oBAAoB,CAAC,aAAqB,EAAE,UAAkB,EAAA;AAC7D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,kCAAkC,EAC9E;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;AAC3C,iBAAA,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;AACvC,SAAA,CACD,CAAC;KACF;IAED,2BAA2B,CAAC,MAAgB,EAAE,UAAkB,EAAA;AAC/D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,yCAAyC,EACrF,MAAM,EACN;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACjE,SAAA,CACD,CAAC;KACF;AAED,IAAA,2BAA2B,CAAC,aAAqB,EAAA;AAChD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,yCAAyC,EACrF;YACC,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AAC5D,SAAA,CACD,CAAC;KACF;AAED,IAAA,0BAA0B,CAAC,sBAA6B,EAAA;AACvD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,wCAAwC,EACpF,sBAAsB,EACtB;AACC,YAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;AAChC,SAAA,CACD,CAAC;KACF;AAED,IAAA,iCAAiC,CAChC,aAAqB,EACrB,UAAkB,EAClB,yBAAoD,EAAA;AAEpD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;YACxC,+CAA+C,EAChD,yBAAyB,EACzB;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AACnC,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AAC1C,SAAA,CACD,CAAC;KACF;;AApeW,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,kBAKV,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AALrB,kBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFlB,MAAM,EAAA,CAAA,CAAA;2FAEN,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAMa,MAAM;+BAAC,aAAa,CAAA;;;;MCXrB,wBAAwB,CAAA;IACpC,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;AAE/F,IAAA,gBAAgB,CAAC,iBAAsC,EAAA;QACtD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,oCAAoC,EAChF,iBAAiB,CACjB,CAAC;KACF;AAED,IAAA,eAAe,CAAC,iBAAsC,EAAA;QACrD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,mCAAmC,EAC/E,iBAAiB,CACjB,CAAC;KACF;AAED,IAAA,YAAY,CAAC,aAAqB,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,gCAAgC,EAC5E;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;AACpE,SAAA,CACD,CAAC;KACF;IAED,6BAA6B,CAAC,aAAqB,EAAE,cAAsB,EAAA;AAC1E,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;AACxC,YAAA,iEAAiE,EAClE;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;AAC3C,iBAAA,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;AAC/C,SAAA,CACD,CAAC;KACF;AAED,IAAA,eAAe,CAAC,aAAqB,EAAA;AACpC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,mCAAmC,EAC/E;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;AACpE,SAAA,CACD,CAAC;KACF;IAED,2BAA2B,CAC1B,aAAqB,EACrB,oBAA0C,EAAA;AAE1C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;YACxC,+CAA+C,EAChD,oBAAoB,EACpB;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;AACpE,SAAA,CACD,CAAC;KACF;;AA3DW,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,kBAChB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,wBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cAFxB,MAAM,EAAA,CAAA,CAAA;2FAEN,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCDrB,iBAAiB,CAAA;IAC7B,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;AAE/F;;AAEG;IACH,0BAA0B,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,8BAA8B,CACzE,CAAC;KACF;AAED;;AAEG;IACH,6BAA6B,GAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,8BAA8B,CAC5E,CAAC;KACF;AAED;;AAEG;IACH,2BAA2B,GAAA;AAC1B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,8BAA8B,CAC1E,CAAC;KACF;AAED;;AAEG;IACH,4BAA4B,GAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,8BAA8B,CAC3E,CAAC;KACF;AAED;;AAEG;IACH,6BAA6B,GAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,8BAA8B,CAC5E,CAAC;KACF;;AA9CW,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,kBACT,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,iBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFjB,MAAM,EAAA,CAAA,CAAA;2FAEN,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCDrB,qBAAqB,CAAA;IACjC,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;;AAG/F,IAAA,OAAO,CAAC,QAAgB,EAAA;AACvB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,wBAAwB,EACtE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,CACjE,CAAC;KACF;;AAGD,IAAA,gBAAgB,CAAC,QAAgB,EAAA;AAChC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,iCAAiC,EAC/E,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,CACnE,CAAC;KACF;AAED,IAAA,IAAI,CAAC,eAAiC,EAAA;QACrC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,qBAAqB,EACnE,eAAe,EACf,WAAW,CACX,CAAC;KACF;;AAzBW,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,kBACb,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,qBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cAFrB,MAAM,EAAA,CAAA,CAAA;2FAEN,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCDrB,uCAAuC,CAAA;IAGnD,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAF9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEA;AAE1F,IAAA,kBAAkB,CAAC,UAAkB,EAAA;AACpC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,qDAAqD,EACtD,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrE,CAAC;KACF;AAED,IAAA,IAAI,CAAC,gCAAkE,EAAA;QACtE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,uCAAuC,EACrF,gCAAgC,EAChC,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,MAAM,CAAC,EAAU,EAAA;AAChB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,yCAAyC,EACvF,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrD,CAAC;KACF;AAED,IAAA,OAAO,CAAC,EAAU,EAAA;AACjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,0CAA0C,EAC3C,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrD,CAAC;KACF;AAED,IAAA,uBAAuB,CAAC,MAA0C,EAAA;QACjE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,0DAA0D,EACxG,MAAM,CACN,CAAC;KACF;;AAzCW,uCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uCAAuC,kBAG/B,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,uCAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uCAAuC,cAFvC,MAAM,EAAA,CAAA,CAAA;2FAEN,uCAAuC,EAAA,UAAA,EAAA,CAAA;kBAHnD,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCHrB,qBAAqB,CAAA;IACjC,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;IAE/F,uBAAuB,CACtB,aAAqB,EACrB,oBAA0C,EAAA;AAE1C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,wCAAwC,EACpF,oBAAoB,EACpB;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;AACpE,SAAA,CACD,CAAC;KACF;IAED,gCAAgC,CAC/B,cAAwB,EACxB,oBAA0C,EAAA;AAE1C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;AACxC,YAAA,iDAAiD,EAClD;AACC,YAAA,oBAAoB,EAAE,oBAAoB;AAC1C,YAAA,cAAc,EAAE,cAAc;AAC9B,SAAA,CACD,CAAC;KACF;AAED,IAAA,mBAAmB,CAClB,aAAqB,EACrB,KAAa,EACb,QAAgB,EAChB,MAAc,EAAA;AAEd,QAAA,IAAI,IAAI,GAAG;AACV,YAAA,aAAa,EAAE,aAAa;AAC5B,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,MAAM,EAAE,MAAM;SACd,CAAC;QAEF,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,oCAAoC,EAChF,IAAI,CACJ,CAAC;KACF;IAED,6BAA6B,CAC5B,aAAqB,EACrB,KAAa,EACb,QAAgB,EAChB,MAAc,EACd,uBAA+B,EAAA;AAE/B,QAAA,IAAI,IAAI,GAAG;AACV,YAAA,aAAa,EAAE,aAAa;AAC5B,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,uBAAuB,EAAE,uBAAuB;SAChD,CAAC;AAEF,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;YACxC,8CAA8C,EAC/C,IAAI,CACJ,CAAC;KACF;;AArEW,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,kBACb,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,qBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cAFrB,MAAM,EAAA,CAAA,CAAA;2FAEN,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCDrB,0BAA0B,CAAA;IACtC,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;AAE/F,IAAA,IAAI,CAAC,mBAAwC,EAAA;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,0BAA0B,EACtE,mBAAmB,CACnB,CAAC;KACF;IAED,kDAAkD,CACjD,cAAsB,EACtB,SAAiB,EAAA;AAEjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;AACxC,YAAA,wEAAwE,EACzE;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;AAC7C,iBAAA,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;AACrC,SAAA,CACD,CAAC;KACF;AAED,IAAA,yBAAyB,CAAC,mBAAwC,EAAA;AACjE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;YACxC,+CAA+C,EAChD,mBAAmB,CACnB,CAAC;KACF;;AA/BW,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,kBAClB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,0BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cAF1B,MAAM,EAAA,CAAA,CAAA;2FAEN,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCDrB,uBAAuB,CAAA;IACnC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;AAE1F,IAAA,IAAI,CAAC,gBAAoC,EAAA;QACxC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,uBAAuB,EACrE,gBAAgB,CAChB,CAAC;KACF;AAED,IAAA,wBAAwB,CAAC,YAAoB,EAAA;AAC5C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,2CAA2C,EAC5C;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC;AACrE,SAAA,CACD,CAAC;KACF;AAED,IAAA,gBAAgB,CAAC,uBAA2C,EAAA;QAC3D,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,mCAAmC,EACjF,uBAAuB,CACvB,CAAC;KACF;AAED,IAAA,UAAU,CAAC,EAAU,EAAA;AACpB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,6BAA6B,EAC3E;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;AACjD,SAAA,CACD,CAAC;KACF;;AAlCW,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,kBACf,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,uBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cAFvB,MAAM,EAAA,CAAA,CAAA;2FAEN,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCDrB,4BAA4B,CAAA;IAGxC,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAFnF,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEK;AAE/F,IAAA,gBAAgB,CAAC,uBAAgD,EAAA;QAChE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,yCAAyC,EAC/E,uBAAuB,EACvB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAXW,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,kBAGpB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,4BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,cAF5B,MAAM,EAAA,CAAA,CAAA;2FAEN,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAHxC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCHrB,uBAAuB,CAAA;IAGnC,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAFnF,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEK;AAE/F,IAAA,IAAI,CAAC,gBAAkC,EAAA;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,uBAAuB,EACpE,gBAAgB,CAChB,CAAC;KACF;IAED,sBAAsB,CAAC,QAAgB,EAAE,MAAe,EAAA;AACvD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,yCAAyC,EACtF;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AACpC,iBAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAClC,SAAA,CACD,CAAC;KACF;AAED,IAAA,gBAAgB,CAAC,gBAAkC,EAAA;QAClD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,mCAAmC,EAChF,gBAAgB,CAChB,CAAC;KACF;;AA5BW,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,kBAGf,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,uBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cAFvB,MAAM,EAAA,CAAA,CAAA;2FAEN,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCHrB,iBAAiB,CAAA;IAG7B,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAFnF,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEK;;AAG/F,IAAA,OAAO,CAAC,EAAU,EAAA;AACjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,oBAAoB,EAClE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAC1C,CAAC;KACF;;AAGD,IAAA,yBAAyB,CAAC,QAAgB,EAAA;AACzC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,sCAAsC,EACpF,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CACtD,CAAC;KACF;;AAGD,IAAA,2BAA2B,CAAC,UAAkB,EAAA;AAC7C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,wCAAwC,EACtF,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,EAAE,CAC1D,CAAC;KACF;AAED;;;AAGG;AACH,IAAA,IAAI,CAAC,UAAsB,EAAA;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,iBAAiB,EAC/D,UAAU,EACV,WAAW,CACX,CAAC;KACF;AAED;;;AAGG;AACH,IAAA,yBAAyB,CAAC,mBAAwC,EAAA;QACjE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,sCAAsC,EACpF,mBAAmB,EACnB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAnDW,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,kBAGT,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,iBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFjB,MAAM,EAAA,CAAA,CAAA;2FAEN,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCJrB,kBAAkB,CAAA;IAE9B,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAD3F,QAAA,IAAO,CAAA,OAAA,GAAW,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;KACiC;AAE/F,IAAA,YAAY,CAAC,IAAiB,EAAE,WAAsB,GAAA,YAAY,CAAC,GAAG,EAAA;AACrE,QAAA,IAAI,WAAW,IAAI,YAAY,CAAC,GAAG,EAAE;AACpC,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;AAC9D,SAAA;AACD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,0BAA0B,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;KAC1F;IAED,WAAW,CACV,SAAiB,EACjB,WAAmB,EACnB,WAAsB,GAAA,YAAY,CAAC,GAAG,EAAA;AAEtC,QAAA,IAAI,WAAW,IAAI,YAAY,CAAC,GAAG,EAAE;AACpC,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;AAC9D,SAAA;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,OAAO,GAAG,kDAAkD,EACjE;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;AACtC,iBAAA,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC;AAC5C,SAAA,CACD,CAAC;KACF;;AA3BW,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,kBAEV,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAFrB,kBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFlB,MAAM,EAAA,CAAA,CAAA;2FAEN,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAGa,MAAM;+BAAC,aAAa,CAAA;;;;MCCrB,oBAAoB,CAAA;IAmBhC,WACS,CAAA,aAA4B,EAC5B,kBAAsC,EAAA;AADtC,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAC5B,QAAA,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAoB;;QARtC,IAAA,CAAA,WAAW,GAAW,YAAY,CAAC,GAAG,CAAC;AAEtC,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAO,CAAC;AAQjD,QAAA,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;KACzB;IAED,QAAQ,GAAA;QACP,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAC/D,QAAA,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,MAAK;YACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB,EAAE,IAAI,CAAC,CAAC;KACT;IAEK,QAAQ,GAAA;;AACb,YAAA,IAAI,aAAa,CAAC;AAClB,YAAA,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAC5C,gBAAA,aAAa,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;AAC5C,aAAA;AACD,YAAA,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG,EAAE;gBAC5B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,mCAAmC,EAAE,oBAAoB,CAAC,CAAC;gBACtF,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAC1B,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACvC,aAAA;AAAM,iBAAA;AACN,gBAAA,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,MAAK;oBACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;iBAChB,EAAE,GAAG,CAAC,CAAC;AACR,aAAA;SACD,CAAA,CAAA;AAAA,KAAA;IAEK,cAAc,GAAA;;AACnB,YAAA,IAAI,aAAa,GAAG,MAAM,IAAI,CAAC,kBAAkB;AAC/C,iBAAA,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC;AAC/D,iBAAA,SAAS,EAAE,CAAC;AACd,YAAA,IAAI,OAAoB,CAAC;YACzB,IAAI,aAAa,IAAI,IAAI,EAAE;AAC1B,gBAAA,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;AACzB,gBAAA,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;AACvC,gBAAA,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC;AACvB,gBAAA,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;AACnB,gBAAA,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;AAC/B,gBAAA,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;AACvB,gBAAA,aAAa,GAAG,MAAM,IAAI,CAAC,kBAAkB;AAC3C,qBAAA,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC;AACvC,qBAAA,SAAS,EAAE,CAAC;AACd,aAAA;AACD,YAAA,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC;AACzC,YAAA,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC;AAE3C,YAAA,OAAO,aAAa,CAAC;SACrB,CAAA,CAAA;AAAA,KAAA;IAED,kBAAkB,GAAA;QACjB,MAAM,CAAC,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAClE,QAAA,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AACnC,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;KAC5B;AAED,IAAA,gBAAgB,CAAC,CAAC,EAAA;QACjB,MAAM,mBAAmB,GAAG,IAAI,CAAC;AACjC,QAAA,CAAC,CAAC,WAAW,GAAG,mBAAmB,CAAC;QACpC,OAAO,mBAAmB,CAAC;KAC3B;IAED,WAAW,GAAA;QACV,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC1B;;iHArFW,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAU,EAAA,CAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA8C,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,2PCVjC,wPAIM,EAAA,MAAA,EAAA,CAAA,8MAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAjD,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDMO,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;+BACC,kBAAkB,EAAA,QAAA,EAAA,wPAAA,EAAA,MAAA,EAAA,CAAA,8MAAA,CAAA,EAAA,CAAA;kIAMnB,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAEG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAEG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAEG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAEG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBAGG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAEI,aAAa,EAAA,CAAA;sBAAtB,MAAM;;;MEjBK,sBAAsB,CAAA;IACjC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;AAE1F,IAAA,IAAI,CAAC,eAAgC,EAAA;QACrC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,sBAAsB,EACpE,eAAe,CACf,CAAC;KACF;AAEA,IAAA,aAAa,CAAC,EAAU,EAAA;AACxB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,+BAA+B,EAC7E,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAClD,CAAC;KACF;AAED,IAAA,OAAO,CAAC,EAAU,EAAA;AACjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,yBAAyB,EACvE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAClD,CAAC;KACF;AAED,IAAA,KAAK,CAAC,eAAgC,EAAA;QACrC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,uBAAuB,EACrE,eAAe,CACf,CAAC;KACF;;AA7BW,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,kBACb,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADtB,sBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cAFtB,MAAM,EAAA,CAAA,CAAA;2FAEN,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEc,MAAM;+BAAC,aAAa,CAAA;;;;MCFtB,yBAAyB,CAAA;IAQrC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAPtF,QAAA,IAAc,CAAA,cAAA,GAAG,oBAAoB,CAAC;KAOoD;AAE1F,IAAA,cAAc,CAAC,GAAG,EAAA;AACjB,QAAA,OAAO,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;KACxB;AAED,IAAA,qBAAqB,CAAC,GAAG,EAAA;AACxB,QAAA,OAAO,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC;KAC1B;AAED,IAAA,0BAA0B,CAAC,GAAG,EAAA;AAC7B,QAAA,OAAO,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC;KAC1B;IAED,qBAAqB,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,CAAA,EAAG,IAAI,CAAC,cAAc,CAAA,sBAAA,CAAwB,CAC/C,CAAC;KACF;AAED,IAAA,SAAS,CAAC,QAA6B,EAAA;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,CAAA,EAAG,IAAI,CAAC,cAAc,CAAY,UAAA,CAAA,EAChF,QAAQ,CACR,CAAC;KACF;;AAhCM,yBAAsB,CAAA,sBAAA,GAAG,oBAAoB,CAAC;AAC9C,yBAAoB,CAAA,oBAAA,GAAG,wBAAwB,CAAC;AAChD,yBAA0B,CAAA,0BAAA,GAAG,MAAM,CAAC;AACpC,yBAAoB,CAAA,oBAAA,GAAG,WAAW,CAAC;AACnC,yBAAkB,CAAA,kBAAA,GAAG,MAAM,CAAC;AANvB,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,kBAQjB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AARrB,yBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,cAFzB,MAAM,EAAA,CAAA,CAAA;2FAEN,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BASa,MAAM;+BAAC,aAAa,CAAA;;;;ACXlC;MAOa,yBAAyB,CAAA;IAuBrC,WAAoB,CAAA,cAAyC,EAAU,MAAqB,EAAA;AAAxE,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAA2B;AAAU,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAe;AAlB5F,QAAA,IAAW,CAAA,WAAA,GAAG,IAAI,CAAC;AACnB,QAAA,IAAY,CAAA,YAAA,GAAG,IAAI,CAAC;AAkBnB,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC;AAC3C,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC;AACjC,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;AAC3B,QAAA,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;KACjB;AAED,IAAA,IAAI,oBAAoB,GAAA;AACvB,QAAA,OAAO,yBAAyB,CAAC,sBAAsB,CAAC,QAAQ,EAAE,CAAC;KACnE;AACD,IAAA,IAAI,qBAAqB,GAAA;AACxB,QAAA,OAAO,yBAAyB,CAAC,uBAAuB,CAAC,QAAQ,EAAE,CAAC;KACpE;AAED,IAAA,IAAI,kBAAkB,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,SAAS,CAAC;KACnD;IAED,QAAQ,GAAA;QACP,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAAE,OAAO;AACtD,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;AACzE,QAAA,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,KACtB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CACjF,CAAC;AACF,QAAA,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;QAClC,IAAI,CAAC,WAAW,EAAE,CAAC;KACnB;IAED,WAAW,GAAA;QACV,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,QAAA,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,oBAAoB,EAAE;AACjD,YAAA,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE;gBACnC,OAAO,CAAC,IAAI,CAAC;oBACZ,QAAQ,EAAE,QAAQ,CAAC,KAAK;oBACxB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC;AACtD,iBAAA,CAAC,CAAC;AACH,aAAA;AACD,SAAA;AACD,QAAA,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;KACtB;IAED,wBAAwB,GAAA;AACvB,QAAA,IAAI,eAAe,GAAG,CAAI,CAAA,EAAA,IAAI,CAAC,cAAc,CAAA,EAAA,EAAK,IAAI,CAAC,QAAQ,CAAK,EAAA,EAAA,IAAI,CAAC,cAAc,GAAG,CAAC;QAC3F,eAAe,IAAI,CAAO,IAAA,EAAA,IAAI,CAAC,aAAa,QAAQ,IAAI,CAAC,aAAa,CAAA,CAAA,CAAG,CAAC;QAE1E,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;AAC7E,QAAA,UAAU,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;KACxC;IAED,6BAA6B,GAAA;AAC5B,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AAC3B,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAChE,OAAO;AACP,SAAA;QACD,IAAI,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAI,CAAA,EAAA,CAAC,CAAC,KAAK,CAAG,CAAA,CAAA,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1E,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,0BAA0B,CAAC,eAAe,CAAC,CAAC;AAClF,QAAA,UAAU,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;AACxC,QAAA,OAAO,eAAe,CAAC;KACvB;IAED,YAAY,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;AACrC,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACrE,OAAO;AACP,SAAA;AACD,QAAA,MAAM,IAAI,GAAG;YACZ,KAAK,EAAE,IAAI,CAAC,gBAAgB;AAC5B,YAAA,KAAK,EAAE,IAAI,CAAC,6BAA6B,EAAE;SAC3C,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CACzC,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,IAAI,yBAAyB,CAAC,qBAAqB,CACnE,CAAC;AACF,QAAA,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC/C,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC;AACtD,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC;KACjC;IAED,yBAAyB,CAAC,QAAQ,EAAE,IAAI,EAAA;AACvC,QAAA,IAAI,QAAQ,EAAE;YACb,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7D,YAAA,IAAI,EAAE,EAAE;AACP,gBAAA,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AACtB,aAAA;AAAM,iBAAA;AACN,gBAAA,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,aAAA;AACD,SAAA;AAAM,aAAA;AACN,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;gBACzB,KAAK,EAAE,yBAAyB,CAAC,qBAAqB;gBACtD,KAAK,EAAE,CAAC,IAAI,CAAC;AACb,aAAA,CAAC,CAAC;AACH,SAAA;KACD;IAED,WAAW,CAAC,aAAa,GAAG,KAAK,EAAA;AAChC,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;AAC3B,QAAA,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;AACzB,QAAA,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;AACzB,QAAA,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;AAExB,QAAA,IAAI,aAAa,EAAE;YAClB,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAChC,wCAAwC,CACzB,CAAC;AACjB,YAAA,IAAI,EAAE;gBAAE,EAAE,CAAC,KAAK,EAAE,CAAC;AACnB,SAAA;KACD;;AA3HM,yBAAsB,CAAA,sBAAA,GAAG,CAAC,CAAC;AAC3B,yBAAuB,CAAA,uBAAA,GAAG,CAAC,CAAC;AAC5B,yBAAqB,CAAA,qBAAA,GAAG,aAAa,CAAC;sHAbjC,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAkD,yBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,uHCXtC,inKAsKA,EAAA,MAAA,EAAA,CAAA,6BAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAlD,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,MAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,WAAA,EAAA,oBAAA,EAAA,cAAA,EAAA,eAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,uBAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,cAAA,EAAA,sBAAA,EAAA,qBAAA,EAAA,yBAAA,EAAA,wBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,uBAAA,EAAA,cAAA,EAAA,YAAA,EAAA,UAAA,EAAA,cAAA,EAAA,SAAA,EAAA,eAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,OAAA,EAAA,YAAA,EAAA,aAAA,EAAA,aAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,yBAAA,EAAA,yBAAA,EAAA,UAAA,EAAA,uBAAA,EAAA,uBAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAkB,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,8FAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,iBAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,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,EAAAC,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAD,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA4B,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FD3Ja,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBALrC,SAAS;+BACC,uBAAuB,EAAA,QAAA,EAAA,inKAAA,EAAA,MAAA,EAAA,CAAA,6BAAA,CAAA,EAAA,CAAA;yIAMxB,oBAAoB,EAAA,CAAA;sBAA5B,KAAK;;;MEFM,2BAA2B,CAAA;AAgCvC,IAAA,WAAA,CAAoB,cAAyC,EAAA;AAAzC,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAA2B;;AArBpD,QAAA,IAAyB,CAAA,yBAAA,GAAG,KAAK,CAAC;AAClC,QAAA,IAAyB,CAAA,yBAAA,GAAG,IAAI,CAAC;;AAGjC,QAAA,IAAgB,CAAA,gBAAA,GAAG,KAAK,CAAC;AAkBjC,QAAA,IAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC;AACnC,QAAA,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;AAC7B,QAAA,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;KACzB;IAEK,QAAQ,GAAA;;AACb,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,YAAA,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;AACpC,YAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;AAClC,YAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;AAClC,YAAA,IAAI,CAAC,aAAa,GAAG,kDAAkD,CAAC;SACxE,CAAA,CAAA;AAAA,KAAA;IAED,gBAAgB,GAAA;QACf,OAAO,IAAI,OAAO,CAAO,CAAO,OAAO,EAAE,MAAM,KAAI,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;YAClD,IAAI;;gBAEH,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;oBAChE,IAAI,CAAC,kBAAkB,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;AAC7D,iBAAA;;AAED,gBAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAC7C,oBAAA,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAC;AACnE,iBAAA;AACD,gBAAA,OAAO,EAAE,CAAC;AACV,aAAA;AAAC,YAAA,OAAO,KAAK,EAAE;gBACf,MAAM,CAAC,KAAK,CAAC,CAAC;AACd,aAAA;SACD,CAAA,CAAC,CAAC;KACH;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;QACjC,IAAI,OAAO,CAAC,UAAU,EAAE;AACvB,YAAA,IAAI,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE;AACpC,gBAAA,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAC3C,gBAAA,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;AACrC,aAAA;AACD,SAAA;QACD,IAAI,OAAO,CAAC,YAAY,EAAE;AACzB,YAAA,IAAI,OAAO,CAAC,YAAY,CAAC,YAAY,EAAE;gBACtC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC;AACtD,gBAAA,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAC3C,gBAAA,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;AACrC,aAAA;AACD,SAAA;KACD;IAED,gBAAgB,GAAA;AACf,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AAC/D,QAAA,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,CACxC,CAAC,GAAG,EAAE,EAAE,sCACJ,GAAG,CAAA,EAAA,EACN,CAAC,CAAA,EAAG,EAAE,CAAC,QAAQ,CAAA,CAAA,EAAI,EAAE,CAAC,GAAG,CAAE,CAAA,GAAG,EAAE,EAAA,CAAA,CAC/B,EACF,EAAE,CACF,CAAC;QACF,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,QAAA,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE;AAClC,YAAA,IAAI,eAAe,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;AACxC,gBAAA,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;gBACjC,GAAG,CAAC,GAAG,GAAG,yBAAyB,CAAC,0BAA0B,GAAG,GAAG,CAAC,GAAG,CAAC;AACzE,gBAAA,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClB,aAAA;AACD,SAAA;AACD,QAAA,OAAO,OAAO,CAAC;KACf;AAEK,IAAA,mBAAmB,CAAC,WAAW,EAAA;;AACpC,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE;AACrF,gBAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAC7E,gBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AAClB,aAAA;AAAM,iBAAA;AACN,gBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;AACzD,oBAAA,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAC9B,oBAAA,WAAW,GAAG;AACb,wBAAA,GAAG,WAAW;wBACd,GAAG,IAAI,CAAC,wBAAwB;wBAChC,GAAG,IAAI,CAAC,kBAAkB;qBAC1B,CAAC;AACF,oBAAA,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC;oBAC1C,IAAI,CAAC,eAAe,GAAG,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAC7D,oBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AAClB,iBAAA;AACD,aAAA;SACD,CAAA,CAAA;AAAA,KAAA;IAED,2BAA2B,GAAA;QAC1B,MAAM,IAAI,GAAG,EAAE,CAAC;AAChB,QAAA,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;AACjC,YAAA,MAAM,kBAAkB,GAAG,UAAU,CAAC,6BAA6B,CAClE,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CACtD,CAAC;AACF,YAAA,KAAK,MAAM,KAAK,IAAI,kBAAkB,EAAE;AACvC,gBAAA,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE;oBAChC,IAAI,CAAC,IAAI,CAAC;wBACT,KAAK,EAAE,KAAK,CAAC,KAAK;AAClB,wBAAA,GAAG,EAAE,yBAAyB,CAAC,kBAAkB,GAAG,KAAK,CAAC,KAAK;wBAC/D,QAAQ,EAAE,yBAAyB,CAAC,oBAAoB,GAAG,GAAG,GAAG,KAAK,CAAC,KAAK;AAC5E,qBAAA,CAAC,CAAC;AACH,iBAAA;AACD,aAAA;AACD,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;KACZ;IAEK,qBAAqB,GAAA;;AAC1B,YAAA,MAAM,QAAQ,GAAG,yBAAyB,CAAC,sBAAsB,CAAC;AAClE,YAAA,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,CAAC,SAAS,EAAE,CAAC;AACnF,YAAA,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,KAAI;gBAC9B,EAAE,CAAC,GAAG,GAAG,yBAAyB,CAAC,oBAAoB,GAAG,EAAE,CAAC,GAAG,CAAC;AACjE,gBAAA,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACvB,gBAAA,OAAO,EAAE,CAAC;AACX,aAAC,CAAC,CAAC;SACH,CAAA,CAAA;AAAA,KAAA;IAED,4BAA4B,GAAA;AAC3B,QAAA,IAAI,CAAC,sBAAsB,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC;AAC3D,QAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;AAClC,QAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;KAClC;IAED,0BAA0B,GAAA;AACzB,QAAA,IAAI,CAAC,oBAAoB,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC;AACvD,QAAA,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;AACpC,QAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;KAClC;IAED,yBAAyB,GAAA;AACxB,QAAA,IAAI,CAAC,oBAAoB,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC;AACvD,QAAA,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;AACpC,QAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;KAClC;;IAGD,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAA;AACjC,QAAA,IAAI,QAAQ;AAAE,YAAA,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC;KACtE;;AAGD,IAAA,iBAAiB,CAAC,QAAQ,EAAA;AACzB,QAAA,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,KAAK;AAAE,YAAA,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC;AAAE,gBAAA,OAAO,IAAI,CAAC;AACzF,QAAA,OAAO,KAAK,CAAC;KACb;;AAGD,IAAA,eAAe,CAAC,KAAK,EAAA;QACpB,IAAI,CAAC,IAAI,CAAC,YAAY;AAAE,YAAA,OAAO,IAAI,CAAC;AACpC,QAAA,IAAI,KAAK,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;AAAE,YAAA,OAAO,IAAI,CAAC;AACxF,QAAA,OAAO,KAAK,CAAC;KACb;AAED,IAAA,SAAS,CAAC,QAAQ,EAAA;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;AACnD,QAAA,IAAI,MAAM;AAAE,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;KAC7E;AAED,IAAA,aAAa,CAAC,KAAK,EAAA;AAClB,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;KACxB;AAED,IAAA,aAAa,CAAC,QAAQ,EAAA;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;AACnD,QAAA,IAAI,MAAM;AAAE,YAAA,OAAO,IAAI,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;AAC3C,QAAA,OAAO,EAAE,CAAC;KACV;AAED,IAAA,SAAS,CAAC,SAAS,EAAA;QAClB,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,IAAI,SAAS,IAAI,CAAC,CAAC,GAAG,IAAI,SAAS,CAAC,CAAC;KACtF;AAED,IAAA,WAAW,CAAC,GAAW,EAAA;AACtB,QAAA,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;KAC5B;;wHA9MW,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,yBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,4VCXxC,m4EAyEA,EAAA,MAAA,EAAA,CAAA,iDAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA9B,GAAA,CAAA,SAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,GAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,mBAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAApB,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,WAAA,EAAA,cAAA,EAAA,aAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,aAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,YAAA,EAAA,aAAA,EAAA,YAAA,EAAA,YAAA,EAAA,MAAA,EAAA,MAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,cAAA,EAAA,cAAA,EAAA,SAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,eAAA,EAAA,cAAA,EAAA,aAAA,EAAA,WAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAoD,yBAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA7B,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,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,EAAAD,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FD9Da,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBALvC,SAAS;+BACC,yBAAyB,EAAA,QAAA,EAAA,m4EAAA,EAAA,MAAA,EAAA,CAAA,iDAAA,CAAA,EAAA,CAAA;6GAe1B,yBAAyB,EAAA,CAAA;sBAAjC,KAAK;gBACG,yBAAyB,EAAA,CAAA;sBAAjC,KAAK;gBAGG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBAGG,oBAAoB,EAAA,CAAA;sBAA5B,KAAK;gBAEG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAEG,UAAU,EAAA,CAAA;sBAAlB,KAAK;;;MEzBM,2BAA2B,CAAA;IAGvC,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAFnF,QAAA,IAAY,CAAA,YAAA,GAAG,+BAA+B,CAAC;KAEyC;IAEhG,2BAA2B,CAAC,SAAiB,EAAE,UAAkB,EAAA;AAChE,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE;AAC7B,aAAA,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;aACtC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAG,EAAA,IAAI,CAAC,YAAY,CAAE,CAAA,EACpE,EAAE,MAAM,EAAE,CACV,CAAC;KACF;IAED,6BAA6B,CAAC,SAAiB,EAAE,WAAqB,EAAA;AACrE,QAAA,MAAM,OAAO,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,CAAG,EAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAA,EAAG,IAAI,CAAC,YAAY,CAAsC,oCAAA,CAAA,EACxG,OAAO,CACP,CAAC;KACF;AAED,IAAA,IAAI,CAAC,oBAA0C,EAAA;QAC9C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,CAAG,EAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAA,EAAG,IAAI,CAAC,YAAY,CAAE,CAAA,EACpE,oBAAoB,CACpB,CAAC;KACF;IAED,MAAM,CAAC,EAAU,EAAE,oBAA0C,EAAA;QAC5D,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAC3B,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAG,EAAA,IAAI,CAAC,YAAY,CAAI,CAAA,EAAA,EAAE,CAAE,CAAA,EAC1E,oBAAoB,CACpB,CAAC;KACF;;AAnCW,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,kBAGnB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,2BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,cAF3B,MAAM,EAAA,CAAA,CAAA;2FAEN,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAHvC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCHrB,cAAc,CAAA;IAC1B,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;AAE/F;;;AAGG;AACH,IAAA,eAAe,CAAC,SAAiB,EAAA;AAChC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,sBAAsB,EAClE;YACC,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC;AACpD,SAAA,CACD,CAAC;KACF;AAED,IAAA,IAAI,CAAC,OAAO,EAAA;QACX,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,mBAAmB,EAC/D,OAAO,CACP,CAAC;KACF;;AArBW,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,kBACN,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,cAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cAFd,MAAM,EAAA,CAAA,CAAA;2FAEN,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCFrB,oBAAoB,CAAA;IAChC,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;IAE/F,iBAAiB,CAAC,SAAiB,EAAE,SAAiB,EAAA;AACrD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,uCAAuC,EACnF;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC;AAChF,SAAA,CACD,CAAC;KACF;AAED,IAAA,IAAI,CAAC,aAAa,EAAA;QACjB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,0BAA0B,EACtE,aAAa,CACb,CAAC;KACF;;AAjBW,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,kBACZ,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,oBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cAFpB,MAAM,EAAA,CAAA,CAAA;2FAEN,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;ACLlC;AAEA,MAAM,WAAW,GAAG;IAClB,OAAO,EAAE,IAAI,WAAW,CAAC;AACvB,QAAA,cAAc,EAAE,kBAAkB;KACnC,CAAC;CACH,CAAA;MAIY,kBAAkB,CAAA;IAG7B,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAK;AAE3F,IAAA,cAAc,CAAC,UAAe,EAAA;QAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CACzB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,GAAG,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,EAC/E,UAAU,EAAE;YACZ,OAAO,EAAE,WAAW,CAAC,OAAO;AAC7B,SAAA,CACA,CAAC;KACH;;AAZU,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,kBAGT,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHtB,kBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFjB,MAAM,EAAA,CAAA,CAAA;2FAEP,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;8BAIc,MAAM;+BAAC,aAAa,CAAA;;;;MCMtB,oBAAoB,CAAA;AAkC/B,IAAA,WAAA,CAAoB,kBAAsC,EAAA;AAAtC,QAAA,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAoB;AA/BnD,QAAA,IAAU,CAAA,UAAA,GAAW,CAAC,CAAC;AACvB,QAAA,IAAW,CAAA,WAAA,GAAW,CAAC,CAAC;AAExB,QAAA,IAAW,CAAA,WAAA,GAAY,KAAK,CAAC;AAG7B,QAAA,IAAW,CAAA,WAAA,GAAY,IAAI,CAAC;AAEnC,QAAA,IAAW,CAAA,WAAA,GAAY,IAAI,CAAC;AAC5B,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAC1B,QAAA,IAAa,CAAA,aAAA,GAAY,IAAI,CAAC;AAC9B,QAAA,IAAW,CAAA,WAAA,GAAY,KAAK,CAAC;AAG7B,QAAA,IAAM,CAAA,MAAA,GAAQ,EAAE,CAAC;AAGjB,QAAA,IAAa,CAAA,aAAA,GAAW,EAAE,CAAC;AAG3B,QAAA,IAAc,CAAA,cAAA,GAAW,EAAE,CAAC;;;;;AAS5B,QAAA,IAAA,CAAA,gBAAgB,GAAsB,IAAI,YAAY,EAAO,CAAC;KAEC;IAE/D,QAAQ,GAAA;KACP;;IAGM,OAAO,GAAA;AACZ,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;KACvB;;IAGM,MAAM,GAAA;QACX,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;KACxB;;AAGM,IAAA,OAAO,CAAC,KAAU,EAAA;QACvB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;KACxC;;IAGM,QAAQ,GAAA;QACb,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAA;KACzB;;IAGM,QAAQ,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE;AACxB,YAAA,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE;AACzB,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;AACpC,aAAA;AAAM,iBAAA;gBACL,IAAI,CAAC,WAAW,EAAE,CAAC;AACpB,aAAA;AACF,SAAA;KACF;;IAGM,IAAI,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE;YACtC,IAAI,CAAC,WAAW,EAAE,CAAC;AACpB,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;AACtB,SAAA;KACF;IAEM,IAAI,GAAA;AACT,QAAA,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,gBAAgB,CAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,MAAW,KAAI;YACxF,IAAI,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAClC,YAAA,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAChB,YAAA,IAAI,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YAC5E,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACrC,CAAC,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACpC,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;YACvB,IAAI,OAAO,GAAQ,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;AAC1D,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE;AAClC,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,MAAM,EAAE,KAAK;AACb,gBAAA,SAAS,EAAE,KAAK;AAChB,gBAAA,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,CAAC,GAAG,CAAC;AAClB,gBAAA,KAAK,EAAE,CAAC,CAAC,KAAI;AACX,oBAAA,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;iBAC5B;AACD,gBAAA,IAAI,EAAE,CAAC,CAAC,KAAI;iBACX;AACF,aAAA,CAAC,CAAC;AACL,SAAC,CAAC,CAAA;KACH;IAEM,WAAW,GAAA;QAChB,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;AAC7C,YAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;AAC9B,SAAA;AAAM,aAAA;AACL,YAAA,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,gBAAgB,CAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,MAAW,KAAI;AACxF,gBAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;AAC/B,aAAC,CAAC,CAAA;AACH,SAAA;KACF;AAEO,IAAA,gBAAgB,CAAC,MAAW,EAAA;QAClC,IAAI,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAClC,QAAA,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAChB,QAAA,IAAI,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAC5E,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACrB,QAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KACpB;IAEM,KAAK,GAAA;AACV,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;AACzB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACpB,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;AACrB,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;KACxB;;;;IAMM,aAAa,GAAA;AAClB,QAAA,IAAI,MAAM,GAAY,IAAI,CAAC,OAAkB,CAAC,SAAS,CAAC,EAAE,EAAG,IAAI,CAAC,OAAkB,CAAC,MAAM,CAAC,CAAC;AAE7F,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;;;;;;;;;;;;;;;;;;;KAsBpC;;iHA/JU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA8B,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,2MCtBjC,ivIAoEM,EAAA,MAAA,EAAA,CAAA,wuBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAjC,EAAA,CAAA,4BAAA,EAAA,QAAA,EAAA,uGAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,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,EAAApB,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FD9CO,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;+BACE,kBAAkB,EAAA,QAAA,EAAA,ivIAAA,EAAA,MAAA,EAAA,CAAA,wuBAAA,CAAA,EAAA,CAAA;sGAqB5B,MAAM,EAAA,CAAA;sBADL,KAAK;gBAIN,aAAa,EAAA,CAAA;sBADZ,KAAK;gBAIN,cAAc,EAAA,CAAA;sBADb,KAAK;gBAUN,gBAAgB,EAAA,CAAA;sBADf,MAAM;;;ME7CI,qBAAqB,CAAA;IACjC,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;IAE/F,MAAM,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,uBAAuB,CACrE,CAAC;KACF;AAED,IAAA,IAAI,CAAC,SAAoB,EAAA;QACxB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,qBAAqB,EACnE,SAAS,CACT,CAAC;KACF;AAED,IAAA,MAAM,CAAC,EAAU,EAAA;AAChB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,uBAAuB,EACrE;YACC,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;AACtC,SAAA,CACD,CAAC;KACF;IAED,OAAO,CAAC,EAAU,EAAE,UAAkB,EAAA;AACrC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,wBAAwB,EACtE;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;AACxB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AAC1C,SAAA,CACD,CAAC;KACF;;AAlCW,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,kBACb,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,qBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cAFrB,MAAM,EAAA,CAAA,CAAA;2FAEN,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;AC8HlC;MAuEa,kBAAkB,CAAA;IAC9B,OAAO,OAAO,CAAC,WAAgB,EAAA;QAC9B,OAAO;AACN,YAAA,QAAQ,EAAE,kBAAkB;AAC5B,YAAA,SAAS,EAAE;gBACV,YAAY;gBACZ,UAAU;gBACV,qBAAqB;gBACrB,eAAe;gBACf,WAAW;gBACX,UAAU;gBACV,qBAAqB;gBACrB,kBAAkB;gBAClB,qBAAqB;gBACrB,cAAc;gBACd,wBAAwB;gBACxB,aAAa;gBACb,wBAAwB;gBACxB,YAAY;gBACZ,0BAA0B;gBAC1B,WAAW;gBACX,YAAY;gBACZ,WAAW;gBACX,wBAAwB;gBACxB,sBAAsB;gBACtB,mBAAmB;gBACnB,yBAAyB;gBACzB,eAAe;gBACf,mBAAmB;gBACnB,wBAAwB;gBACxB,WAAW;gBACX,cAAc;gBACd,wBAAwB;gBACxB,sBAAsB;gBACtB,sBAAsB;gBACtB,sBAAsB;gBACtB,4BAA4B;gBAC5B,iBAAiB;gBACjB,cAAc;gBACd,WAAW;gBACX,2BAA2B;gBAC3B,aAAa;gBACb,iBAAiB;gBACjB,qBAAqB;gBACrB,oBAAoB;gBACpB,iBAAiB;gBACjB,uBAAuB;gBACvB,kCAAkC;gBAClC,iBAAiB;gBACjB,iBAAiB;gBACjB,mBAAmB;gBACnB,4BAA4B;gBAC5B,iCAAiC;gBACjC,aAAa;gBACb,yBAAyB;gBACzB,0BAA0B;gBAC1B,0BAA0B;gBAC1B,sBAAsB;gBACtB,aAAa;gBACb,uBAAuB;gBACvB,iBAAiB;gBACjB,2BAA2B;gBAC3B,kCAAkC;gBAClC,6BAA6B;gBAC7B,iBAAiB;gBACjB,uBAAuB;gBACvB,kBAAkB;gBAClB,qBAAqB;gBACrB,gBAAgB;gBAChB,kBAAkB;gBAClB,wBAAwB;gBACxB,+BAA+B;gBAC/B,uCAAuC;gBACvC,qBAAqB;gBACrB,uBAAuB;gBACvB,iBAAiB;gBACjB,yBAAyB;gBACzB,2BAA2B;gBAC3B,uCAAuC;gBACvC,qBAAqB;gBACrB,0BAA0B;gBAC1B,uBAAuB;gBACvB,4BAA4B;gBAC5B,kBAAkB;gBAClB,sBAAsB;gBACtB,uBAAuB;gBACvB,2BAA2B;gBAC3B,WAAW;gBACX,cAAc;gBACd,oBAAoB;gBACpB,kBAAkB;gBAClB,qBAAqB;AACrB,gBAAA;AACC,oBAAA,OAAO,EAAE,aAAa;AACtB,oBAAA,QAAQ,EAAE,WAAW;AACrB,iBAAA;AACD,gBAAA;AACC,oBAAA,OAAO,EAAE,gBAAgB;oBACzB,QAAQ,EAAE,WAAW,CAAC,QAAQ;AAC9B,iBAAA;AACD,aAAA;SACD,CAAC;KACF;;+GAtGW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAlB,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,iBA/C7B,kBAAkB;QAClB,qBAAqB;QACrB,0BAA0B;QAC1B,4BAA4B;QAC5B,mCAAmC;QACnC,0CAA0C;QAC1C,sBAAsB;QACtB,2BAA2B;QAC3B,qBAAqB;QACrB,cAAc;QACd,2BAA2B;QAC3B,yBAAyB;QACzB,2BAA2B;QAC3B,oBAAoB;QACpB,aAAa;QACb,sBAAsB;QACtB,6BAA6B;QAC7B,kBAAkB;QAClB,sBAAsB;QACtB,uBAAuB;QACvB,oBAAoB;AACpB,QAAA,oBAAoB,aAzCpB,YAAY;QACZ,iBAAiB;QACjB,wBAAwB;QACxB,YAAY;QACZ,YAAY;QACZ,gBAAgB;QAChB,WAAW;QACX,eAAe;QACf,WAAW;QACX,gBAAgB;QAChB,cAAc;QACd,mBAAmB;QACnB,iBAAiB;QACjB,eAAe;QACf,UAAU;QACV,cAAc;QACd,YAAY,iCA6BZ,kBAAkB;QAClB,sBAAsB;QACtB,2BAA2B;QAC3B,qBAAqB;QACrB,cAAc;QACd,2BAA2B;QAC3B,yBAAyB;QACzB,qBAAqB;QACrB,0BAA0B;QAC1B,4BAA4B;QAC5B,mCAAmC;QACnC,0CAA0C;QAC1C,2BAA2B;QAC3B,aAAa;QACb,oBAAoB;QACpB,sBAAsB;QACtB,6BAA6B;QAC7B,kBAAkB;QAClB,oBAAoB;QACpB,oBAAoB,CAAA,EAAA,CAAA,CAAA;AAGT,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,EApErB,OAAA,EAAA,CAAA;YACR,YAAY;YACZ,iBAAiB;YACjB,wBAAwB;YACxB,YAAY;YACZ,YAAY;YACZ,gBAAgB;YAChB,WAAW;YACX,eAAe;YACf,WAAW;YACX,gBAAgB;YAChB,cAAc;YACd,mBAAmB;YACnB,iBAAiB;YACjB,eAAe;YACf,UAAU;YACV,cAAc;YACd,YAAY;YACZ,eAAe,CAAC,OAAO,EAAE;SACzB,CAAA,EAAA,CAAA,CAAA;2FAiDW,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBArE9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,OAAO,EAAE;wBACR,YAAY;wBACZ,iBAAiB;wBACjB,wBAAwB;wBACxB,YAAY;wBACZ,YAAY;wBACZ,gBAAgB;wBAChB,WAAW;wBACX,eAAe;wBACf,WAAW;wBACX,gBAAgB;wBAChB,cAAc;wBACd,mBAAmB;wBACnB,iBAAiB;wBACjB,eAAe;wBACf,UAAU;wBACV,cAAc;wBACd,YAAY;wBACZ,eAAe,CAAC,OAAO,EAAE;AACzB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACb,kBAAkB;wBAClB,qBAAqB;wBACrB,0BAA0B;wBAC1B,4BAA4B;wBAC5B,mCAAmC;wBACnC,0CAA0C;wBAC1C,sBAAsB;wBACtB,2BAA2B;wBAC3B,qBAAqB;wBACrB,cAAc;wBACd,2BAA2B;wBAC3B,yBAAyB;wBACzB,2BAA2B;wBAC3B,oBAAoB;wBACpB,aAAa;wBACb,sBAAsB;wBACtB,6BAA6B;wBAC7B,kBAAkB;wBAClB,sBAAsB;wBACtB,uBAAuB;wBACvB,oBAAoB;wBACpB,oBAAoB;AACpB,qBAAA;oBACD,eAAe,EAAE,CAAC,eAAe,CAAC;AAClC,oBAAA,OAAO,EAAE;wBACR,kBAAkB;wBAClB,sBAAsB;wBACtB,2BAA2B;wBAC3B,qBAAqB;wBACrB,cAAc;wBACd,2BAA2B;wBAC3B,yBAAyB;wBACzB,qBAAqB;wBACrB,0BAA0B;wBAC1B,4BAA4B;wBAC5B,mCAAmC;wBACnC,0CAA0C;wBAC1C,2BAA2B;wBAC3B,aAAa;wBACb,oBAAoB;wBACpB,sBAAsB;wBACtB,6BAA6B;wBAC7B,kBAAkB;wBAClB,oBAAoB;wBACpB,oBAAoB;AACpB,qBAAA;iBACD,CAAA;;;ACpMK,MAAgB,0BACrB,SAAQ,oBAAoB,CAAA;IAM5B,WAAsB,CAAA,aAA4B,EAAY,KAAwB,EAAA;AACrF,QAAA,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AADP,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAAY,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAmB;AAFtF,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;KAI1B;IAED,QAAQ,GAAA;QACP,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,SAAS,EAAE;YACnB,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;AACzD,YAAA,IAAI,OAAO,EAAE;AACZ,gBAAA,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACtC,aAAA;AACD,SAAA;KACD;IAED,WAAW,GAAA;QACV,IAAI,IAAI,CAAC,SAAS,EAAE;YACnB,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;AACzD,YAAA,IAAI,OAAO,EAAE;AACZ,gBAAA,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACnC,aAAA;AACD,SAAA;KACD;;AAxBe,0BAAuB,CAAA,uBAAA,GAAG,IAAK,CAAA;uHAJ1B,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAF,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,qFAFlC,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;2FAEM,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAJ/C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,QAAQ,EAAE,EAAE;iBACf,CAAA;;;MCCqB,yBAAyB,CAAA;AAsB9C,IAAA,WAAA,CACW,aAA4B,EAC5B,KAAwB,EACxB,iBAAoC,EAAA;AAFpC,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAC5B,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAmB;AACxB,QAAA,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;KAC3C;IAEJ,QAAQ,GAAA;AACP,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;KACvB;IAED,qBAAqB,GAAA;AACpB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACtB,YAAA,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,IAAI,CAAC,cAAc;YAC5B,KAAK,EAAE,IAAI,CAAC,qBAAqB;AACjC,SAAA,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACtB,YAAA,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,IAAI,CAAC,eAAe;YAC7B,KAAK,EAAE,IAAI,CAAC,sBAAsB;AAClC,SAAA,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACtB,YAAA,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,IAAI,CAAC,WAAW;YACzB,KAAK,EAAE,IAAI,CAAC,kBAAkB;AAC9B,SAAA,CAAC,CAAC;KACH;IAED,gCAAgC,CAAC,OAAO,EAAE,cAAc,EAAA;QACvD,IAAI,MAAM,GAAG,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;AACrE,QAAA,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAC;AACnD,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;AAC9B,QAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC;KACxC;IAED,gCAAgC,CAAC,OAAO,EAAE,cAAc,EAAA;QACvD,IAAI,MAAM,GAAG,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;AACrE,QAAA,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAC;AACnD,QAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC;AACrC,QAAA,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC,UAAU,CAAC;KAC/C;IAED,iCAAiC,CAAC,OAAO,EAAE,cAAc,EAAA;QACxD,IAAI,MAAM,GAAG,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;AACrE,QAAA,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,MAAM,CAAC,CAAC;AACpD,QAAA,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC;AACtC,QAAA,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,UAAU,CAAC;KAChD;IAED,6BAA6B,CAAC,OAAO,EAAE,cAAc,EAAA;QACpD,IAAI,MAAM,GAAG,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;AACrE,QAAA,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC;AAChD,QAAA,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;AAClC,QAAA,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,UAAU,CAAC;KAC5C;IAED,yBAAyB,CAAC,WAAmB,EAAE,aAAqB,EAAA;QACnE,IAAI,OAAe,EAAE,UAAkB,CAAC;QACxC,OAAO,GAAG,IAAI,CAAC;AACf,QAAA,IAAI,WAAW,EAAE;YAChB,OAAO,GAAG,WAAW,CAAC;AACtB,SAAA;QACD,UAAU,GAAG,IAAI,CAAC;AAClB,QAAA,IAAI,aAAa,EAAE;AAClB,YAAA,IAAI,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACvE,YAAA,UAAU,GAAG,WAAW;AACtB,iBAAA,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC;iBACtC,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAC9B,SAAA;QACD,OAAO;AACN,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,UAAU,EAAE,UAAU;SACtB,CAAC;KACF;;sHA/FoB,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAwD,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,6DAFjC,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;2FAEM,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAJ9C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,QAAQ,EAAE,EAAE;iBACf,CAAA;;;ACCK,MAAgB,2BAA4B,SAAQ,oBAAoB,CAAA;IAQ7E,WAAsB,CAAA,aAA4B,EAAY,KAAwB,EAAA;AACrF,QAAA,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AADP,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAAY,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAmB;AAPtF,QAAA,IAAa,CAAA,aAAA,GAAW,KAAK,CAAC;KAS7B;IAED,QAAQ,GAAA;QACP,KAAK,CAAC,QAAQ,EAAE,CAAC;KACjB;AAED,IAAA,kCAAkC,CACjC,aAAqB,EACrB,MAAyB,EACzB,cAAuB,EACvB,WAAsB,GAAA,SAAS,EAC/B,aAAA,GAAwB,SAAS,EACjC,iBAAyB,SAAS,EAAA;AAElC,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAC7C,MAAM,EACN,cAAc,EACd,WAAW,EACX,aAAa,EACb,cAAc,CACd,CAAC;AACF,QAAA,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;AAC1B,QAAA,MAAM,4BAA4B,GAAG;YACpC,sBAAsB,EAAE,SAAS,CAAC,sBAAsB;AACxD,YAAA,aAAa,EAAE,aAAa;AAC5B,YAAA,cAAc,EAAE,cAAc;SAC9B,CAAC;QACF,OAAO;AACN,YAAA,4BAA4B,EAAE,4BAA4B;AAC1D,YAAA,MAAM,EAAE,MAAM;SACd,CAAC;KACF;AAED,IAAA,uBAAuB,CACtB,MAAyB,EACzB,cAAuB,EACvB,WAAA,GAAsB,SAAS,EAC/B,aAAwB,GAAA,SAAS,EACjC,cAAA,GAAyB,SAAS,EAAA;;QAGlC,MAAM,oBAAoB,GAAG,cAAc,IAAI,SAAS,IAAI,cAAc,IAAI,KAAK,CAAC;QACpF,IAAI,qBAAqB,GAAG,oBAAoB;cAC7C,MAAM,CAAC,kBAAkB;AAC3B,cAAE,MAAM,CAAC,mBAAmB,CAAC;;AAE9B,QAAA,IAAI,qBAAqB,IAAI,SAAS,IAAI,qBAAqB,IAAI,IAAI,EAAE;AACxE,YAAA,WAAW,GAAG,WAAW,IAAI,SAAS,GAAG,CAAC,GAAG,WAAW,CAAC;AACzD,YAAA,aAAa,GAAG,aAAa,IAAI,SAAS,GAAG,CAAC,GAAG,aAAa,CAAC;AAC/D,YAAA,cAAc,GAAG,cAAc,IAAI,SAAS,GAAG,CAAC,GAAG,cAAc,CAAC;AAClE,YAAA,qBAAqB,GAAG,IAAI,sBAAsB,EAAE,CAAC;AACrD,SAAA;AAAM,aAAA;YACN,WAAW;AACV,gBAAA,WAAW,IAAI,SAAS,GAAG,qBAAqB,CAAC,WAAW,GAAG,WAAW,CAAC;YAC5E,aAAa;AACZ,gBAAA,aAAa,IAAI,SAAS,GAAG,qBAAqB,CAAC,aAAa,GAAG,aAAa,CAAC;YAClF,cAAc;AACb,gBAAA,cAAc,IAAI,SAAS,GAAG,qBAAqB,CAAC,cAAc,GAAG,cAAc,CAAC;AACrF,SAAA;AACD,QAAA,qBAAqB,CAAC,WAAW,GAAG,WAAW,CAAC;AAChD,QAAA,qBAAqB,CAAC,aAAa,GAAG,aAAa,CAAC;AACpD,QAAA,qBAAqB,CAAC,cAAc,GAAG,cAAc,CAAC;AACtD,QAAA,IAAI,oBAAoB,EAAE;AACzB,YAAA,MAAM,CAAC,kBAAkB,GAAG,qBAAqB,CAAC;AAClD,SAAA;AAAM,aAAA;AACN,YAAA,MAAM,CAAC,mBAAmB,GAAG,qBAAqB,CAAC;AACnD,SAAA;QACD,OAAO;AACN,YAAA,sBAAsB,EAAE,qBAAqB;AAC7C,YAAA,MAAM,EAAE,MAAM;SACd,CAAC;KACF;AAED;;;;AAIG;AACG,IAAA,+BAA+B,CAAC,aAAsB,EAAA;;YAC3D,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,+BAA+B,CACtE,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,OAAO,EACZ,aAAa,CACb,CAAC,SAAS,EAAE,CAAC;AACd,YAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,oBAAoB,CAAC;AAC/C,YAAA,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAI;AAC9B,gBAAA,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AACjC,aAAC,CAAC,CAAC;SACH,CAAA,CAAA;AAAA,KAAA;;wHAlGoB,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAxD,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,sFAFnC,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;2FAEM,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAJhD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,yBAAyB;AACnC,oBAAA,QAAQ,EAAE,EAAE;iBACf,CAAA;;;MCCY,sBAAsB,CAAA;IASlC,WAAoB,CAAA,WAAwB,EAAU,UAAsB,EAAA;AAAxD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;AAEhF,IAAA,OAAO,CAAC,mBAAwC,EAAA;AAC/C,QAAA,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,YAAY,KAAI;YACzC,IAAI,mBAAmB,CAAC,UAAU,EAAE;AACnC,gBAAA,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;AAC/C,gBAAA,IAAI,CAAC,UAAU,GAAG,mBAAmB,CAAC,UAAU,CAAC;AACjD,gBAAA,IAAI,CAAC,UAAU;AACb,qBAAA,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC;AACjC,qBAAA,SAAS,CAAC,CAAC,IAAkB,KAAI;AACjC,oBAAA,IAAI,IAAI,EAAE;wBACT,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,SAAS,CAAC;wBAC5D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;wBAC9C,YAAY,CAAC,IAAI,EAAE,CAAC;wBACpB,YAAY,CAAC,QAAQ,EAAE,CAAC;AACxB,qBAAA;AACF,iBAAC,CAAC,CAAC;AACJ,aAAA;AACD,YAAA,OAAO,EAAE,WAAW,GAAI,GAAC,EAAE,CAAC;AAC7B,SAAC,CAAC,CAAC;KACH;IAED,SAAS,CAAC,UAAe,EAAE,mBAAwC,EAAA;AAClE,QAAA,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,KAAI;YACrC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,MAAK;AAChD,gBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CACxC,QAAQ,CAAC,YAAY,EACrB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,mBAAmB,CAAC,aAAa,EACtC,UAAU,CAAC,IAAI,CACf,CAAC;AACF,gBAAA,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,SAAS,CACtD,CAAC,GAAG,KAAI;AACP,oBAAA,IAAI,GAAG,EAAE;AACR,wBAAA,IAAI,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAC5B,wBAAA,OAAO,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;AAC/B,wBAAA,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;AAClB,wBAAA,OAAO,CAAC,yBAAyB,GAAG,KAAK,CAAC;AAC1C,wBAAA,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBACvB,QAAQ,CAAC,QAAQ,EAAE,CAAC;AACpB,qBAAA;AACF,iBAAC,EACD,CAAC,KAAK,KAAI;AACT,oBAAA,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;AAClD,iBAAC,CACD,CAAC;AACH,aAAC,CAAC,CAAC;AACH,YAAA,OAAO,EAAE,WAAW,GAAI,GAAC,EAAE,CAAC;AAC7B,SAAC,CAAC,CAAC;KACH;;mHA5DW,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAyD,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cAFtB,MAAM,EAAA,CAAA,CAAA;2FAEN,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;MCAY,gCAAgC,CAAA;IAG5C,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAFnF,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEK;;AAG/F,IAAA,IAAI,CAAC,2BAAwD,EAAA;QAC5D,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,gCAAgC,EACtE,2BAA2B,EAC3B,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,YAAY,CAAC,2BAA0D,EAAA;QACtE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,wCAAwC,EAC9E,2BAA2B,EAC3B,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AApBW,gCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gCAAgC,kBAGxB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,gCAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gCAAgC,cAFhC,MAAM,EAAA,CAAA,CAAA;2FAEN,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAH5C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCHrB,yBAAyB,CAAA;IAGrC,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAFnF,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEK;AAE/F,IAAA,yBAAyB,CAAC,mBAAwC,EAAA;AACjE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;AACvC,YAAA,+CAA+C,EAChD,mBAAmB,EACnB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,IAAI,CAAC,kBAAsC,EAAA;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,0BAA0B,EACrE,kBAAkB,EAClB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,iBAAiB,CAAC,kBAAsC,EAAA;QACvD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,uCAAuC,EAClF,kBAAkB,EAClB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;IAED,gCAAgC,CAAC,cAAsB,EAAE,UAAkB,EAAA;AAC1E,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;AACvC,YAAA,sDAAsD,EACvD;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC;AAC7B,iBAAA,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC;AACvC,SAAA,CACD,CAAC;KACF;;AAzCW,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,kBAGjB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,yBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,cAFzB,MAAM,EAAA,CAAA,CAAA;2FAEN,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCHrB,oBAAoB,CAAA;IAEhC,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AADnF,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KACK;AAE/F,IAAA,qCAAqC,CACpC,mBAAwC,EAAA;AAExC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,uDAAuD,EACxD,mBAAmB,EACnB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,2CAA2C,CAC1C,mBAAwC,EAAA;AAExC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,8DAA8D,EAC/D,mBAAmB,EACnB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,yCAAyC,CACxC,mBAAwC,EAAA;AAExC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,2DAA2D,EAC5D,mBAAmB,EACnB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,yBAAyB,CAAC,mBAAwC,EAAA;AACjE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,wDAAwD,EACzD,mBAAmB,EACnB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AA5CW,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,kBAEZ,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAFrB,oBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cAFpB,MAAM,EAAA,CAAA,CAAA;2FAEN,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAGa,MAAM;+BAAC,aAAa,CAAA;;;;MCFrB,mBAAmB,CAAA;IAC/B,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;AAE1F,IAAA,IAAI,CAAC,mBAAyC,EAAA;QAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,oBAAoB,EAC1D,mBAAmB,CACnB,CAAC;KACF;AAED,IAAA,cAAc,CAAC,mBAAyC,EAAA;QACvD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,2BAA2B,EACtE,mBAAmB,CACnB,CAAC;KACF;;AAfW,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,kBACX,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,mBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFnB,MAAM,EAAA,CAAA,CAAA;2FAEN,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCHrB,2BAA2B,CAAA;IACvC,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;AAE/F,IAAA,iBAAiB,CAAC,QAAgB,EAAE,WAAmB,EAAE,GAAG,aAAa,EAAA;AACxE,QAAA,IAAI,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;AAClC,QAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1D,QAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AAChE,QAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,QAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,0BAA0B,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1E,QAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,4BAA4B,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5E,QAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,sBAAsB,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,QAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,6BAA6B,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7E,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,kCAAkC,EAC7E,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC,EAAE,CACrC,CAAC;KACF;IAED,iBAAiB,CAChB,QAAgB,EAChB,gBAAwB,EACxB,gBAAwB,EACxB,GAAG,aAAa,EAAA;AAEhB,QAAA,IAAI,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;AAClC,QAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1D,QAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,QAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,0BAA0B,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1E,QAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,sBAAsB,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,QAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,6BAA6B,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7E,QAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAC1E,QAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAE1E,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,kCAAkC,EAC7E,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC,EAAE,CACrC,CAAC;KACF;;AArCW,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,kBACnB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,2BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,cAF3B,MAAM,EAAA,CAAA,CAAA;2FAEN,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAHvC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCCrB,wBAAwB,CAAA;IACpC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;AAElF,IAAA,mBAAmB,CAAC,WAAmB,EAAE,YAAqB,EAAE,WAAoB,EAAA;QAC3F,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAG,EAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAA,mDAAA,EAAsD,WAAW,CAAA,cAAA,EAAiB,YAAY,CAAgB,aAAA,EAAA,WAAW,CAAE,CAAA,CACtK,CAAC;KACD;AAEM,IAAA,0BAA0B,CAAC,WAAmB,EAAA;QACtD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,6DAA6D,WAAW,CAAA,CAAE,CACrH,CAAC;KACF;AAEQ,IAAA,iBAAiB,CAAC,UAAkB,EAAA;QAC3C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,mDAAmD,UAAU,CAAA,CAAE,CAC1G,CAAC;KACF;IAEM,MAAM,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAA,yBAAA,CAA2B,CACtE,CAAC;KACF;AAEM,IAAA,OAAO,CAAC,EAAU,EAAA;QACxB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,iCAAiC,EAAE,CAAA,CAAE,CAChF,CAAC;KACF;AAEM,IAAA,SAAS,CAAC,IAAY,EAAA;QAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,qCAAqC,IAAI,CAAA,CAAE,CACtF,CAAC;KACF;AAEM,IAAA,aAAa,CAAC,UAAkB,EAAA;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,+CAA+C,UAAU,CAAA,CAAE,CACtG,CAAC;KACF;AAEM,IAAA,gBAAgB,CAAC,WAAmB,EAAA;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,mDAAmD,WAAW,CAAA,CAAE,CAC3G,CAAC;KACF;AAEM,IAAA,kBAAkB,CAAC,aAAqB,EAAA;QAC9C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,uDAAuD,aAAa,CAAA,CAAE,CACjH,CAAC;KACF;AAEM,IAAA,IAAI,CAAC,EAAqB,EAAA;QAChC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,yBAAyB,EACpE,EAAE,CACF,CAAC;KACD;AAEM,IAAA,YAAY,CAAC,IAAY,EAAA;QAChC,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,wCAAwC,IAAI,CAAA,CAAE,CACzF,CAAC;KACD;AAEM,IAAA,gBAAgB,CAAC,UAAkB,EAAA;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,kDAAkD,UAAU,CAAA,CAAE,CACzG,CAAC;KACD;AAEM,IAAA,mBAAmB,CAAC,WAAmB,EAAA;QAC9C,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,sDAAsD,WAAW,CAAA,CAAE,CAC9G,CAAC;KACD;;AAhFU,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,kBAChB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,wBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cAFxB,MAAM,EAAA,CAAA,CAAA;2FAEN,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCFrB,kBAAkB,CAAA;IAC9B,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;AAE/F,IAAA,uBAAuB,CACtB,UAAkB,EAClB,aAAqB,EACrB,UAAkB,EAAA;AAElB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,sCAAsC,EACjF;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AACnC,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC;AAC7B,iBAAA,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;AACvC,SAAA,CACD,CAAC;KACF;IAED,cAAc,CAAC,UAAkB,EAAE,cAAwB,EAAA;AAC1D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,6BAA6B,EACxE,cAAc,EACd;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;AAC9D,SAAA,CACD,CAAC;KACF;IAED,kBAAkB,CAAC,cAAwB,EAAE,UAAkB,EAAA;AAC9D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,iCAAiC,EAC5E,cAAc,EACd;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;AAC9D,SAAA,CACD,CAAC;KACF;IAED,gCAAgC,CAAC,cAAsB,EAAE,UAAkB,EAAA;AAC1E,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;AACvC,YAAA,+CAA+C,EAChD;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;AACrC,iBAAA,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC;AACvC,SAAA,CACD,CAAC;KACF;;AAjDW,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,kBACV,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,kBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFlB,MAAM,EAAA,CAAA,CAAA;2FAEN,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCUrB,sBAAsB,CAAA;IAClC,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;;AAG/F,IAAA,oCAAoC,CACnC,mBAAwC,EAAA;QAExC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,4CAA4C,EACvF,mBAAmB,CACnB,CAAC;KACF;;AAXW,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,kBACd,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,sBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cAFtB,MAAM,EAAA,CAAA,CAAA;2FAEN,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCZrB,6BAA6B,CAAA;IAGzC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAF9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEA;AAE1F,IAAA,8BAA8B,CAAC,UAAkB,EAAA;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,4CAA4C,EACvF,UAAU,EACV,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,OAAO,CAAC,UAAkB,EAAA;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,qBAAqB,EAChE,UAAU,EACV,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,mDAAmD,CAClD,WAAmB,EACnB,UAAkB,EAClB,MAAe,EAAA;AAEf,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;AACvC,YAAA,iEAAiE,EAClE;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC;AAC1C,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACxC,iBAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAClC,SAAA,CACD,CAAC;KACF;AAED,IAAA,0BAA0B,CAAC,UAAkB,EAAA;AAC5C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,8BAA8B,EACzE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrE,CAAC;KACF;AAED,IAAA,cAAc,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAA;QAC5C,IAAI,MAAM,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,4BAA4B,EACvE,MAAM,EACN,IAAI,CAAC,UAAU,CACf,CAAC;KACF;IAED,WAAW,CACV,IAAa,EACb,UAAkB,EAClB,SAAiB,EACjB,SAAiB,EACjB,MAAM,EAAA;AAEN,QAAA,IAAI,MAAM,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAChE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,gBAAgB,EACtD,MAAM,EACN,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,QAAQ,CAAC,UAAkB,EAAA;AAC1B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;YACvC,kCAAkC;AAClC,YAAA,UAAU,CACX,CAAC;KACF;AAED,IAAA,eAAe,CAAC,UAAkB,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;YACvC,sCAAsC;AACtC,YAAA,UAAU,CACX,CAAC;KACF;AAED,IAAA,aAAa,CAAC,UAAkB,EAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;YACvC,oCAAoC;AACpC,YAAA,UAAU,CACX,CAAC;KACF;;AA3FW,6BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,kBAGrB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,6BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,cAF7B,MAAM,EAAA,CAAA,CAAA;2FAEN,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAHzC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCFrB,2BAA2B,CAAA;IAEvC,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AADnF,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KACK;;AAG/F,IAAA,IAAI,CAAC,sBAA8C,EAAA;QAClD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,sBAAsB,EAC5D,sBAAsB,CACtB,CAAC;KACF;;AAVW,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,kBAEnB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAFrB,2BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,cAF3B,MAAM,EAAA,CAAA,CAAA;2FAEN,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAHvC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAGa,MAAM;+BAAC,aAAa,CAAA;;;;MCFrB,gCAAgC,CAAA;IAC5C,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;IAE/F,+BAA+B,CAC9B,aAAqB,EACrB,uBAA+B,EAAA;AAE/B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,iCAAiC,EAC7E;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AACnC,iBAAA,GAAG,CAAC,yBAAyB,EAAE,uBAAuB,CAAC,QAAQ,EAAE,CAAC;AACpE,SAAA,CACD,CAAC;KACF;AAED,IAAA,IAAI,CAAC,yBAAoD,EAAA;QACxD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,MAAM,EAClD,yBAAyB,CACzB,CAAC;KACF;;AAtBW,gCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gCAAgC,kBACxB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,gCAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gCAAgC,cAFhC,MAAM,EAAA,CAAA,CAAA;2FAEN,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAH5C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCDrB,oCAAoC,CAAA;IAEhD,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AADnF,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KACK;IAE/F,6BAA6B,CAAC,UAAkB,EAAE,cAAsB,EAAA;AACvE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,mDAAmD,EACpD;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;AACrC,iBAAA,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;AAC/C,SAAA,CACD,CAAC;KACF;;AAdW,oCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oCAAoC,kBAE5B,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAFrB,oCAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oCAAoC,cAFpC,MAAM,EAAA,CAAA,CAAA;2FAEN,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBAHhD,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAGa,MAAM;+BAAC,aAAa,CAAA;;;;MCHrB,kCAAkC,CAAA;IAC9C,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;AAE/F,IAAA,eAAe,CAAC,QAAgB,EAAA;AAC/B,QAAA,IAAI,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;AAClC,QAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC5D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB;YAC7C,gDAAgD,EACjD,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC,EAAE,CACrC,CAAC;KACF;AAED,IAAA,IAAI,CAAC,2BAAwD,EAAA;QAC5D,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,qCAAqC,EACtF,2BAA2B,CAC3B,CAAC;KACF;;AAlBW,kCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kCAAkC,kBAC1B,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,kCAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kCAAkC,cAFlC,MAAM,EAAA,CAAA,CAAA;2FAEN,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAH9C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCDrB,wBAAwB,CAAA;IACpC,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;IAE/F,MAAM,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,6BAA6B,CAC9E,CAAC;KACF;AAED,IAAA,IAAI,CAAC,iBAAoC,EAAA;QACxC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,2BAA2B,EAC5E,iBAAiB,CACjB,CAAC;KACF;AAED,IAAA,MAAM,CAAC,EAAU,EAAA;AAChB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,sBAAsB,EACvE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAClD,CAAC;KACF;IAED,cAAc,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,qCAAqC,CAAC,CAAC;KAC1F;;AA1BW,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,kBAChB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,wBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cAFxB,MAAM,EAAA,CAAA,CAAA;2FAEN,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCCrB,gBAAgB,CAAA;IAE5B,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AADnF,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KACM;AAEhG,IAAA,yBAAyB,CAAC,mBAAwC,EAAA;QACjE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,sCAAsC,EACpF,mBAAmB,EACnB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,SAAS,CAAC,kBAAsC,EAAA;QAC/C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,iBAAiB,EAC/D,kBAAkB,EAClB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,cAAc,CAAC,cAAsB,EAAE,UAAkB,EAAE,UAAkB,EAAA;AAC5E,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,2CAA2C,GAAG,cAAc,GAAG,cAAc,GAAG,UAAU,GAAG,cAAc,GAAG,UAAU,EACtK,IAAI,CACJ,CAAC;KACF;AAEA,IAAA,WAAW,CAAC,cAAsB,EAAE,UAAkB,EAAE,OAAe,EAAA;AACrE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,4CAA4C,GAAG,cAAc,GAAG,cAAc,GAAG,UAAU,GAAG,eAAe,GAAG,OAAO,EACrK,IAAI,CACJ,CAAC;KACD;AAED,IAAA,cAAc,CAAC,cAAsB,EAAE,UAAkB,EAAE,UAAkB,EAAE,UAAkB,EAAA;AAC/F,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,2CAA2C,GAAG,cAAc,GAAG,cAAc,GAAG,UAAU,GAAG,cAAc,GAAG,UAAU,GAAG,cAAc,GAAG,UAAU,EACpM,IAAI,CACJ,CAAC;KACD;IAED,YAAY,CAAC,UAAkB,EAAE,cAAsB,EAAA;AACvD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,sDAAsD,EACvD;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;AACrC,iBAAA,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;AAC/C,SAAA,CACD,CAAC;KACD;AAED,IAAA,aAAa,CAAC,cAAsB,EAAE,UAAkB,EAAE,SAAiB,EAAA;AACzE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,0CAA0C,GAAG,cAAc,GAAG,cAAc,GAAG,UAAU,GAAG,aAAa,GAAG,SAAS,EACnK,IAAI,CACJ,CAAC;KACD;;AA1DU,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,kBAER,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAFrB,gBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cAFhB,MAAM,EAAA,CAAA,CAAA;2FAEN,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAGa,MAAM;+BAAC,aAAa,CAAA;;;;MCHrB,sBAAsB,CAAA;IAElC,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AADnF,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KACM;AAEhG,IAAA,yBAAyB,CAAC,mBAAwC,EAAA;AACjE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC3C,YAAA,4CAA4C,EAC5C,mBAAmB,EACnB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,qBAAqB,CAAC,yBAAoD,EAAA;QACzE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,wCAAwC,EACtF,yBAAyB,CACzB,CAAC;KACF;AAED,IAAA,oBAAoB,CAAC,OAAsB,EAAA;AAC1C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;YAC3C,uCAAuC,EACvC,OAAO,CACP,CAAC;KACF;AAED,IAAA,mBAAmB,CAAC,OAAsB,EAAA;AACzC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,sCAAsC,EACpF;AACC,YAAA,IAAI,EAAE,OAAO;AACb,SAAA,CACD,CAAC;KACF;;AAnCW,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,kBAEd,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAFrB,sBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cAFtB,MAAM,EAAA,CAAA,CAAA;2FAEN,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAGa,MAAM;+BAAC,aAAa,CAAA;;;;MCFrB,oBAAoB,CAAA;IAEhC,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AADnF,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KACK;AAE/F,IAAA,yBAAyB,CAAC,mBAAwC,EAAA;AACjE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,0CAA0C,EAC3C,mBAAmB,EACnB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,qBAAqB,CAAC,yBAAoD,EAAA;QACzE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,sCAAsC,EACpF,yBAAyB,CACzB,CAAC;KACF;AAED,IAAA,2BAA2B,CAAC,qBAA4C,EAAA;AACvE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;YAC1C,4CAA4C,EAC7C,qBAAqB,CACrB,CAAC;KACF;AAED,IAAA,MAAM,CAAC,uBAA+B,EAAE,gBAAgB,GAAG,KAAK,EAAA;AAC/D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;YAC1C,kDAAkD;AAClD,YAAA,gBAAgB,EACjB;YACC,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;AAChF,SAAA,CACD,CAAC;KACF;AAED,IAAA,+BAA+B,CAAC,wBAAkC,EAAE,gBAAgB,GAAG,KAAK,EAAA;AAC3F,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;YAC1C,qEAAqE;AACrE,YAAA,gBAAgB,EACjB,wBAAwB,EACxB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,gBAAgB,CAAC,OAAY,EAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,0CAA0C,EAC3C,OAAO,EACP,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,qBAAqB,CAAC,OAAY,EAAA;QACjC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,GAAG,gCAAgC,EAClF,OAAO,EACP,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAhEW,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,kBAEZ,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAFrB,oBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cAFpB,MAAM,EAAA,CAAA,CAAA;2FAEN,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAGa,MAAM;+BAAC,aAAa,CAAA;;;;MCFrB,iBAAiB,CAAA;IAE7B,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AADnF,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KACM;IAEhG,yBAAyB,CAAC,cAAsB,EAAE,gBAAwB,EAAA;AACzE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC3C,YAAA,8BAA8B,EAC9B;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACjD,iBAAA,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;AAC/C,SAAA,CACD,CAAC;KACF;AAED,IAAA,0BAA0B,CAAC,sBAA8C,EAAA;QACxE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,wCAAwC,EACtF,sBAAsB,CACtB,CAAC;KACF;AAED,IAAA,qBAAqB,CAAC,IAAY,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC3C,YAAA,mCAAmC,EACnC;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC;AACnB,SAAA,CACD,CAAC;KACF;;AAhCW,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,kBAET,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAFrB,iBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFjB,MAAM,EAAA,CAAA,CAAA;2FAEN,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAGa,MAAM;+BAAC,aAAa,CAAA;;;;MCQrB,aAAa,CAAA;IAGzB,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAFnF,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEK;;AAG/F,IAAA,OAAO,CAAC,EAAU,EAAA;AACjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,iBAAiB,EAC/D;YACC,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;AACtC,SAAA,CACD,CAAC;KACF;;AAGD,IAAA,wBAAwB,CAAC,mBAAwC,EAAA;QAChE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,kCAAkC,EAChF,mBAAmB,CACnB,CAAC;KACF;IAED,qBAAqB,CAAC,WAAmB,EAAE,cAAsB,EAAA;AAChE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,6CAA6C,EAC9C;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC;AACrC,iBAAA,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;AACzC,SAAA,CACD,CAAC;KACF;;AAjCW,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,kBAGL,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,aAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFb,MAAM,EAAA,CAAA,CAAA;2FAEN,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCbrB,aAAa,CAAA;IAGzB,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAFnF,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEK;;AAG/F,IAAA,aAAa,CAAC,QAAkB,EAAA;QAC/B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,uBAAuB,EACrE,QAAQ,CACR,CAAC;KACF;;AAXW,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,kBAGL,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,aAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFb,MAAM,EAAA,CAAA,CAAA;2FAEN,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCHrB,4BAA4B,CAAA;IAExC,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AADnF,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KACK;AAE/F,IAAA,yBAAyB,CAAC,mBAAwC,EAAA;AACjE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,mDAAmD,EACpD,mBAAmB,EACnB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,qBAAqB,CAAC,yBAAoD,EAAA;AACzE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;YAC1C,+CAA+C,EAChD,yBAAyB,CACzB,CAAC;KACF;AAED,IAAA,2BAA2B,CAAC,qBAA4C,EAAA;AACvE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;YAC1C,qDAAqD,EACtD,qBAAqB,CACrB,CAAC;KACF;;AA3BW,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,kBAEpB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAFrB,4BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,cAF5B,MAAM,EAAA,CAAA,CAAA;2FAEN,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAHxC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAGa,MAAM;+BAAC,aAAa,CAAA;;;;MCFrB,wCAAwC,CAAA;IAEpD,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AADnF,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KACK;AAE/F,IAAA,iBAAiB,CAAC,0BAAsD,EAAA;AACvE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB;AAC7C,YAAA,6CAA6C,EAC9C,0BAA0B,EAC1B,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,+BAA+B,CAAC,UAAkB,EAAA;AACjD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB;AAC7C,YAAA,2DAA2D,EAC5D,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrE,CAAC;KACF;AAED,IAAA,oBAAoB,CAAC,EAAU,EAAA;AAC9B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB;AAC7C,YAAA,gDAAgD,EACjD,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrD,CAAC;KACF;AAED,IAAA,gCAAgC,CAC/B,0BAAsD,EAAA;AAEtD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB;YAC7C,4DAA4D,EAC7D,0BAA0B,CAC1B,CAAC;KACF;IAED,uBAAuB,CAAC,EAAU,EAAE,UAAkB,EAAA;AACrD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB;YAC7C,mDAAmD,EACpD,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,EAAE,CACnF,CAAC;KACF;IAED,eAAe,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB;AAC7C,YAAA,2CAA2C,CAC5C,CAAC;KACF;IAED,yBAAyB,CACxB,mBAAwB,EACxB,8BAAmC,EAAA;AAEnC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB;YAC7C,CAA2E,wEAAA,EAAA,mBAAmB,mCAAmC,8BAA8B,CAAA,CAAE,EAClK,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AA/DW,wCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wCAAwC,kBAEhC,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAFrB,wCAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wCAAwC,cAFxC,MAAM,EAAA,CAAA,CAAA;2FAEN,wCAAwC,EAAA,UAAA,EAAA,CAAA;kBAHpD,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAGa,MAAM;+BAAC,aAAa,CAAA;;;;MCFrB,oBAAoB,CAAA;IAGhC,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAFnF,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,qBAAqB,EAAE,CAAC,EAAE,CAAC;KAEE;;AAG/F,IAAA,OAAO,CAAC,EAAU,EAAA;AACjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,uBAAuB,EAClE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAC1C,CAAC;KACF;;AAGD,IAAA,YAAY,CAAC,EAAU,EAAA;AACtB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,4BAA4B,EACxE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAC1C,CAAC;KACF;;AAGD,IAAA,cAAc,CAAC,UAAkB,EAAA;AAChC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,8BAA8B,EACzE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,CACpE,CAAC;KACF;;AAGD,IAAA,aAAa,CAAC,QAAgB,EAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,6BAA6B,EACzE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CACtD,CAAC;KACF;;IAGD,yBAAyB,CAAC,QAAgB,EAAE,SAAiB,EAAA;AAC5D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,yCAAyC,EACrF;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC;AACzB,iBAAA,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;AACxC,SAAA,CACD,CAAC;KACF;;AAGD,IAAA,IAAI,CAAC,aAA4B,EAAA;QAChC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,oBAAoB,EAChE,aAAa,CACb,CAAC;KACF;;AAvDW,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,kBAGZ,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,oBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cAFpB,MAAM,EAAA,CAAA,CAAA;2FAEN,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCHrB,wBAAwB,CAAA;IAEpC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAD9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KACA;;AAG1F,IAAA,mBAAmB,CAAC,UAAkB,EAAA;AACrC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,0CAA0C,EAC3C,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrE,CAAC;KACF;AAED;;;;AAIG;AACH,IAAA,IAAI,CAAC,kBAA2C,EAAA;QAC/C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,8BAA8B,EAC5E,kBAAkB,EAClB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,OAAO,CAAC,kBAA6C,EAAA;QACpD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,iCAAiC,EAC/E,kBAAkB,EAClB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAjCW,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,kBAEhB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAFrB,wBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cAFxB,MAAM,EAAA,CAAA,CAAA;2FAEN,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAGa,MAAM;+BAAC,aAAa,CAAA;;;;MCKrB,mBAAmB,CAAA;IAC/B,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAE9E,QAAA,IAAA,CAAA,+BAA+B,GAAG,IAAI,OAAO,EAAW,CAAC;KAFyB;AAI1F,IAAA,sBAAsB,CAAC,aAAqB,EAAA;AAC3C,QAAA,IAAI,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;AAClC,QAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;QAEpE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,oCAAoC,EAC/E,EAAE,MAAM,EAAE,UAAU,EAAE,CACtB,CAAC;KACF;IAED,yBAAyB,CAAC,OAAgB,EAAE,aAAqB,EAAA;AAChE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;YACvC,sDAAsD;YACtD,aAAa,EACd,OAAO,CACP,CAAC;KACF;AAED,IAAA,oBAAoB,CAAC,aAAqB,EAAA;AACzC,QAAA,IAAI,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;AAClC,QAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;QAEpE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,mCAAmC,EAC9E,EAAE,MAAM,EAAE,UAAU,EAAE,CACtB,CAAC;KACF;AAED,IAAA,eAAe,CAAC,aAAqB,EAAA;AACpC,QAAA,IAAI,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;AAClC,QAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,8BAA8B,EACzE,EAAE,MAAM,EAAE,UAAU,EAAE,CACtB,CAAC;KACF;AAED,IAAA,YAAY,CAAC,aAAqB,EAAA;AACjC,QAAA,IAAI,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;AAClC,QAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,2BAA2B,EACtE,EAAE,MAAM,EAAE,UAAU,EAAE,CACtB,CAAC;KACF;AAED,IAAA,oCAAoC,CAAC,EACpC,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,MAAM,EACN,YAAY,EACZ,MAAM,EACN,EAAA;AACA,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;AACvC,YAAA,mDAAmD,EACpD;YACC,aAAa;YACb,UAAU;YACV,iBAAiB;YACjB,eAAe;YACf,MAAM;YACN,YAAY;YACZ,eAAe;YACf,MAAM;AACN,SAAA,CACD,CAAC;KACF;IAED,2BAA2B,CAAC,aAAqB,EAAE,YAAsC,EAAA;QACxF,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAA,uDAAA,EAA0D,aAAa,CAAE,CAAA,EACpH,YAAY,CACZ,CAAC;KACF;IAED,kCAAkC,CAAC,aAAqB,EAAE,UAAkB,EAAA;AAC3E,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;AACvC,YAAA,gDAAgD,EACjD;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;AAC3C,iBAAA,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;AACvC,SAAA,CACD,CAAC;KACF;IAED,kCAAkC,GAAA;AACjC,QAAA,OAAO,IAAI,CAAC,+BAA+B,CAAC,YAAY,EAAE,CAAC;KAC3D;IAED,kCAAkC,CAAC,qCAA8C,KAAK,EAAA;AACrF,QAAA,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;KAC9E;IAED,4BAA4B,CAAC,aAAqB,EAAE,MAAW,EAAA;AAC9D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;YACvC,mDAAmD;YACnD,aAAa,EACd,MAAM,CACN,CAAC;KACF;IAED,wBAAwB,CAAC,aAAqB,EAAE,SAAoB,EAAA;AACnE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;YACvC,oDAAoD;YACpD,aAAa,EACd,SAAS,CACT,CAAC;KACF;IAED,2BAA2B,CAAC,aAAqB,EAAE,uBAAgC,EAAA;AAClF,QAAA,IAAI,UAAU,GAAG;AAChB,YAAA,aAAa,EAAE,aAAa;AAC5B,YAAA,uBAAuB,EAAE,uBAAuB;SAChD,CAAC;QACF,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,0CAA0C,EACrF,UAAU,EACV,WAAW,CACX,CAAC;KACF;AAED,IAAA,aAAa,CAAC,aAAqB,EAAA;AAClC,QAAA,IAAI,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;AAClC,QAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;QAEpE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,2BAA2B,EACtE,EAAE,MAAM,EAAE,UAAU,EAAE,CACtB,CAAC;KACF;IAED,2BAA2B,CAAC,aAAqB,EAAE,cAAsB,EAAA;AACxE,QAAA,IAAI,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;AAClC,QAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;AACpE,QAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;QAEtE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,GAAG,0CAA0C,EACjF,EAAE,MAAM,EAAE,UAAU,EAAE,CACtB,CAAC;KACF;IAED,oBAAoB,CAAC,aAAqB,EAAE,cAAsB,EAAA;AACjE,QAAA,IAAI,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;AAClC,QAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;AACpE,QAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;QAEtE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,GAAG,mCAAmC,EAC1E,EAAE,MAAM,EAAE,UAAU,EAAE,CACtB,CAAC;KACF;AAED,IAAA,4CAA4C,CAC3C,aAAqB,EACrB,cAAsB,EACtB,uBAA+B,EAAA;AAE/B,QAAA,IAAI,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;AAClC,QAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;AACpE,QAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;AACtE,QAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,yBAAyB,EAAE,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC;AAExF,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW;AACnC,YAAA,2DAA2D,EAC5D,EAAE,MAAM,EAAE,UAAU,EAAE,CACtB,CAAC;KACF;IAED,qCAAqC,CACpC,aAAqB,EACrB,cAAsB,EAAA;AAEtB,QAAA,IAAI,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;AAClC,QAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;AACpE,QAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;AAEtE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW;AACnC,YAAA,oDAAoD,EACrD,EAAE,MAAM,EAAE,UAAU,EAAE,CACtB,CAAC;KACF;IAED,YAAY,CAAC,aAAqB,EAAE,QAAkB,EAAA;QACrD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAA,wCAAA,EAA2C,aAAa,CAAE,CAAA,EACrG,QAAQ,CACR,CAAC;KACF;IAED,oBAAoB,CAAC,aAAqB,EAAE,QAAkB,EAAA;QAC7D,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAA,gDAAA,EAAmD,aAAa,CAAE,CAAA,EAC7G,QAAQ,CACR,CAAC;KACF;AAED,IAAA,qCAAqC,CACpC,aAAqB,EACrB,cAAsB,EACtB,QAAkB,EAAA;QAElB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,CAAG,EAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAA,iEAAA,EAAoE,aAAa,CAAA,gBAAA,EAAmB,cAAc,CAAE,CAAA,EAC/J,QAAQ,CACR,CAAC;KACF;AAED,IAAA,oBAAoB,CAAC,aAAqB,EAAE,cAAsB,EAAE,QAAkB,EAAA;QACrF,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,CAAG,EAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAA,gDAAA,EAAmD,aAAa,CAAA,gBAAA,EAAmB,cAAc,CAAE,CAAA,EAC9I,QAAQ,CACR,CAAC;KACF;AAED,IAAA,0BAA0B,CAAC,aAAqB,EAAE,cAAsB,EAAE,QAAkB,EAAA;QAC3F,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,CAAG,EAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAA,sDAAA,EAAyD,aAAa,CAAA,gBAAA,EAAmB,cAAc,CAAE,CAAA,EACpJ,QAAQ,CACR,CAAC;KACF;IAED,mBAAmB,CAAC,aAAqB,EAAE,SAAkB,EAAA;QAC5D,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAA,2CAAA,EAA8C,SAAS,CAAE,CAAA,EACpG,aAAa,CACb,CAAC;KACF;IAED,kBAAkB,CAAC,aAAqB,EAAE,QAAiB,EAAA;QAC1D,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAA,yCAAA,EAA4C,QAAQ,CAAE,CAAA,EACjG,aAAa,CACb,CAAC;KACF;;AA1PW,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,kBACX,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,mBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFnB,MAAM,EAAA,CAAA,CAAA;2FAEN,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCRrB,oBAAoB,CAAA;IAGhC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAF9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEA;;AAG1F,IAAA,IAAI,CAAC,yBAAiD,EAAA;QACrD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,qBAAqB,EAC3D,yBAAyB,EACzB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAZW,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,kBAGZ,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,oBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cAFpB,MAAM,EAAA,CAAA,CAAA;2FAEN,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCHrB,2BAA2B,CAAA;IACvC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;AAE1F,IAAA,IAAI,CAAC,SAAqB,EAAA;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,oCAAoC,EAC1E,SAAS,CACT,CAAC;KACF;;AARW,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,kBACnB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,2BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,cAF3B,MAAM,EAAA,CAAA,CAAA;2FAEN,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAHvC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCFrB,oBAAoB,CAAA;IAChC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;AAE1F,IAAA,sBAAsB,CAAC,aAAkB,EAAA;QACxC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,qBAAqB,EAC3D,aAAa,CACb,CAAC;KACF;;AARW,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,kBACZ,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,oBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cAFpB,MAAM,EAAA,CAAA,CAAA;2FAEN,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCArB,4BAA4B,CAAA;IACxC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;AAE1F,IAAA,OAAO,CAAC,EAAU,EAAA;QACjB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,oCAAoC,EAAE,CAAA,CAAE,CACtF,CAAC;KACF;AAED,IAAA,eAAe,CAAC,UAAkB,EAAA;QACjC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,oDAAoD,UAAU,CAAA,CAAE,CAC9G,CAAC;KACF;AAED,IAAA,sBAAsB,CAAC,iBAAyB,EAAA;QAC/C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,kEAAkE,iBAAiB,CAAA,CAAE,CACnI,CAAC;KACF;AAED,IAAA,IAAI,CAAC,qBAA4C,EAAA;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,4BAA4B,EAC1E,qBAAqB,CACrB,CAAC;KACF;IAED,2BAA2B,CAAC,MAAc,EAAE,MAAc,EAAA;AACzD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAG,EAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,mDAAmD,EACjG;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAChC,iBAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAClC,SAAA,CACD,CAAC;KACF;;AArCW,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,kBACpB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,4BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,cAF5B,MAAM,EAAA,CAAA,CAAA;2FAEN,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAHxC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCDrB,8BAA8B,CAAA;IAG1C,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AACrF,QAAA,IAAI,CAAC,GAAG,GAAG,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,oBAAoB,CAAC;KAC9E;AAEM,IAAA,kBAAkB,CAAC,UAAkB,EAAA;AAC3C,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAA4B,IAAI,CAAC,GAAG,GAAG,oBAAoB,EAAE;YACtF,MAAM;AACN,SAAA,CAAC,CAAC;KACH;AAEM,IAAA,uBAAuB,CAAC,UAAkB,EAAA;AAChD,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,GAAG,GAAG,yBAAyB,EACpC;YACC,MAAM;AACN,SAAA,CACD,CAAC;KACF;AAEM,IAAA,IAAI,CAAC,iBAA0C,EAAA;AACrD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAA0B,IAAI,CAAC,GAAG,GAAG,MAAM,EAAE,iBAAiB,CAAC,CAAC;KAC3F;AAEM,IAAA,OAAO,CAAC,EAAU,EAAA;AACxB,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAA0B,IAAI,CAAC,GAAG,GAAG,SAAS,EAAE;YACzE,MAAM;AACN,SAAA,CAAC,CAAC;KACH;AAEM,IAAA,MAAM,CAAC,EAAU,EAAA;AACvB,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAA0B,IAAI,CAAC,GAAG,GAAG,QAAQ,EAAE;YAC3E,MAAM;AACN,SAAA,CAAC,CAAC;KACH;IAEM,gCAAgC,CACtC,MAAc,EACd,MAAc,EAAA;QAEd,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5F,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAG,EAAA,IAAI,CAAC,GAAG,+BAA+B,EAC1C,EAAE,MAAM,EAAE,CACV,CAAC;KACF;;AAnDW,8BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,8BAA8B,kBAGtB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,8BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,8BAA8B,cAF9B,MAAM,EAAA,CAAA,CAAA;2FAEN,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAH1C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCFrB,2BAA2B,CAAA;IACvC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAE9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAFA;AAI1F,IAAA,IAAI,CAAC,oBAA0C,EAAA;QAC9C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,2BAA2B,EACzE,oBAAoB,EACpB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,gBAAgB,CAAC,EAAE,gBAAgB,EAAE,YAAY,EAAE,EAAA;AAClD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;YACzC,kDAAkD,EACnD,EAAE,gBAAgB,EAAE,YAAY,EAAE,EAClC,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,gBAAgB,CAAC,YAAiB,EAAA;QACjC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,uCAAuC,EACrF,YAAY,EACZ,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,QAAQ,CAAC,EAAU,EAAA;AAClB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,+BAA+B,EAC7E;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;AACjD,SAAA,CACD,CAAC;KACF;IAED,gBAAgB,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,uCAAuC,CACrF,CAAC;KACF;AAED,IAAA,eAAe,CAAC,MAAc,EAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,sCAAsC,EACpF;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AACzD,SAAA,CACD,CAAC;KACF;;;;;;;;;;;AAaD,IAAA,MAAM,CAAC,EAAU,EAAA;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,kCAAkC,EAAE,CAAA,CAAE,CACpF,CAAC;KACF;IAED,wCAAwC,CACvC,gBAAwB,EACxB,IAAY,EAAA;QAEZ,QACC,IAAI,CAAC,UAAU;aACb,GAAG,CACH,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,2EAA2E,EAC5E;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;AACzC,iBAAA,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;SAC9B,CACD;;AAEA,aAAA,IAAI,CACJ,GAAG,CAAC,CAAC,oBAA2C,KAAI;YACnD,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;AAClC,gBAAA,MAAM,KAAK,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC;AAC9B,gBAAA,MAAM,KAAK,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC;gBAC9B,OAAO,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACnD,aAAC,CAAC,CAAC;AACH,YAAA,OAAO,oBAAoB,CAAC;SAC5B,CAAC,CACF,EACD;KACF;AAED,IAAA,yBAAyB,CAAC,oBAAyC,EAAA;AAClE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,gDAAgD,EACjD,oBAAoB,EACpB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,0BAA0B,CAAC,oBAA2C,EAAA;AACrE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,6DAA6D,EAC9D,oBAAoB,EACpB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,0BAA0B,CAAC,EAAU,EAAA;AACpC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,6DAA6D,EAC9D,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAC1C,CAAC;KACF;;AA5HW,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,kBACnB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,2BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,cAF3B,MAAM,EAAA,CAAA,CAAA;2FAEN,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAHvC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCFrB,0CAA0C,CAAA;IACtD,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;IAEnF,MAAM,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAA,0CAAA,CAA4C,CAC1F,CAAC;KACF;AAEM,IAAA,IAAI,CACV,mCAAwE,EAAA;AAExE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;YAC1C,0CAA0C,EAC3C,mCAAmC,CACnC,CAAC;KACF;AAEM,IAAA,OAAO,CAAC,EAAU,EAAA;QACxB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,kDAAkD,EAAE,CAAA,CAAE,CACpG,CAAC;KACF;AAEM,IAAA,6BAA6B,CAAC,WAAmB,EAAA;QACvD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,iFAAiF,WAAW,CAAA,CAAE,CAC5I,CAAC;KACF;AAEM,IAAA,gBAAgB,CAAC,WAAmB,EAAA;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,oEAAoE,WAAW,CAAA,CAAE,CAC/H,CAAC;KACF;AAEM,IAAA,MAAM,CAAC,EAAU,EAAA;QACvB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,iDAAiD,EAAE,CAAA,CAAE,CACnG,CAAC;KACF;AAEM,IAAA,oCAAoC,CAAC,UAAkB,EAAA;QAC7D,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,uFAAuF,UAAU,CAAA,CAAE,CACjJ,CAAC;KACF;AAEM,IAAA,6BAA6B,CAAC,SAAmC,EAAA;AACvE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;YAC1C,mEAAmE,EACpE,SAAS,CACT,CAAC;KACF;;AAvDW,0CAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0CAA0C,kBAClC,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,0CAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0CAA0C,cAF1C,MAAM,EAAA,CAAA,CAAA;2FAEN,0CAA0C,EAAA,UAAA,EAAA,CAAA;kBAHtD,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCDrB,kCAAkC,CAAA;IAC9C,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;AAExF,IAAA,gBAAgB,CAAC,EAAU,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAG,EAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,kDAAkD,EAChG;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;AAC9C,SAAA,CACD,CAAC;KACF;AAEM,IAAA,IAAI,CACV,kCAAsE,EAAA;QAEtE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,sCAAsC,EACpF,kCAAkC,CAClC,CAAC;KACF;;AAnBW,kCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kCAAkC,kBAC1B,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,kCAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kCAAkC,cAFlC,MAAM,EAAA,CAAA,CAAA;2FAEN,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAH9C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCDrB,sBAAsB,CAAA;IAClC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;IAEnF,MAAM,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAA,sBAAA,CAAwB,CACtE,CAAC;KACF;AAEM,IAAA,gBAAgB,CAAC,UAAkB,EAAA;QACzC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,+CAA+C,UAAU,CAAA,CAAE,CACzG,CAAC;KACF;AAEM,IAAA,qBAAqB,CAAC,UAAkB,EAAA;QAC9C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,oDAAoD,UAAU,CAAA,CAAE,CAC9G,CAAC;KACF;IAEM,mBAAmB,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,qCAAqC,CACnF,CAAC;KACF;AAEM,IAAA,+BAA+B,CAAC,UAAkB,EAAA;QACxD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,8DAA8D,UAAU,CAAA,CAAE,CACxH,CAAC;KACF;AAEM,IAAA,uBAAuB,CAAC,UAAkB,EAAA;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,sDAAsD,UAAU,CAAA,CAAE,CAChH,CAAC;KACF;AAEM,IAAA,IAAI,CAAC,eAAgC,EAAA;QAC3C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,sBAAsB,EACpE,eAAe,CACf,CAAC;KACF;AAEM,IAAA,OAAO,CAAC,EAAU,EAAA;QACxB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,8BAA8B,EAAE,CAAA,CAAE,CAChF,CAAC;KACF;AAEM,IAAA,MAAM,CAAC,EAAU,EAAA;QACvB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,6BAA6B,EAAE,CAAA,CAAE,CAC/E,CAAC;KACF;AAEM,IAAA,OAAO,CAAC,eAAkC,EAAA;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,yBAAyB,EACvE,eAAe,CACf,CAAC;KACF;;AA/DW,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,kBACd,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,sBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cAFtB,MAAM,EAAA,CAAA,CAAA;2FAEN,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCDrB,mCAAmC,CAAA;IAC/C,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;AAE1F,IAAA,sBAAsB,CAAC,iBAAyB,EAAA;AAC/C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAG,EAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,qDAAqD,EACnG;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,QAAQ,EAAE,CAAC;AAC/E,SAAA,CACD,CAAC;KACF;AAED,IAAA,OAAO,CAAC,4BAA4D,EAAA;QACnE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,sCAAsC,EACpF,4BAA4B,CAC5B,CAAC;KACF;IAED,gCAAgC,CAAC,OAAgB,EAAE,iBAAyB,EAAA;AAC3E,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAG,EAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,+DAA+D,EAC7G;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;AAClC,iBAAA,GAAG,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,QAAQ,EAAE,CAAC;AACxD,SAAA,CACD,CAAC;KACF;AAED,IAAA,MAAM,CAAC,cAAsB,EAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,CAAG,EAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,8BAA8B,EAC5E;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC;AACzE,SAAA,CACD,CAAC;KACF;;AArCW,mCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mCAAmC,kBAC3B,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,mCAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mCAAmC,cAFnC,MAAM,EAAA,CAAA,CAAA;2FAEN,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAH/C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCFrB,8BAA8B,CAAA;IAC1C,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAE9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAFA;AAInF,IAAA,eAAe,CAAC,UAAkB,EAAA;QACxC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,sDAAsD,UAAU,CAAA,CAAE,CAChH,CAAC;KACF;IAEM,4BAA4B,CAAC,UAAkB,EAAE,UAAkB,EAAA;AACzE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,sDAAsD,EACvD;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACxC,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AAC1C,SAAA,CACD,CAAC;KACF;IAEM,iCAAiC,CACvC,UAAkB,EAClB,YAAsB,EAAA;AAEtB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,2DAA2D,EAC5D;AACC,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,YAAY,EAAE,YAAY;AAC1B,SAAA,EACD,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAEM,IAAA,IAAI,CAAC,qBAA4B,EAAA;QACvC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,8BAA8B,EAC5E,qBAAqB,CACrB,CAAC;KACF;AACD;;;;AAIG;AACI,IAAA,OAAO,CAAC,qBAA4B,EAAA;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,iCAAiC,EAC/E,qBAAqB,CACrB,CAAC;KACF;;AAtDW,8BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,8BAA8B,kBACtB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,8BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,8BAA8B,cAF9B,MAAM,EAAA,CAAA,CAAA;2FAEN,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAH1C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCDrB,+BAA+B,CAAA;IAE3C,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AADnF,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KACK;AAE/F,IAAA,eAAe,CAAC,UAAkB,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,0CAA0C,EAC3C;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACjE,SAAA,CACD,CAAC;KACF;AAED,IAAA,IAAI,CAAC,yBAAmD,EAAA;QACvD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,+BAA+B,EAC7E,yBAAyB,EACzB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;IAED,+BAA+B,CAAC,aAAqB,EAAE,aAAqB,EAAA;AAC3E,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,0DAA0D,EAC3D;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC;AAC9C,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC;AAChD,SAAA,CACD,CAAC;KACF;;AAhCW,+BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,+BAA+B,kBAEvB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAFrB,+BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,+BAA+B,cAF/B,MAAM,EAAA,CAAA,CAAA;2FAEN,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAH3C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAGa,MAAM;+BAAC,aAAa,CAAA;;;;MCDrB,8BAA8B,CAAA;IAC1C,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;IAE/F,MAAM,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAA,iCAAA,CAAmC,CACjF,CAAC;KACF;;AAPW,8BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,8BAA8B,kBACtB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,8BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,8BAA8B,cAF9B,MAAM,EAAA,CAAA,CAAA;2FAEN,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAH1C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCArB,2BAA2B,CAAA;AAGvC,IAAA,WAAA,CACgC,WAAW,EAClC,UAAsB,EACtB,WAAkC,EAAA;AAFX,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAClC,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AACtB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAuB;AALnC,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAMtF;;AAGJ,IAAA,mBAAmB,CAAC,EAAU,EAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,yCAAyC,EACvF,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,CAC7D,CAAC;KACF;AAED,IAAA,OAAO,CAAC,EAAU,EAAA;AACjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,8BAA8B,EAC5E,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrD,CAAC;KACF;;AAGD,IAAA,IAAI,CAAC,cAAoC,EAAA;QACxC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,2BAA2B,EACzE,cAAc,EACd,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAGD,IAAA,MAAM,CAAC,EAAU,EAAA;AAChB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,sBAAsB,EACpE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrD,CAAC;KACF;IAED,8BAA8B,CAAC,MAAc,EAAE,MAAc,EAAA;AAC5D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,qDAAqD,EACtD;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAChC,iBAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAClC,SAAA,CACD,CAAC;KACF;;AAnDW,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,kBAI9B,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA/D,qBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAJV,2BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,cAF3B,MAAM,EAAA,CAAA,CAAA;2FAEN,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAHvC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAKE,MAAM;+BAAC,aAAa,CAAA;;;;MCJV,+BAA+B,CAAA;AAG3C,IAAA,WAAA,CACgC,WAAW,EAClC,UAAsB,EACtB,WAAkC,EAAA;AAFX,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAClC,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AACtB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAuB;AALnC,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAMtF;;IAGJ,MAAM,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,iCAAiC,CAC/E,CAAC;KACF;;AAdW,+BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,+BAA+B,kBAIlC,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,qBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAJV,+BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,+BAA+B,cAF/B,MAAM,EAAA,CAAA,CAAA;2FAEN,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAH3C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAKE,MAAM;+BAAC,aAAa,CAAA;;;;MCLV,gCAAgC,CAAA;IAC5C,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;AAE/F,IAAA,IAAI,CAAC,IAA+B,EAAA;QACnC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,gCAAgC,EAC3E,IAAI,EACJ,WAAW,CACX,CAAC;KACF;IAED,MAAM,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,kCAAkC,CAC7E,CAAC;KACF;AAED,IAAA,eAAe,CAAC,UAAkB,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,2CAA2C,EACtF,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrE,CAAC;KACF;AAED,IAAA,WAAW,CAAC,iBAAsB,EAAA;QACjC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,uCAAuC,EAClF,iBAAiB,EACjB,WAAW,CACX,CAAC;KACF;AAED,IAAA,kBAAkB,CAAC,aAAqB,EAAA;AACvC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;AACvC,YAAA,8CAA8C,EAC/C,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,EAAE,CAChE,CAAC;KACF;AAED,IAAA,MAAM,CAAC,EAAU,EAAA;AAChB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,kCAAkC,EAC7E;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;AACjD,SAAA,CACD,CAAC;KACF;;AA/CW,gCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gCAAgC,kBACxB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,gCAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gCAAgC,cAFhC,MAAM,EAAA,CAAA,CAAA;2FAEN,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAH5C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCDrB,+BAA+B,CAAA;IAC3C,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAE9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAFA;AAInF,IAAA,eAAe,CAAC,UAAkB,EAAA;QACxC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,uDAAuD,UAAU,CAAA,CAAE,CACjH,CAAC;KACF;IAEM,4BAA4B,CAAC,UAAkB,EAAE,UAAkB,EAAA;AACzE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,uDAAuD,EACxD;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACxC,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AAC1C,SAAA,CACD,CAAC;KACF;IAEM,iCAAiC,CACvC,UAAkB,EAClB,YAAsB,EAAA;AAEtB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,4DAA4D,EAC7D;AACC,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,YAAY,EAAE,YAAY;AAC1B,SAAA,EACD,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAEM,IAAA,IAAI,CAAC,qBAA4B,EAAA;QACvC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,+BAA+B,EAC7E,qBAAqB,CACrB,CAAC;KACF;AAEM,IAAA,0BAA0B,CAAC,UAAsC,EAAA;QACvE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,qDAAqD,EACnG,UAAU,CACV,CAAC;KACF;;AAlDW,+BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,+BAA+B,kBACvB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,+BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,+BAA+B,cAF/B,MAAM,EAAA,CAAA,CAAA;2FAEN,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAH3C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCDrB,4BAA4B,CAAA;IAGxC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAF9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEA;IAE1F,gCAAgC,CAAC,UAAU,EAAE,aAAa,EAAA;AACzD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAG,EAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,wDAAwD,EACtG;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC;AAC7B,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AACrC,SAAA,CACD,CAAC;KACF;IAED,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAA;AAC3C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAG,EAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,iDAAiD,EAC/F;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC;AAC5E,SAAA,CACD,CAAC;KACF;IAED,iCAAiC,CAAC,UAAU,EAAE,cAAc,EAAA;AAC3D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAG,EAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,yDAAyD,EACvG;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC;AAC7B,iBAAA,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC;AACvC,SAAA,CACD,CAAC;KACF;AAED,IAAA,gBAAgB,CAAC,UAAU,EAAA;AAC1B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAG,EAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,wCAAwC,EACtF;YACC,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC;AACtD,SAAA,CACD,CAAC;KACF;;AAGD,IAAA,IAAI,CAAC,qBAA4C,EAAA;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,4BAA4B,EAC1E,qBAAqB,EACrB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;IAGD,kCAAkC,CAAC,UAAU,EAAE,aAAa,EAAA;AAC3D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,0DAA0D,EAC3D;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC;AAC7B,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AACrC,SAAA,CACD,CAAC;KACF;AAED;;AAEG;AACH,IAAA,OAAO,CAAC,qBAA8C,EAAA;QACrD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,+BAA+B,EAC7E,qBAAqB,EACrB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AA5EW,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,kBAGpB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,4BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,cAF5B,MAAM,EAAA,CAAA,CAAA;2FAEN,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAHxC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCHrB,qBAAqB,CAAA;IAGjC,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAFnF,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEK;;AAG/F,IAAA,OAAO,CAAC,EAAU,EAAA;AACjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,kBAAkB,EAChE;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;AACjD,SAAA,CACD,CAAC;KACF;AAED;;AAEG;AACH,IAAA,QAAQ,CAAC,GAAa,EAAA;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,oBAAoB,EAClE,GAAG,CACH,CAAC;KACF;;AAGD,IAAA,kBAAkB,CAAC,UAAkB,EAAA;AACpC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,6BAA6B,EAC3E;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACjE,SAAA,CACD,CAAC;KACF;;AAGD,IAAA,IAAI,CAAC,cAA8B,EAAA;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,eAAe,EAC7D,cAAc,EACd,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED;AACmF;AACnF,IAAA,MAAM,CAAC,EAAU,EAAA;AAChB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,iBAAiB,EAC/D;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;AACjD,SAAA,CACD,CAAC;KACF;AAED,IAAA,gBAAgB,CAAC,WAAmB,EAAA;AACnC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,2BAA2B,EACzE;YACC,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC;AACxD,SAAA,CACD,CAAC;KACF;IAED,2BAA2B,CAAC,WAAmB,EAAE,UAAkB,EAAA;AAClE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,wCAAwC,EACtF;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC;AAC/B,iBAAA,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;AACvC,SAAA,CACD,CAAC;KACF;;AAGD,IAAA,OAAO,CAAC,cAAgC,EAAA;QACvC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,kBAAkB,EAChE,cAAc,EACd,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAlFW,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,kBAGb,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,qBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cAFrB,MAAM,EAAA,CAAA,CAAA;2FAEN,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCHrB,gCAAgC,CAAA;IAE5C,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AADnF,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KACK;;AAG/F,IAAA,OAAO,CAAC,EAAU,EAAA;AACjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,mBAAmB,EACjE;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;AACjD,SAAA,CACD,CAAC;KACF;;AAGD,IAAA,cAAc,CAAC,SAAiB,EAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,0BAA0B,EACxE;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;AAC/D,SAAA,CACD,CAAC;KACF;;AAGD,IAAA,IAAI,CAAC,yBAAoD,EAAA;QACxD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,gBAAgB,EAC9D,yBAAyB,EACzB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED;AACmF;AACnF,IAAA,MAAM,CAAC,EAAU,EAAA;AAChB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,kBAAkB,EAChE;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;AACjD,SAAA,CACD,CAAC;KACF;;AA1CW,gCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gCAAgC,kBAExB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAFrB,gCAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gCAAgC,cAFhC,MAAM,EAAA,CAAA,CAAA;2FAEN,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAH5C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAGa,MAAM;+BAAC,aAAa,CAAA;;;;MCFrB,wBAAwB,CAAA;IAGpC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAF9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEA;;AAG1F,IAAA,IAAI,CAAC,eAAoC,EAAA;QACxC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,wBAAwB,EACtE,eAAe,EACf,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;IAGD,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAA;AAC3C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;YAC1C,8CAA8C,EAC/C,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAC9E,CAAC;KACF;;AAGD,IAAA,UAAU,CAAC,aAAa,EAAA;AACvB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,8BAA8B,EAC5E,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,EAAE,CAChE,CAAC;KACF;;AAGD,IAAA,cAAc,CAAC,YAAiC,EAAA;QAC/C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,kCAAkC,EAChF,YAAY,EACZ,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAtCW,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,kBAGhB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,wBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cAFxB,MAAM,EAAA,CAAA,CAAA;2FAEN,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCHrB,mBAAmB,CAAA;IAC/B,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;AAE1F,IAAA,IAAI,CAAC,YAA0B,EAAA;QAC9B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,mBAAmB,EACjE,YAAY,CACZ,CAAC;KACF;AAED,IAAA,KAAK,CAAC,YAA0B,EAAA;QAC/B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,oBAAoB,EAClE,YAAY,CACZ,CAAC;KACF;IAED,MAAM,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,qBAAqB,CACnE,CAAC;KACF;IAED,YAAY,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,2BAA2B,CACzE,CAAC;KACF;IAED,UAAU,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,yBAAyB,CACvE,CAAC;KACF;AAED,IAAA,mBAAmB,CAAC,QAAgB,EAAA;AACnC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,kCAAkC,EAChF,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CACtD,CAAC;KACF;AAED,IAAA,OAAO,CAAC,EAAU,EAAA;AACjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,sBAAsB,EACpE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAClD,CAAC;KACF;AAED,IAAA,MAAM,CAAC,EAAU,EAAA;AAChB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,cAAc,EAC5D,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAClD,CAAC;KACF;;AAtDW,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,kBACX,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,mBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFnB,MAAM,EAAA,CAAA,CAAA;2FAEN,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCDrB,2BAA2B,CAAA;IACvC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;AAE1F,IAAA,IAAI,CAAC,oBAA0C,EAAA;QAC9C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,2BAA2B,EACzE,oBAAoB,CACpB,CAAC;KACF;AAED,IAAA,OAAO,CAAC,qBAA6C,EAAA;QACpD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,8BAA8B,EAC5E,qBAAqB,CACrB,CAAC;KACF;AAED,IAAA,aAAa,CAAC,EAAU,EAAA;AACvB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,oCAAoC,EAClF,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAClD,CAAC;KACF;AAED,IAAA,OAAO,CAAC,EAAU,EAAA;AACjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,8BAA8B,EAC5E,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAClD,CAAC;KACF;AAED,IAAA,MAAM,CAAC,EAAU,EAAA;AAChB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,sBAAsB,EACpE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAClD,CAAC;KACF;;AApCW,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,kBACnB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,2BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,cAF3B,MAAM,EAAA,CAAA,CAAA;2FAEN,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAHvC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCDrB,sBAAsB,CAAA;IAClC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;IAEnF,MAAM,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAA,sBAAA,CAAwB,CACtE,CAAC;KACF;AAEM,IAAA,gBAAgB,CAAC,UAAkB,EAAA;QACzC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,+CAA+C,UAAU,CAAA,CAAE,CACzG,CAAC;KACF;AAEM,IAAA,IAAI,CAAC,eAAkC,EAAA;QAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,sBAAsB,EACpE,eAAe,CACf,CAAC;KACF;AAEM,IAAA,mBAAmB,CAAC,UAAkB,EAAA;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,kDAAkD,UAAU,CAAA,CAAE,CAC5G,CAAC;KACF;;AA1BW,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,kBACd,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,sBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cAFtB,MAAM,EAAA,CAAA,CAAA;2FAEN,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCFrB,yBAAyB,CAAA;IAIpC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAF9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEC;;AAG3F,IAAA,IAAI,CAAC,kBAAuB,EAAA;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,yBAAyB,EACvE,kBAAkB,EAClB,IAAI,CAAC,UAAU,CAChB,CAAC;KACH;AAED,IAAA,QAAQ,CAAC,EAAU,EAAA;AACjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC3C,YAAA,6BAA6B,EAC7B;YACE,MAAM,EAAE,IAAI,UAAU,EAAE;AACrB,iBAAA,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;AAC5B,SAAA,CACF,CAAC;KACH;IAED,OAAO,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC3C,YAAA,4BAA4B,CAC7B,CAAC;KACH;;AA/BU,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,kBAIhB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAJtB,yBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,cAFxB,MAAM,EAAA,CAAA,CAAA;2FAEP,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;8BAKc,MAAM;+BAAC,aAAa,CAAA;;;;MCJtB,qBAAqB,CAAA;IAIhC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAF9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEC;;AAG3F,IAAA,IAAI,CAAC,cAAmB,EAAA;QACtB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,qBAAqB,EACnE,cAAc,EACd,IAAI,CAAC,UAAU,CAChB,CAAC;KACH;AAED,IAAA,QAAQ,CAAC,EAAU,EAAA;AACjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC3C,YAAA,yBAAyB,EACzB;YACE,MAAM,EAAE,IAAI,UAAU,EAAE;AACrB,iBAAA,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;AAC5B,SAAA,CACF,CAAC;KACH;AAED,IAAA,mBAAmB,CAAC,UAAkB,EAAA;AACpC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC3C,YAAA,oCAAoC,EACpC;YACE,MAAM,EAAE,IAAI,UAAU,EAAE;AACrB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AAC5C,SAAA,CACF,CAAC;KACH;IAED,OAAO,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC3C,YAAA,wBAAwB,CACzB,CAAC;KACH;;AA1CU,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,kBAIZ,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAJtB,qBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cAFpB,MAAM,EAAA,CAAA,CAAA;2FAEP,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;8BAKc,MAAM;+BAAC,aAAa,CAAA;;;;MCHtB,yBAAyB,CAAA;IACrC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;AAE1F,IAAA,OAAO,CAAC,EAAU,EAAA;QACjB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,iCAAiC,EAAE,CAAA,CAAE,CACnF,CAAC;KACF;AAED,IAAA,eAAe,CAAC,UAAkB,EAAA;QACjC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,iDAAiD,UAAU,CAAA,CAAE,CAC3G,CAAC;KACF;AAED,IAAA,aAAa,CAAC,QAAgB,EAAA;QAC7B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,6CAA6C,QAAQ,CAAA,CAAE,CACrG,CAAC;KACF;AAED,IAAA,eAAe,CAAC,UAAkB,EAAA;QACjC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,iDAAiD,UAAU,CAAA,CAAE,CAC3G,CAAC;KACF;AAED,IAAA,IAAI,CAAC,kBAAsC,EAAA;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,yBAAyB,EACvE,kBAAkB,CAClB,CAAC;KACF;;AAhCW,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,kBACjB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,yBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,cAFzB,MAAM,EAAA,CAAA,CAAA;2FAEN,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCDrB,qCAAqC,CAAA;IACjD,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAE9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAFA;AAInF,IAAA,UAAU,CAAC,uBAA8B,EAAA;AAC/C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;YAC1C,2CAA2C,EAC5C,uBAAuB,CACvB,CAAC;KACF;AAEM,IAAA,qBAAqB,CAAC,UAAkB,EAAA;AAC9C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA;AACE,GAAA,EAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAmE,gEAAA,EAAA,UAAU,CAAE,CAAA,CAC5H,CAAC;KACF;AAEM,IAAA,yBAAyB,CAAC,YAAmB,EAAA;QACnD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,0DAA0D,EACxG,YAAY,CACZ,CAAC;KACF;;AAzBW,qCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qCAAqC,kBAC7B,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,qCAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qCAAqC,cAFrC,MAAM,EAAA,CAAA,CAAA;2FAEN,qCAAqC,EAAA,UAAA,EAAA,CAAA;kBAHjD,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCArB,uBAAuB,CAAA;AAGnC,IAAA,WAAA,CACgC,WAAgB,EACvC,UAAsB,EACtB,WAAkC,EAAA;AAFX,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AACvC,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AACtB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAuB;AALnC,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAMtF;;IAGJ,UAAU,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,8BAA8B,CAC3E,CAAC;KACF;;AAGD,IAAA,IAAI,CAAC,eAAiC,EAAA;QACrC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,wBAAwB,EACrE,eAAe,CACf,CAAC;KACF;;AAGD,IAAA,OAAO,CAAC,gBAAoC,EAAA;QAC3C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,2BAA2B,EACxE,gBAAgB,CAChB,CAAC;KACF;;AA9BW,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,kBAI1B,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,qBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAJV,uBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cAFvB,MAAM,EAAA,CAAA,CAAA;2FAEN,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAKE,MAAM;+BAAC,aAAa,CAAA;;;;MCPV,uBAAuB,CAAA;IACnC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;IAE1F,gCAAgC,CAAC,cAAsB,EAAE,SAAiB,EAAA;AACzE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,+CAA+C,EACpF;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC;AACrC,iBAAA,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC;AAC7B,SAAA,CACD,CAAC;KACF;;AAZW,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,kBACf,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,uBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cAFvB,MAAM,EAAA,CAAA,CAAA;2FAEN,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCErB,qBAAqB,CAAA;IACjC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;IAE1F,kCAAkC,CAAC,iBAA2B,EAAE,UAAU,EAAA;AACzE,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;AACtE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;AACvC,YAAA,6DAA6D,EAC9D,iBAAiB,EACjB,EAAE,MAAM,EAAE,CACV,CAAC;KACF;IAED,0CAA0C,CACzC,iBAA2B,EAC3B,UAAU,EAAA;AAEV,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;AACtE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;AACvC,YAAA,qEAAqE,EACtE,iBAAiB,EACjB,EAAE,MAAM,EAAE,CACV,CAAC;KACF;IAED,yBAAyB,CAAC,iBAA2B,EAAE,UAAU,EAAA;AAChE,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;AACtE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;AACvC,YAAA,oDAAoD,EACrD,iBAAiB,EACjB,EAAE,MAAM,EAAE,CACV,CAAC;KACF;IAED,mBAAmB,CAAC,aAAqB,EAAE,UAAU,EAAA;AACpD,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE;AAC7B,aAAA,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;AACrC,aAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;AACtC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;AACvC,YAAA,8CAA8C,EAC/C,EAAE,MAAM,EAAE,CACV,CAAC;KACF;;AA7CW,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,kBACb,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,qBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cAFrB,MAAM,EAAA,CAAA,CAAA;2FAEN,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCHrB,aAAa,CAAA;IACzB,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAK;AAE3F,IAAA,IAAI,CAAC,MAAc,EAAA;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,aAAa,EACzD,MAAM,CACN,CAAC;KACF;IAED,WAAW,CAAC,QAAgB,EAAE,OAAe,EAAA;AAC5C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,oBAAoB,EAChE,IAAI,EACJ;YACC,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC;AAClF,SAAA,CACD,CAAC;KACF;AAED,IAAA,OAAO,CAAC,EAAU,EAAA;AACjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,gBAAgB,EAAE;AACxF,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;AAC9C,SAAA,CAAC,CAAC;KACH;AAED,IAAA,YAAY,CAAC,QAAkB,EAAE,cAAsB,EAAE,QAAgB,EAAA;AACxE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,qBAAqB,EACjE,QAAQ,EACR;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;AAC7C,iBAAA,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC;AAC3B,SAAA,CACD,CAAC;KACF;IAED,8BAA8B,CAAC,cAAsB,EAAE,QAAgB,EAAA;AACtE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,uCAAuC,EACnF;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;AAC7C,iBAAA,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC;AAC3B,SAAA,CACD,CAAC;KACF;AAED,IAAA,gBAAgB,CAAC,UAA4C,EAAA;QAC5D,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,yBAAyB,EACrE,UAAU,CACV,CAAC;KACF;;AAtDW,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,kBACL,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,aAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFb,MAAM,EAAA,CAAA,CAAA;2FAEN,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCArB,qBAAqB,CAAA;IACjC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;AAE1F,IAAA,IAAI,CAAC,cAA8B,EAAA;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,sBAAsB,EACpE,cAAc,CACd,CAAC;KACF;AAED,IAAA,OAAO,CAAC,EAAU,EAAA;AACjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,qCAAqC,EACnF,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAClD,CAAC;KACF;;AAfW,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,kBACb,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,qBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cAFrB,MAAM,EAAA,CAAA,CAAA;2FAEN,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCDrB,kBAAkB,CAAA;IAC9B,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;AAE1F,IAAA,IAAI,CAAC,oBAA0C,EAAA;QAC9C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,aAAa,EACnD,oBAAoB,CACpB,CAAC;KACF;;AARW,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,kBACV,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,kBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFlB,MAAM,EAAA,CAAA,CAAA;2FAEN,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCFrB,yBAAyB,CAAA;IAGrC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAF9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEA;;AAG1F,IAAA,iBAAiB,CAAC,IAAY,EAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,+BAA+B,EAC3E,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAChF,CAAC;KACF;;AAGD,IAAA,YAAY,CAAC,IAAY,EAAA;AACxB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,0BAA0B,EACtE;YACC,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC;AAC1C,YAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;AAChC,SAAA,CACD,CAAC;KACF;AAED,IAAA,iBAAiB,CAAC,MAAoB,EAAA;AACrC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,+BAA+B,EAC3E,MAAM,EACN;AACC,YAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;AAChC,SAAA,CACD,CAAC;KACF;;AAhCW,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,kBAGjB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,yBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,cAFzB,MAAM,EAAA,CAAA,CAAA;2FAEN,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCIrB,6BAA6B,CAAA;IAGzC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAF9E,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,OAAO,EAAO,CAAC;QAiGxC,IAAA,CAAA,oBAAoB,GAAyB,IAAI,eAAe,CAAM,IAAI,CAAC,CAAC;KA/FM;IAE1F,yBAAyB,CACxB,mBAAwC,EACxC,WAAmB,EAAA;AAEnB,QAAA,IAAI,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;AAClC,QAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AAChE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;YACvC,mDAAmD,EACpD,mBAAmB,EACnB,EAAE,MAAM,EAAE,UAAU,EAAE,CACtB,CAAC;KACF;;IAGD,gCAAgC,CAC/B,mBAAwC,EACxC,WAAmB,EAAA;AAEnB,QAAA,IAAI,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;AAClC,QAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AAChE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;YACvC,0DAA0D,EAC3D,mBAAmB,EACnB,EAAE,MAAM,EAAE,UAAU,EAAE,CACtB,CAAC;KACF;;AAGD,IAAA,iBAAiB,CAChB,iBAAqC,EACrC,WAAmB,EACnB,UAAkB,EAAA;AAElB,QAAA,IAAI,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;AAClC,QAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AAChE,QAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;AAC9D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;YACvC,kDAAkD,EACnD,iBAAiB,EACjB,EAAE,MAAM,EAAE,UAAU,EAAE,CACtB,CAAC;KACF;AAED;;;;AAIG;IACH,qBAAqB,CAAC,2BAAmC,EAAE,wBAAgC,EAAA;AAC1F,QAAA,IAAI,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;AAClC,QAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC;AAC3E,QAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC;AAE1E,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;AACvC,YAAA,+CAA+C,EAChD,EAAE,MAAM,EAAE,UAAU,EAAE,CACtB,CAAC;KACF;AAED,IAAA,gBAAgB,CAAC,WAAmB,EAAA;AACnC,QAAA,IAAI,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;AAClC,QAAA,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,oCAAoC,EAC/E,EAAE,MAAM,EAAE,UAAU,EAAE,CACtB,CAAC;KACF;AAED,IAAA,oBAAoB,CAAC,gBAAkC,EAAA;QACtD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,wBAAwB,EACnE,gBAAgB,CAChB,CAAC;KACF;AAED,IAAA,WAAW,CAAC,kBAAsC,EAAA;QACjD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,qCAAqC,EAChF,kBAAkB,CAClB,CAAC;KACF;IAED,qBAAqB,CAAC,iBAAyB,EAAE,iBAAyB,EAAA;QACzE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,CAAG,EAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAA,wDAAA,EAA2D,iBAAiB,CAAA,iBAAA,EAAoB,iBAAiB,CAAE,CAAA,EAC9J,EAAE,CACF,CAAC;KACF;IAID,oBAAoB,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,CAAC;KAChD;AAED,IAAA,iBAAiB,CAAC,IAAY,EAAA;QAC7B,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC5C;IAED,kBAAkB,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;KAC9C;AAED,IAAA,kBAAkB,CAAC,IAAY,EAAA;QAC9B,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC1C;;AAlHW,6BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,kBAGrB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,6BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,cAF7B,MAAM,EAAA,CAAA,CAAA;2FAEN,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAHzC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCTrB,qCAAqC,CAAA;IACjD,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;AAE1F,IAAA,OAAO,CAAC,EAAU,EAAA;QACjB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,sCAAsC,EAAE,CAAA,CAAE,CACxF,CAAC;KACF;AAED,IAAA,eAAe,CAAC,UAAkB,EAAA;QACjC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,sDAAsD,UAAU,CAAA,CAAE,CAChH,CAAC;KACF;AAED,IAAA,IAAI,CAAC,uBAAgD,EAAA;QACpD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,8BAA8B,EAC5E,uBAAuB,CACvB,CAAC;KACF;AAED,IAAA,MAAM,CAAC,EAAU,EAAA;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,2BAA2B,EAAE,CAAA,CAAE,CAC7E,CAAC;KACF;IAED,2BAA2B,CAAC,MAAc,EAAE,MAAc,EAAA;AACzD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAG,EAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,qDAAqD,EACnG;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAChC,iBAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAClC,SAAA,CACD,CAAC;KACF;;AArCW,qCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qCAAqC,kBAC7B,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,qCAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qCAAqC,cAFrC,MAAM,EAAA,CAAA,CAAA;2FAEN,qCAAqC,EAAA,UAAA,EAAA,CAAA;kBAHjD,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCDrB,8BAA8B,CAAA;IAG1C,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAF9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEA;;IAG1F,MAAM,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,yBAAyB,CAAC,CAAC;KACpG;;AAGD,IAAA,MAAM,CAAC,EAAE,EAAA;QACR,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,0BAA0B,GAAC,EAAE,CAC3E,CAAC;KACF;;AAGD,IAAA,OAAO,CAAC,EAAU,EAAA;QACjB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,0BAA0B,GAAC,EAAE,CAC3E,CAAC;KACF;;AAGD,IAAA,IAAI,CAAC,OAAgC,EAAA;QACpC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,0BAA0B,EACxE,OAAO,EACP,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AA/BW,8BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,8BAA8B,kBAGtB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,8BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,8BAA8B,cAF9B,MAAM,EAAA,CAAA,CAAA;2FAEN,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAH1C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCJrB,oBAAoB,CAAA;IAChC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;AAE1F,IAAA,8BAA8B,CAAC,UAAkB,EAAA;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,2DAA2D,UAAU,CAAA,CAAE,CACrH,CAAC;KACF;AAED,IAAA,gCAAgC,CAAC,UAAkB,EAAA;QAClD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,CAAA,EAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,6DAA6D,UAAU,CAAA,CAAE,CACvH,CAAC;KACF;;AAbW,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,kBACZ,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,oBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cAFpB,MAAM,EAAA,CAAA,CAAA;2FAEN,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCJrB,eAAe,CAAA;;IAGxB,OAAO,KAAK,CAAC,gBAA6B,EAAA;AACtC,QAAA,MAAM,SAAS,GAAG,CAAC,OAAwB,KAAgC;AACvE,YAAA,IAAI,OAAO,CAAC,KAAK,KAAK,gBAAgB,CAAC,KAAK;AACxC,gBAAA,OAAO,IAAI,CAAC;AAChB,YAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC7B,SAAC,CAAA;AACD,QAAA,OAAO,SAAS,CAAC;KACpB;;AAGD,IAAA,OAAO,WAAW,CAAC,gBAA6B,EAAE,MAAqB,EAAA;AACnE,QAAA,MAAM,SAAS,GAAG,CAAC,OAAwB,KAAgC;AACvE,YAAA,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK;AACrE,gBAAA,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AACnC,YAAA,OAAO,IAAI,CAAC;AAChB,SAAC,CAAA;AACD,QAAA,OAAO,SAAS,CAAC;KACpB;;AAGD,IAAA,OAAO,UAAU,CAAC,gBAA6B,EAAE,KAAU,EAAA;AACvD,QAAA,MAAM,SAAS,GAAG,CAAC,OAAwB,KAAgC;AACvE,YAAA,IAAI,gBAAgB,IAAI,IAAI,IAAI,gBAAgB,IAAI,SAAS,EAAE;AAC3D,gBAAA,IAAI,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC;AACjC,gBAAA,IAAI,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,CAAC;AACnD,gBAAA,IAAI,qBAAqB,IAAI,KAAK,IAAI,CAAC,YAAY;AAC/C,oBAAA,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;AACrC,aAAA;AAED,YAAA,OAAO,IAAI,CAAC;AAChB,SAAC,CAAA;AACD,QAAA,OAAO,SAAS,CAAC;KACpB;;IAGD,OAAO,OAAO,CAAC,gBAA6B,EAAA;AACxC,QAAA,MAAM,SAAS,GAAG,CAAC,OAAwB,KAAgC;AACvE,YAAA,IAAI,gBAAgB,IAAI,IAAI,IAAI,gBAAgB,IAAI,SAAS,EAAE;AAC3D,gBAAA,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;AAC1B,gBAAA,IAAI,cAAc,GAAG,gBAAgB,CAAC,KAAK,CAAC;gBAC5C,IAAI,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACnC,IAAI,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AAErD,gBAAA,IAAI,IAAI,IAAI,IAAI,IAAI,aAAa,IAAI,IAAI;oBACrC,IAAI,IAAI,CAAC,OAAO,EAAE,GAAG,aAAa,CAAC,OAAO,EAAE;AACxC,wBAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACtC,aAAA;AAED,YAAA,OAAO,IAAI,CAAC;AAChB,SAAC,CAAA;AACD,QAAA,OAAO,SAAS,CAAC;KACpB;;IAID,OAAO,OAAO,CAAC,gBAA6B,EAAA;AACxC,QAAA,MAAM,SAAS,GAAG,CAAC,OAAwB,KAAgC;AACvE,YAAA,IAAI,gBAAgB,IAAI,IAAI,IAAI,gBAAgB,IAAI,SAAS,EAAE;AAC3D,gBAAA,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;AAC1B,gBAAA,IAAI,cAAc,GAAG,gBAAgB,CAAC,KAAK,CAAC;gBAC5C,IAAI,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACnC,IAAI,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AAErD,gBAAA,IAAI,IAAI,IAAI,IAAI,IAAI,aAAa,IAAI,IAAI;oBACrC,IAAI,IAAI,CAAC,OAAO,EAAE,GAAG,aAAa,CAAC,OAAO,EAAE;AACxC,wBAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACtC,aAAA;AACD,YAAA,OAAO,IAAI,CAAC;AAChB,SAAC,CAAA;AACD,QAAA,OAAO,SAAS,CAAC;KACpB;;AAGD,IAAA,OAAO,MAAM,GAAA;AACT,QAAA,MAAM,SAAS,GAAG,CAAC,OAAwB,KAAgC;AACvE,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;AACpD,gBAAA,OAAO,IAAI,CAAC;AAChB,YAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC9B,SAAC,CAAA;AACD,QAAA,OAAO,SAAS,CAAC;KACpB;IAEH,OAAO,kBAAkB,CAAC,mBAAgC,EAAA;AACxD,QAAA,MAAM,SAAS,GAAG,CAChB,OAAwB,KACM;AAC9B,YAAA,OAAO,mBAAmB,CAAC,KAAK,IAAI,IAAI;gBACtC,mBAAmB,CAAC,KAAK,KAAK,IAAI;AAClC,iBAAC,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACvD,kBAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE;kBAC5B,IAAI,CAAC;AACX,SAAC,CAAC;AACF,QAAA,OAAO,SAAS,CAAC;KAClB;IAED,OAAO,cAAc,CAAC,OAAO,EAAA;;QAE3B,IACE,OAAO,CAAC,KAAK,CAAC,KAAK,CACjB,uIAAuI,CACxI,EACD;AACA,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC;AACtC,SAAA;KACF;AACF;;AClHD;AACA;AACO,MAAM,OAAO,GAAG;AACnB,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,KAAK,EAAE,8BAA8B;AACrC,IAAA,MAAM,EAAE,WAAW;AACnB,IAAA,UAAU,EAAE,IAAI;AAChB,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,QAAQ,EAAE;AACN,QAAA,SAAS,EAAE;AACP,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,mBAAmB,EAAE,KAAK;AAC7B,SAAA;AACD,QAAA,OAAO,EAAE,KAAK;AACd,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,OAAO,EAAE,EAAE;AACX,QAAA,YAAY,EAAE,EAAE;AAChB,QAAA,OAAO,EAAE,EAAE;AACX,QAAA,SAAS,EAAE,QAAQ;AACtB,KAAA;AACD,IAAA,QAAQ,EAAE,sBAAsB;AAChC,IAAA,cAAc,EAAE,uBAAuB;AACvC,IAAA,SAAS,EAAE,UAAU;AACrB,IAAA,gBAAgB,EAAE,0BAA0B;CAC/C,CAAC;AACF;;MCzBa,cAAc,CAAA;AAC1B,IAAA,OAAO,WAAW,GAAA;QACjB,OAAO,OAAO,CAAC,OAAO,CAAC;KACvB;AAED,IAAA,OAAO,kBAAkB,GAAA;QACxB,OAAO,OAAO,CAAC,cAAc,CAAC;KAC9B;AACD;;MCFY,sBAAsB,CAAA;IAGjC,WACiC,CAAA,WAAW,EACpC,UAAsB,EAAA;AADG,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AACpC,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAJtB,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAKtF;;IAGL,+BAA+B,CAAC,UAAkB,EAAE,aAAqB,EAAA;AACxE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,iDAAiD,EAC7F;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACjB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC;AAC7B,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AAC1C,SAAA,CACD,CAAC;KACF;;IAGD,iCAAiC,CAAC,cAA6B,EAAE,aAAqB,EAAA;AACrF,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,mDAAmD,EAC/F;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACjB,iBAAA,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC;AAChD,iBAAA,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AAC1C,SAAA,CACD,CAAC;KACF;;AAGD,IAAA,IAAI,CAAC,eAAgC,EAAA;QACpC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,sBAAsB,EAClE,eAAe,EACf,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAvCW,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,kBAIvB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAJZ,sBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cAFtB,MAAM,EAAA,CAAA,CAAA;2FAEN,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAKI,MAAM;+BAAC,aAAa,CAAA;;;;MCJZ,oCAAoC,CAAA;IAGhD,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAF9E,QAAA,IAAA,CAAA,OAAO,GACd,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,+BAA+B,CAAC;KACW;IAE1F,OAAO,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,CAAC;KACtD;AAED,IAAA,gBAAgB,CAAC,UAAkB,EAAA;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,mBAAmB,EAAE;AAC9D,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACjE,SAAA,CAAC,CAAC;KACH;AAED,IAAA,IAAI,CAAC,6BAA4D,EAAA;AAChE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,EAAE,6BAA6B,CAAC,CAAC;KACnF;AAED,IAAA,UAAU,CAAC,EAAU,EAAA;QACpB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,aAAa,EAAE;AAC3D,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;AACjD,SAAA,CAAC,CAAC;KACH;AAED,IAAA,4BAA4B,CAAC,MAAc,EAAE,MAAc,EAAE,UAAmB,EAAA;QAC/E,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,oBAAoB,EAAE;YAC/D,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAChC,iBAAA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AAChC,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AAC1C,SAAA,CAAC,CAAC;KACH;;AAhCW,oCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oCAAoC,kBAG5B,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,oCAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oCAAoC,cAFpC,MAAM,EAAA,CAAA,CAAA;2FAEN,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBAHhD,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCJrB,kCAAkC,CAAA;IAG9C,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAF3F,QAAA,IAAO,CAAA,OAAA,GAAW,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;KAEiC;AAE/F,IAAA,WAAW,CAAC,MAAc,EAAA;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,yCAAyC,EAAE;AACpF,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AACzD,SAAA,CAAC,CAAC;KACH;AAED,IAAA,IAAI,CAAC,2BAAwD,EAAA;AAC5D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,OAAO,GAAG,kCAAkC,EACjD,2BAA2B,CAC3B,CAAC;KACF;;AAhBW,kCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kCAAkC,kBAG1B,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,kCAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kCAAkC,cAFlC,MAAM,EAAA,CAAA,CAAA;2FAEN,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAH9C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCFrB,mBAAmB,CAAA;IAG9B,WACiC,CAAA,WAAW,EACpC,UAAsB,EAAA;AADG,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AACpC,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAJtB,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAKtF;;AAGL,IAAA,IAAI,CAAC,YAA6B,EAAA;QACjC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,wBAAwB,EACtE,YAAY,EACT,IAAI,CAAC,UAAU,CAClB,CAAC;KACF;IAEA,sBAAsB,CAAC,UAAkB,EAAE,cAAsB,EAAA;AAC/D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAC3B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,2CAA2C,EAAE;AACtF,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC;AAC7F,SAAA,CAAC,CAAC;KACN;AAED,IAAA,0BAA0B,CAAC,UAAkB,EAAE,IAAY,EAAE,cAAsB,EAAA;AACjF,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAC3B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,6CAA6C,EAAE;YACxF,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC;AAC/G,SAAA,CAAC,CAAC;KACN;AAED,IAAA,MAAM,CAAC,uBAA+B,EAAA;AACpC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC3B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,0BAA0B,EAAE;YACxE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;AACjF,SAAA,CAAC,CAAC;KACN;AAED,IAAA,iBAAiB,CAAC,uBAA+B,EAAA;AAC/C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,8BAA8B,EAAE;YACvG,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;AACjF,SAAA,CAAC,CAAC;KACJ;AAED,IAAA,yBAAyB,CAAC,mBAAwC,EAAA;QAClE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,6CAA6C,EAC3F,mBAAmB,EACnB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAEA,IAAA,qBAAqB,CAAC,yBAAoD,EAAA;QAC1E,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,yCAAyC,EACvF,yBAAyB,CACzB,CAAC;KACF;;AAzDW,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,kBAIpB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAJZ,mBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFnB,MAAM,EAAA,CAAA,CAAA;2FAEN,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAKI,MAAM;+BAAC,aAAa,CAAA;;;;MCJZ,yBAAyB,CAAA;IAGpC,WACiC,CAAA,WAAW,EACpC,UAAsB,EAAA;AADG,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AACpC,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAJtB,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAKtF;;AAGL,IAAA,IAAI,CAAC,kBAAsC,EAAA;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,0BAA0B,EACxE,kBAAkB,EAClB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAEA,IAAA,yBAAyB,CAAC,mBAAwC,EAAA;AAClE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,+CAA+C,EAChD,mBAAmB,EACnB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,qBAAqB,CAAC,yBAAoD,EAAA;QACzE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,2CAA2C,EACzF,yBAAyB,CACzB,CAAC;KACF;;AA/BW,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,kBAI1B,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAJZ,yBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,cAFzB,MAAM,EAAA,CAAA,CAAA;2FAEN,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAKI,MAAM;+BAAC,aAAa,CAAA;;;;MCLZ,qBAAqB,CAAA;IAKjC,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAJnF,QAAA,IAAA,CAAA,OAAO,GAAW,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,GAAG,cAAc,CAAC;AACnF,QAAA,IAAA,CAAA,iBAAiB,GACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,kBAAkB,CAAC;AAC1D,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KACK;AAE/F,IAAA,YAAY,CAAC,OAAc,EAAA;AAC1B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,WAAW,EAAE,OAAO,CAAC,CAAC;KACjE;AAED,IAAA,gBAAgB,CAAC,YAAmB,EAAA;AACnC,QAAA,IAAI,GAAG,GAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,CAAC;AAClD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;KAClF;AAED,IAAA,0BAA0B,CAAC,YAAmB,EAAA;AAC7C,QAAA,IAAI,GAAG,GAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,CAAC;AAClD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,GAAG,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;KAC5F;AAED;;;;AAIG;AACH,IAAA,eAAe,CAAC,WAAkB,EAAA;AACjC,QAAA,IAAI,GAAG,GAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,CAAC;AAClD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,cAAc,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;KACjF;;AA7BW,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,kBAKb,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AALrB,qBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cAFrB,MAAM,EAAA,CAAA,CAAA;2FAEN,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAMa,MAAM;+BAAC,aAAa,CAAA;;;;MCLrB,uBAAuB,CAAA;IACnC,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;AAE/F,IAAA,eAAe,CAAC,UAAkB,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,qCAAqC,EACnF;YACE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC;AACvD,SAAA,CACJ,CAAC;KACF;AAED,IAAA,IAAI,CAAC,iBAAoC,EAAA;QACxC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,0BAA0B,EAC3E,iBAAiB,CACjB,CAAC;KACF;;AAjBW,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,kBACf,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,uBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cAFvB,MAAM,EAAA,CAAA,CAAA;2FAEN,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCArB,yBAAyB,CAAA;IAErC,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AADnF,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KACK;AAE/F,IAAA,qCAAqC,CACpC,mBAAwC,EAAA;AAExC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,iDAAiD,EAClD,mBAAmB,EACnB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AAbW,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,kBAEjB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAFrB,yBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,cAFzB,MAAM,EAAA,CAAA,CAAA;2FAEN,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAGa,MAAM;+BAAC,aAAa,CAAA;;;;MCFrB,kBAAkB,CAAA;IAG9B,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAF9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEA;AAE1F,IAAA,yBAAyB,CAAC,mBAAwC,EAAA;QACjE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,uCAAuC,EACrF,mBAAmB,EACnB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,uCAAuC,CAAC,mBAAwC,EAAA;QAC/E,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,qDAAqD,EACnG,mBAAmB,EACnB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,MAAM,CAAC,eAAgC,EAAA;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,oBAAoB,EAClE,eAAe,EACf,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,gBAAgB,CAAC,cAAwB,EAAA;AACxC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,8BAA8B,EAC5E,EAAE,IAAI,EAAE,cAAc,EAAE,EACxB,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,MAAM,CAAC,aAAqB,EAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,oBAAoB,EAClE;YACC,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AAC5D,SAAA,CACD,CAAC;KACF;AAED,IAAA,4BAA4B,CAAC,aAAqB,EAAA;AACjD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,yCAAyC,EACvF;YACC,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AAC5D,SAAA,CACD,CAAC;KACF;AAEA,IAAA,YAAY,CAAC,iBAA2B,EAAA;AACtC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC9B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,0BAA0B,EACxE;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,QAAQ,EAAE,CAAC;AAC/E,SAAA,CACD,CAAC;KACD;IAED,uBAAuB,GAAA;QACvB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,qCAAqC,EACnF,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAEA,IAAA,2BAA2B,CAAC,eAAuC,EAAA;QACnE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,0CAA0C,EACxF,eAAe,EACf,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAEA,IAAA,8BAA8B,CAAC,YAAoB,EAAA;AACjD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,2CAA2C,EACzF;YACC,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC;AAC1D,SAAA,CACD,CAAC;KACA;AAED,IAAA,iCAAiC,CAAC,iBAA2B,EAAA;AAC3D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC9B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,+CAA+C,EAC7F;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,QAAQ,EAAE,CAAC;AAC/E,SAAA,CACD,CAAC;KACD;;AA/FU,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,kBAGV,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,kBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFlB,MAAM,EAAA,CAAA,CAAA;2FAEN,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCJrB,qBAAqB,CAAA;IAEjC,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AADnF,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KACK;AAE/F,IAAA,qBAAqB,CAAC,IAKrB,EAAA;QACA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,oCAAoC,EAClF,IAAI,EACJ,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,sCAAsC,CAAC,eAAyB,EAAA;QAC/D,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,qDAAqD,EACnG,eAAe,EACf,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED,IAAA,yBAAyB,CAAC,YAAoB,EAAA;QAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,wCAAwC,EACtF,YAAY,EACZ,IAAI,CAAC,UAAU,CACf,CAAC;KACF;;AA/BW,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,kBAEb,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAFrB,qBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cAFrB,MAAM,EAAA,CAAA,CAAA;2FAEN,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAGa,MAAM;+BAAC,aAAa,CAAA;;;;MCDrB,wBAAwB,CAAA;IAMpC,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AALnF,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;AAElF,QAAA,IAAA,CAAA,OAAO,GACd,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,GAAG,qBAAqB,CAAC;KAEsB;AAE/F,IAAA,8BAA8B,CAAC,YAAoB,EAAA;AAClD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,OAAO,GAAG,iCAAiC,EAChD,EAAE,EAEE,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,UAAU,CAClB,EAAA,EAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,IAE3D,CAAC;KACF;;AAjBW,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,kBAMhB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AANrB,wBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cAFxB,MAAM,EAAA,CAAA,CAAA;2FAEN,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAOa,MAAM;+BAAC,aAAa,CAAA;;;;MCNrB,iBAAiB,CAAA;IAC7B,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;AAE/F,IAAA,IAAI,CAAC,UAAsB,EAAA;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,iBAAiB,EAC/D,UAAU,CACV,CAAC;KACF;AAED,IAAA,eAAe,CAAC,UAAkB,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,4BAA4B,EAC1E;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;AACjE,SAAA,CACD,CAAC;KACF;;AAjBW,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,kBACT,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,iBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFjB,MAAM,EAAA,CAAA,CAAA;2FAEN,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCDrB,uBAAuB,CAAA;IAGnC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAF9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEA;AAE1F;;;AAGG;IACH,MAAM,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,0BAA0B,CACxE,CAAC;KACF;AAED;;;AAGG;IACH,iBAAiB,CAChB,SAAiB,EACjB,IAAa,EACb,IAAa,EACb,YAAqB,EACrB,OAAgB,EAAA;AAEhB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,qCAAqC,EACnF;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC;AAC3B,iBAAA,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC;AACjB,iBAAA,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC;AACjB,iBAAA,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC;AACjC,iBAAA,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC;AACzB,SAAA,CACD,CAAC;KACF;AAED;;;;AAIG;AACH,IAAA,OAAO,CAAC,EAAU,EAAA;AACjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,2BAA2B,EACzE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAC1C,CAAC;KACF;AACD;;;;AAIG;AACH,IAAA,IAAI,CAAC,UAA4B,EAAA;QAChC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,wBAAwB,EACtE,UAAU,EACV,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED;;;;AAIG;AACH,IAAA,MAAM,CAAC,EAAU,EAAA;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,oBAAoB,GAAG,EAAE,CACvE,CAAC;KACF;;AAxEW,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,kBAGf,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,uBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cAFvB,MAAM,EAAA,CAAA,CAAA;2FAEN,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCHrB,oBAAoB,CAAA;IAGhC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAF9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEA;AAE1F;;;AAGG;IACH,MAAM,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,uBAAuB,CACrE,CAAC;KACF;AAED;;;AAGG;AACH,IAAA,iBAAiB,CAChB,SAAiB,EACjB,IAAa,EACb,IAAa,EACb,YAAqB,EACrB,IAAa,EACb,UAAmB,EACnB,OAAgB,EAChB,eAAwB,EAAA;AAExB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,kCAAkC,EAChF;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC;AAC3B,iBAAA,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC;AACjB,iBAAA,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC;AACjB,iBAAA,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC;AACjC,iBAAA,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC;AACjB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC;AAC7B,iBAAA,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC;AACvB,iBAAA,GAAG,CAAC,iBAAiB,EAAE,eAAe,CAAC;AACzC,SAAA,CACD,CAAC;KACF;AAED;;;;AAIG;AACH,IAAA,OAAO,CAAC,EAAU,EAAA;AACjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,wBAAwB,EACtE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAC1C,CAAC;KACF;AACD;;;;AAIG;AACH,IAAA,IAAI,CAAC,OAAsB,EAAA;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,qBAAqB,EACnE,OAAO,EACP,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED;;;;AAIG;AACH,IAAA,MAAM,CAAC,EAAU,EAAA;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,iBAAiB,GAAG,EAAE,CACpE,CAAC;KACF;AAED;;;AAGG;IACH,iBAAiB,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,kCAAkC,CAChF,CAAC;KACF;;AAxFW,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,kBAGZ,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,oBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cAFpB,MAAM,EAAA,CAAA,CAAA;2FAEN,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCHrB,qBAAqB,CAAA;IAGjC,WAA2C,CAAA,WAAW,EAAU,UAAsB,EAAA;AAA3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAA;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAF9E,QAAA,IAAA,CAAA,UAAU,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;KAEA;AAE1F;;;AAGG;IACH,MAAM,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,wBAAwB,CACtE,CAAC;KACF;AAED;;;AAGG;AACH,IAAA,iBAAiB,CAChB,SAAiB,EACjB,IAAa,EACb,IAAa,EAAA;AAEb,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,mCAAmC,EACjF;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC;AAC3B,iBAAA,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC;AACjB,iBAAA,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC;AACnB,SAAA,CACD,CAAC;KACF;AAED;;;;AAIG;AACH,IAAA,OAAO,CAAC,EAAU,EAAA;AACjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,yBAAyB,EACvE,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAC1C,CAAC;KACF;AACD;;;;AAIG;AACH,IAAA,IAAI,CAAC,QAAwB,EAAA;QAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,sBAAsB,EACpE,QAAQ,EACR,IAAI,CAAC,UAAU,CACf,CAAC;KACF;AAED;;;;AAIG;AACH,IAAA,MAAM,CAAC,EAAU,EAAA;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,kBAAkB,GAAG,EAAE,CACrE,CAAC;KACF;;AApEW,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,kBAGb,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHrB,qBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cAFrB,MAAM,EAAA,CAAA,CAAA;2FAEN,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAIa,MAAM;+BAAC,aAAa,CAAA;;;;MCJrB,mBAAmB,CAAA;IAC5B,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAK;AAEhG,IAAA,SAAS,CAAC,IAAY,EAAA;AAClB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACtB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,yBAAyB,EACpE;YACI,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC;AAC7C,SAAA,CACJ,CAAC;KACL;AAED,IAAA,WAAW,CAAC,IAAY,EAAA;AACpB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACtB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,2BAA2B,EACtE;YACI,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC;AAC7C,SAAA,CACJ,CAAC;KACL;AAED,IAAA,UAAU,CAAC,IAAY,EAAA;AACnB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACtB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,0BAA0B,EACrE;YACI,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC;AAC7C,SAAA,CACJ,CAAC;KACL;AAED,IAAA,aAAa,CAAC,IAAY,EAAA;AACtB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACtB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,6BAA6B,EACxE;YACI,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC;AAC7C,SAAA,CACJ,CAAC;KACL;;AArCQ,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,kBACR,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADxB,mBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFhB,MAAM,EAAA,CAAA,CAAA;2FAET,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;iBACrB,CAAA;;;8BAEgB,MAAM;+BAAC,aAAa,CAAA;;;;MCKxB,4BAA4B,CAAA;IACxC,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;AAE/F,IAAA,IAAI,CAAC,qBAA4C,EAAA;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,6BAA6B,EACxE,qBAAqB,CACrB,CAAC;KACF;AAED,IAAA,QAAQ,CAAC,qBAA8C,EAAA;QACtD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,iCAAiC,EAC5E,qBAAqB,CACrB,CAAC;KACF;IAED,iBAAiB,CAAC,uBAA+B,EAAE,KAAa,EAAA;AAC/D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,0CAA0C,EACrF;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;AACvD,iBAAA,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC;AACrB,SAAA,CACD,CAAC;KACF;AAED,IAAA,cAAc,CAAC,uBAA+B,EAAA;AAC7C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,uCAAuC,EAClF;YACC,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;AAChF,SAAA,CACD,CAAC;KACF;AAED,IAAA,WAAW,CAAC,WAAmB,EAAA;AAC9B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,oCAAoC,EAC/E;YACC,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC;AACxD,SAAA,CACD,CAAC;KACF;AAED,IAAA,cAAc,CAAC,cAAmB,EAAA;QACjC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,uCAAuC,EAClF,cAAc,CACd,CAAC;KACF;AAED,IAAA,eAAe,CAAC,eAAgD,EAAA;QAC/D,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,wCAAwC,EACnF,eAAe,CACf,CAAC;KACF;AAED,IAAA,aAAa,CAAC,UAAkB,EAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,sCAAsC,EACjF;YACC,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC;AACtD,SAAA,CACD,CAAC;KACF;IAED,OAAO,CAAC,gBAAwB,EAAE,UAAkB,EAAA;AACnD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,gCAAgC,EAC3E;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;AACzC,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC;AAC/B,SAAA,CACD,CAAC;KACF;AAED,IAAA,wBAAwB,CAAC,mBAAwC,EAAA;AAChE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;YACvC,iDAAiD,EAClD,mBAAmB,CACnB,CAAC;KACF;;AAtFW,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,kBACpB,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,4BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,cAF5B,MAAM,EAAA,CAAA,CAAA;2FAEN,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAHxC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCPrB,qCAAqC,CAAA;IACjD,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;IAE/F,MAAM,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,yCAAyC,CACpF,CAAC;KACF;AAED,IAAA,oBAAoB,CAAC,IAAY,EAAA;AAChC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;AACvC,YAAA,uDAAuD,EACxD;YACC,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC;AAC1C,SAAA,CACD,CAAC;KACF;;AAjBW,qCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qCAAqC,kBAC7B,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,qCAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qCAAqC,cAFrC,MAAM,EAAA,CAAA,CAAA;2FAEN,qCAAqC,EAAA,UAAA,EAAA,CAAA;kBAHjD,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;MCArB,uCAAuC,CAAA;IACnD,WAA2C,CAAA,WAAgB,EAAU,UAAsB,EAAA;AAAhD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;AAE/F,IAAA,IAAI,CAAC,gCAAkE,EAAA;QACtE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,qCAAqC,EACnF,gCAAgC,CAChC,CAAC;KACF;IAED,4BAA4B,CAAC,UAAkB,EAAE,UAAkB,EAAA;AAClE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,6DAA6D,EAC9D;AACC,YAAA,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC;AACpF,SAAA,CACD,CAAC;KACF;IAED,8BAA8B,CAAC,UAAkB,EAAE,YAAoB,EAAA;AACtE,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC1C,YAAA,+DAA+D,EAChE;YACC,MAAM,EAAE,IAAI,UAAU,EAAE;AACtB,iBAAA,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC;AAC7B,iBAAA,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC;AACnC,SAAA,CACD,CAAC;KACF;;AA9BW,uCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uCAAuC,kBAC/B,aAAa,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AADrB,uCAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uCAAuC,cAFvC,MAAM,EAAA,CAAA,CAAA;2FAEN,uCAAuC,EAAA,UAAA,EAAA,CAAA;kBAHnD,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;iBAClB,CAAA;;;8BAEa,MAAM;+BAAC,aAAa,CAAA;;;;ACTlC;;AAEG;;ACFH;;AAEG;;;;"}
|