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,131 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { ETypeColumn, SegFilter } from 'ng-pli-util';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../../services/common.service";
|
|
5
|
-
import * as i2 from "primeng/dropdown";
|
|
6
|
-
import * as i3 from "@angular/common";
|
|
7
|
-
import * as i4 from "@angular/forms";
|
|
8
|
-
export class DynamicFilterComponent {
|
|
9
|
-
constructor(cdRef, commonService) {
|
|
10
|
-
this.cdRef = cdRef;
|
|
11
|
-
this.commonService = commonService;
|
|
12
|
-
this.searchFilter = new EventEmitter();
|
|
13
|
-
}
|
|
14
|
-
ngOnInit() { }
|
|
15
|
-
/** It manages the change of the every @Input */
|
|
16
|
-
ngOnChanges(changes) {
|
|
17
|
-
const comboColumnWork = changes.comboColumnWork;
|
|
18
|
-
if (comboColumnWork && comboColumnWork.currentValue) {
|
|
19
|
-
this.comboColumnWork = comboColumnWork.currentValue;
|
|
20
|
-
this.active = true;
|
|
21
|
-
if (!this.lSegFilter || this.lSegFilter.length == 0) {
|
|
22
|
-
this.addFilter();
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
const lSegColumn = changes.lSegColumn;
|
|
26
|
-
if (lSegColumn && lSegColumn.currentValue) {
|
|
27
|
-
this.lSegColumn = lSegColumn.currentValue;
|
|
28
|
-
this.loadMapColumn();
|
|
29
|
-
}
|
|
30
|
-
// console.log(this.comboColumnWork);
|
|
31
|
-
}
|
|
32
|
-
loadMapColumn() {
|
|
33
|
-
this.mapSegColumnById = new Map();
|
|
34
|
-
for (const segColumn of this.lSegColumn) {
|
|
35
|
-
this.mapSegColumnById.set(segColumn.idColumn.toString(), segColumn);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
/** it fires when select column */
|
|
39
|
-
onSelectColumn(filter) {
|
|
40
|
-
if (filter.idColumn) {
|
|
41
|
-
let column = this.getColumnById(filter.idColumn.toString());
|
|
42
|
-
if (column) {
|
|
43
|
-
filter.idColumn = column.idColumn;
|
|
44
|
-
filter.type = column.type;
|
|
45
|
-
filter.label = column.label;
|
|
46
|
-
filter.key = column.key;
|
|
47
|
-
}
|
|
48
|
-
if (Number(filter.type) == this.getTypeNumber() ||
|
|
49
|
-
Number(filter.type) == this.getTypeDate())
|
|
50
|
-
filter.operator = '1';
|
|
51
|
-
else
|
|
52
|
-
filter.operator = '3';
|
|
53
|
-
console.log('filter', filter);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
/** It returns the type text */
|
|
57
|
-
getTypeText() {
|
|
58
|
-
return ETypeColumn.TEXTO;
|
|
59
|
-
}
|
|
60
|
-
/** It returns the type number */
|
|
61
|
-
getTypeNumber() {
|
|
62
|
-
return ETypeColumn.NUMERICO;
|
|
63
|
-
}
|
|
64
|
-
/** It returns the type date */
|
|
65
|
-
getTypeDate() {
|
|
66
|
-
return ETypeColumn.FECHA;
|
|
67
|
-
}
|
|
68
|
-
/** it deletes filter */
|
|
69
|
-
deleteFilter(i) {
|
|
70
|
-
console.log('Eliminar ', i);
|
|
71
|
-
if (this.lSegFilter)
|
|
72
|
-
this.lSegFilter.splice(i, 1);
|
|
73
|
-
if (!this.lSegFilter || !this.lSegFilter.length)
|
|
74
|
-
this.addFilter();
|
|
75
|
-
}
|
|
76
|
-
/** it defines the conjunction */
|
|
77
|
-
setConjunction(filter, conjunction) {
|
|
78
|
-
filter.conjunction = conjunction;
|
|
79
|
-
}
|
|
80
|
-
/** it adds new filter */
|
|
81
|
-
addFilter() {
|
|
82
|
-
if (!this.lSegFilter) {
|
|
83
|
-
this.lSegFilter = [];
|
|
84
|
-
}
|
|
85
|
-
let filter = new SegFilter();
|
|
86
|
-
filter.conjunction = 'Y';
|
|
87
|
-
this.lSegFilter.push(filter);
|
|
88
|
-
}
|
|
89
|
-
/** clean all filters */
|
|
90
|
-
clean() {
|
|
91
|
-
this.lSegFilter = [];
|
|
92
|
-
this.addFilter();
|
|
93
|
-
}
|
|
94
|
-
/** clean all filters */
|
|
95
|
-
deleteAll() {
|
|
96
|
-
if (this.lSegFilter)
|
|
97
|
-
for (const filter of this.lSegFilter)
|
|
98
|
-
filter.value = undefined;
|
|
99
|
-
}
|
|
100
|
-
/** it searches */
|
|
101
|
-
search() {
|
|
102
|
-
this.searchFilter.emit(this.lSegFilter);
|
|
103
|
-
}
|
|
104
|
-
/** return type input */
|
|
105
|
-
getTypeInput(type) {
|
|
106
|
-
if (type == this.getTypeDate())
|
|
107
|
-
return 'date';
|
|
108
|
-
if (type == this.getTypeNumber())
|
|
109
|
-
return 'text';
|
|
110
|
-
return 'text';
|
|
111
|
-
}
|
|
112
|
-
/** it returns the column by id */
|
|
113
|
-
getColumnById(id) {
|
|
114
|
-
return this.mapSegColumnById.get(id);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
DynamicFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: DynamicFilterComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.CommonService }], target: i0.ɵɵFactoryTarget.Component });
|
|
118
|
-
DynamicFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: DynamicFilterComponent, selector: "app-dynamic-filter", inputs: { lSegFilter: "lSegFilter", lSegColumn: "lSegColumn", comboColumnWork: "comboColumnWork" }, outputs: { searchFilter: "searchFilter" }, usesOnChanges: true, ngImport: i0, template: "<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\u00F3n\"\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\u00EDo</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", styles: [".button_filter .btn{line-height:12px;width:22px;height:22px}.button_filter .btn.btn-success{background-color:transparent;border:1px solid #4cae4c;color:#4cae4c}.button_filter .btn.btn-success:hover{background-color:#4cae4c;color:#fff}.button_filter .btn-danger{background-color:transparent;color:#d43f3a}.button_filter .btn-danger:hover{background-color:#d43f3a;color:#fff}.conector .btn{height:22px;line-height:12px}.btn{padding:5px}.btn-rounded{border-radius:50%!important}.btn-delete,.btn-save,.btn-definition,.btn-clear{background-color:transparent;color:#333;transition:all .3s}.btn-delete:hover{background-color:#d43f3a;color:#fff}.btn-save:hover{background-color:#4cae4c;color:#fff}.btn-definition:hover{color:#fff;background-color:#ccc}.btn-clear:hover{background-color:#eea236;color:#fff}.br-5{border-radius:5px!important}.mr-sm{margin-right:5px}.ml-sm{margin-left:5px}.flex{display:flex!important}.flow-row-wrap{flex-flow:row wrap}.align-items-center{align-items:center}.dialog-max-size .ui-dialog{width:95%!important}.segmentation-group .form-control.select-operation{width:40%;font-size:11px;padding-left:3px;padding-right:3px}.segmentation-group .form-control.input-value{width:60%}.segmentation-filter{margin-bottom:10px}.panel-button{background-color:#f8f8f8;padding-top:10px;padding-bottom:10px;border-top:1px solid rgb(231,231,231);border-bottom:1px solid rgb(231,231,231);text-align:right}\n"], components: [{ type: i2.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "virtualScroll", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "disabled", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }] });
|
|
119
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: DynamicFilterComponent, decorators: [{
|
|
120
|
-
type: Component,
|
|
121
|
-
args: [{ selector: 'app-dynamic-filter', template: "<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\u00F3n\"\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\u00EDo</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", styles: [".button_filter .btn{line-height:12px;width:22px;height:22px}.button_filter .btn.btn-success{background-color:transparent;border:1px solid #4cae4c;color:#4cae4c}.button_filter .btn.btn-success:hover{background-color:#4cae4c;color:#fff}.button_filter .btn-danger{background-color:transparent;color:#d43f3a}.button_filter .btn-danger:hover{background-color:#d43f3a;color:#fff}.conector .btn{height:22px;line-height:12px}.btn{padding:5px}.btn-rounded{border-radius:50%!important}.btn-delete,.btn-save,.btn-definition,.btn-clear{background-color:transparent;color:#333;transition:all .3s}.btn-delete:hover{background-color:#d43f3a;color:#fff}.btn-save:hover{background-color:#4cae4c;color:#fff}.btn-definition:hover{color:#fff;background-color:#ccc}.btn-clear:hover{background-color:#eea236;color:#fff}.br-5{border-radius:5px!important}.mr-sm{margin-right:5px}.ml-sm{margin-left:5px}.flex{display:flex!important}.flow-row-wrap{flex-flow:row wrap}.align-items-center{align-items:center}.dialog-max-size .ui-dialog{width:95%!important}.segmentation-group .form-control.select-operation{width:40%;font-size:11px;padding-left:3px;padding-right:3px}.segmentation-group .form-control.input-value{width:60%}.segmentation-filter{margin-bottom:10px}.panel-button{background-color:#f8f8f8;padding-top:10px;padding-bottom:10px;border-top:1px solid rgb(231,231,231);border-bottom:1px solid rgb(231,231,231);text-align:right}\n"] }]
|
|
122
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.CommonService }]; }, propDecorators: { lSegFilter: [{
|
|
123
|
-
type: Input
|
|
124
|
-
}], lSegColumn: [{
|
|
125
|
-
type: Input
|
|
126
|
-
}], comboColumnWork: [{
|
|
127
|
-
type: Input
|
|
128
|
-
}], searchFilter: [{
|
|
129
|
-
type: Output
|
|
130
|
-
}] } });
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcGxpLWNvbW1vbnMvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZmlsdGVyL2R5bmFtaWMtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXBsaS1jb21tb25zL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWZpbHRlci9keW5hbWljLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sU0FBUyxFQUdULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUlOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFhLE1BQU0sYUFBYSxDQUFDOzs7Ozs7QUFTaEUsTUFBTSxPQUFPLHNCQUFzQjtJQWdCbEMsWUFBc0IsS0FBd0IsRUFBWSxhQUE0QjtRQUFoRSxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUFZLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBRjVFLGlCQUFZLEdBQThCLElBQUksWUFBWSxFQUFFLENBQUM7SUFFa0IsQ0FBQztJQUUxRixRQUFRLEtBQUksQ0FBQztJQUViLGdEQUFnRDtJQUNoRCxXQUFXLENBQUMsT0FBc0I7UUFDakMsTUFBTSxlQUFlLEdBQWlCLE9BQU8sQ0FBQyxlQUFlLENBQUM7UUFDOUQsSUFBSSxlQUFlLElBQUksZUFBZSxDQUFDLFlBQVksRUFBRTtZQUNwRCxJQUFJLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQyxZQUFZLENBQUM7WUFDcEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO2dCQUNwRCxJ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dE9uSW5pdCxcclxuXHRDaGFuZ2VEZXRlY3RvclJlZixcclxuXHRFdmVudEVtaXR0ZXIsXHJcblx0SW5wdXQsXHJcblx0T3V0cHV0LFxyXG5cdE9uQ2hhbmdlcyxcclxuXHRTaW1wbGVDaGFuZ2VzLFxyXG5cdFNpbXBsZUNoYW5nZVxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBFVHlwZUNvbHVtbiwgU2VnRmlsdGVyLCBTZWdDb2x1bW4gfSBmcm9tICduZy1wbGktdXRpbCc7XHJcbmltcG9ydCB7IENvbW1vblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb21tb24uc2VydmljZSc7XHJcblxyXG5kZWNsYXJlIHZhciAkOiBhbnk7XHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnYXBwLWR5bmFtaWMtZmlsdGVyJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL2R5bmFtaWMtZmlsdGVyLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0ZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuXHQvKiogKi9cclxuXHRhY3RpdmU6IGJvb2xlYW47XHJcblx0LyoqIExpc3Qgb2YgZmlsdGVyICovXHJcblx0QElucHV0KCkgbFNlZ0ZpbHRlcjogU2VnRmlsdGVyW107XHJcblx0LyoqIExpc3Qgb2YgY29sdW1ucyAqL1xyXG5cdEBJbnB1dCgpIGxTZWdDb2x1bW46IFNlZ0NvbHVtbltdO1xyXG5cdC8qKiBMaXN0IG9mIGNvbHVtbnMgKi9cclxuXHRASW5wdXQoKSBjb21ib0NvbHVtbldvcms6IGFueVtdO1xyXG5cclxuXHRkaXNwbGF5RGlhbG9nOiBib29sZWFuO1xyXG5cclxuXHRtYXBTZWdDb2x1bW5CeUlkOiBNYXA8c3RyaW5nLCBTZWdDb2x1bW4+O1xyXG5cclxuXHRAT3V0cHV0KCkgc2VhcmNoRmlsdGVyOiBFdmVudEVtaXR0ZXI8U2VnRmlsdGVyW10+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuXHRjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLCBwcm90ZWN0ZWQgY29tbW9uU2VydmljZTogQ29tbW9uU2VydmljZSkge31cclxuXHJcblx0bmdPbkluaXQoKSB7fVxyXG5cclxuXHQvKiogSXQgbWFuYWdlcyB0aGUgY2hhbmdlIG9mIHRoZSBldmVyeSBASW5wdXQgKi9cclxuXHRuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcblx0XHRjb25zdCBjb21ib0NvbHVtbldvcms6IFNpbXBsZUNoYW5nZSA9IGNoYW5nZXMuY29tYm9Db2x1bW5Xb3JrO1xyXG5cdFx0aWYgKGNvbWJvQ29sdW1uV29yayAmJiBjb21ib0NvbHVtbldvcmsuY3VycmVudFZhbHVlKSB7XHJcblx0XHRcdHRoaXMuY29tYm9Db2x1bW5Xb3JrID0gY29tYm9Db2x1bW5Xb3JrLmN1cnJlbnRWYWx1ZTtcclxuXHRcdFx0dGhpcy5hY3RpdmUgPSB0cnVlO1xyXG5cdFx0XHRpZiAoIXRoaXMubFNlZ0ZpbHRlciB8fCB0aGlzLmxTZWdGaWx0ZXIubGVuZ3RoID09IDApIHtcclxuXHRcdFx0XHR0aGlzLmFkZEZpbHRlcigpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRjb25zdCBsU2VnQ29sdW1uOiBTaW1wbGVDaGFuZ2UgPSBjaGFuZ2VzLmxTZWdDb2x1bW47XHJcblx0XHRpZiAobFNlZ0NvbHVtbiAmJiBsU2VnQ29sdW1uLmN1cnJlbnRWYWx1ZSkge1xyXG5cdFx0XHR0aGlzLmxTZWdDb2x1bW4gPSBsU2VnQ29sdW1uLmN1cnJlbnRWYWx1ZTtcclxuXHRcdFx0dGhpcy5sb2FkTWFwQ29sdW1uKCk7XHJcblx0XHR9XHJcblx0XHQvLyBjb25zb2xlLmxvZyh0aGlzLmNvbWJvQ29sdW1uV29yayk7XHJcblx0fVxyXG5cclxuXHRsb2FkTWFwQ29sdW1uKCkge1xyXG5cdFx0dGhpcy5tYXBTZWdDb2x1bW5CeUlkID0gbmV3IE1hcDxzdHJpbmcsIFNlZ0NvbHVtbj4oKTtcclxuXHRcdGZvciAoY29uc3Qgc2VnQ29sdW1uIG9mIHRoaXMubFNlZ0NvbHVtbikge1xyXG5cdFx0XHR0aGlzLm1hcFNlZ0NvbHVtbkJ5SWQuc2V0KHNlZ0NvbHVtbi5pZENvbHVtbi50b1N0cmluZygpLCBzZWdDb2x1bW4pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqIGl0IGZpcmVzIHdoZW4gc2VsZWN0IGNvbHVtbiAqL1xyXG5cdG9uU2VsZWN0Q29sdW1uKGZpbHRlcjogU2VnRmlsdGVyKSB7XHJcblx0XHRpZiAoZmlsdGVyLmlkQ29sdW1uKSB7XHJcblx0XHRcdGxldCBjb2x1bW4gPSB0aGlzLmdldENvbHVtbkJ5SWQoZmlsdGVyLmlkQ29sdW1uLnRvU3RyaW5nKCkpO1xyXG5cdFx0XHRpZiAoY29sdW1uKSB7XHJcblx0XHRcdFx0ZmlsdGVyLmlkQ29sdW1uID0gY29sdW1uLmlkQ29sdW1uO1xyXG5cdFx0XHRcdGZpbHRlci50eXBlID0gY29sdW1uLnR5cGU7XHJcblx0XHRcdFx0ZmlsdGVyLmxhYmVsID0gY29sdW1uLmxhYmVsO1xyXG5cdFx0XHRcdGZpbHRlci5rZXkgPSBjb2x1bW4ua2V5O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRpZiAoXHJcblx0XHRcdFx0TnVtYmVyKGZpbHRlci50eXBlKSA9PSB0aGlzLmdldFR5cGVOdW1iZXIoKSB8fFxyXG5cdFx0XHRcdE51bWJlcihmaWx0ZXIudHlwZSkgPT0gdGhpcy5nZXRUeXBlRGF0ZSgpXHJcblx0XHRcdClcclxuXHRcdFx0XHRmaWx0ZXIub3BlcmF0b3IgPSAnMSc7XHJcblx0XHRcdGVsc2UgZmlsdGVyLm9wZXJhdG9yID0gJzMnO1xyXG5cdFx0XHRjb25zb2xlLmxvZygnZmlsdGVyJywgZmlsdGVyKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKiBJdCByZXR1cm5zIHRoZSB0eXBlIHRleHQgKi9cclxuXHRnZXRUeXBlVGV4dCgpIHtcclxuXHRcdHJldHVybiBFVHlwZUNvbHVtbi5URVhUTztcclxuXHR9XHJcblx0LyoqIEl0IHJldHVybnMgdGhlIHR5cGUgbnVtYmVyICovXHJcblx0Z2V0VHlwZU51bWJlcigpIHtcclxuXHRcdHJldHVybiBFVHlwZUNvbHVtbi5OVU1FUklDTztcclxuXHR9XHJcblx0LyoqIEl0IHJldHVybnMgdGhlIHR5cGUgZGF0ZSAqL1xyXG5cdGdldFR5cGVEYXRlKCkge1xyXG5cdFx0cmV0dXJuIEVUeXBlQ29sdW1uLkZFQ0hBO1xyXG5cdH1cclxuXHJcblx0LyoqIGl0IGRlbGV0ZXMgZmlsdGVyICovXHJcblx0ZGVsZXRlRmlsdGVyKGkpIHtcclxuXHRcdGNvbnNvbGUubG9nKCdFbGltaW5hciAnLCBpKTtcclxuXHRcdGlmICh0aGlzLmxTZWdGaWx0ZXIpIHRoaXMubFNlZ0ZpbHRlci5zcGxpY2UoaSwgMSk7XHJcblx0XHRpZiAoIXRoaXMubFNlZ0ZpbHRlciB8fCAhdGhpcy5sU2VnRmlsdGVyLmxlbmd0aCkgdGhpcy5hZGRGaWx0ZXIoKTtcclxuXHR9XHJcblx0LyoqIGl0IGRlZmluZXMgdGhlIGNvbmp1bmN0aW9uICovXHJcblx0c2V0Q29uanVuY3Rpb24oZmlsdGVyOiBTZWdGaWx0ZXIsIGNvbmp1bmN0aW9uKSB7XHJcblx0XHRmaWx0ZXIuY29uanVuY3Rpb24gPSBjb25qdW5jdGlvbjtcclxuXHR9XHJcblxyXG5cdC8qKiBpdCBhZGRzIG5ldyBmaWx0ZXIgKi9cclxuXHRhZGRGaWx0ZXIoKSB7XHJcblx0XHRpZiAoIXRoaXMubFNlZ0ZpbHRlcikge1xyXG5cdFx0XHR0aGlzLmxTZWdGaWx0ZXIgPSBbXTtcclxuXHRcdH1cclxuXHRcdGxldCBmaWx0ZXIgPSBuZXcgU2VnRmlsdGVyKCk7XHJcblx0XHRmaWx0ZXIuY29uanVuY3Rpb24gPSAnWSc7XHJcblx0XHR0aGlzLmxTZWdGaWx0ZXIucHVzaChmaWx0ZXIpO1xyXG5cdH1cclxuXHJcblx0LyoqIGNsZWFuIGFsbCBmaWx0ZXJzICovXHJcblx0Y2xlYW4oKSB7XHJcblx0XHR0aGlzLmxTZWdGaWx0ZXIgPSBbXTtcclxuXHRcdHRoaXMuYWRkRmlsdGVyKCk7XHJcblx0fVxyXG5cclxuXHQvKiogY2xlYW4gYWxsIGZpbHRlcnMgKi9cclxuXHRkZWxldGVBbGwoKSB7XHJcblx0XHRpZiAodGhpcy5sU2VnRmlsdGVyKSBmb3IgKGNvbnN0IGZpbHRlciBvZiB0aGlzLmxTZWdGaWx0ZXIpIGZpbHRlci52YWx1ZSA9IHVuZGVmaW5lZDtcclxuXHR9XHJcblxyXG5cdC8qKiBpdCBzZWFyY2hlcyAgKi9cclxuXHRzZWFyY2goKSB7XHJcblx0XHR0aGlzLnNlYXJjaEZpbHRlci5lbWl0KHRoaXMubFNlZ0ZpbHRlcik7XHJcblx0fVxyXG5cclxuXHQvKiogcmV0dXJuIHR5cGUgaW5wdXQgKi9cclxuXHRnZXRUeXBlSW5wdXQodHlwZSkge1xyXG5cdFx0aWYgKHR5cGUgPT0gdGhpcy5nZXRUeXBlRGF0ZSgpKSByZXR1cm4gJ2RhdGUnO1xyXG5cdFx0aWYgKHR5cGUgPT0gdGhpcy5nZXRUeXBlTnVtYmVyKCkpIHJldHVybiAndGV4dCc7XHJcblx0XHRyZXR1cm4gJ3RleHQnO1xyXG5cdH1cclxuXHJcblx0LyoqIGl0IHJldHVybnMgdGhlIGNvbHVtbiBieSBpZCAqL1xyXG5cdGdldENvbHVtbkJ5SWQoaWQ6IHN0cmluZyk6IFNlZ0NvbHVtbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5tYXBTZWdDb2x1bW5CeUlkLmdldChpZCk7XHJcblx0fVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsb3ctcm93LXdyYXBcIiBzdHlsZT1cIm1hcmdpbjoxMHB4IDAgMDtqdXN0aWZ5LWNvbnRlbnQ6IG5vcm1hbFwiICpuZ0lmPVwiYWN0aXZlXCI+XHJcblx0PGRpdiBjbGFzcz1cInNlZ21lbnRhdGlvbi1maWx0ZXJcIiAqbmdGb3I9XCJsZXQgZmlsdGVyIG9mIGxTZWdGaWx0ZXI7IGxldCBpID0gaW5kZXhcIj5cclxuXHRcdDxkaXYgKm5nSWY9XCJmaWx0ZXIuaWRDb2x1bW4gPT0gdW5kZWZpbmVkXCI+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJtbC1zbVwiPlxyXG5cdFx0XHRcdDxwLWRyb3Bkb3duXHJcblx0XHRcdFx0XHRbYXV0b1dpZHRoXT1cImZhbHNlXCJcclxuXHRcdFx0XHRcdFtzdHlsZV09XCJ7IHdpZHRoOiAnMTAwJScgfVwiXHJcblx0XHRcdFx0XHRwbGFjZWhvbGRlcj1cIi0tIFNlbGVjY2lvbmUgb3BjacOzblwiXHJcblx0XHRcdFx0XHRbb3B0aW9uc109XCJjb21ib0NvbHVtbldvcmtcIlxyXG5cdFx0XHRcdFx0W2dyb3VwXT1cInRydWVcIlxyXG5cdFx0XHRcdFx0WyhuZ01vZGVsKV09XCJmaWx0ZXIuaWRDb2x1bW5cIlxyXG5cdFx0XHRcdFx0KG9uQ2hhbmdlKT1cIm9uU2VsZWN0Q29sdW1uKGZpbHRlcilcIlxyXG5cdFx0XHRcdFx0W2ZpbHRlcl09XCJ0cnVlXCJcclxuXHRcdFx0XHQ+XHJcblx0XHRcdFx0PC9wLWRyb3Bkb3duPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvZGl2PlxyXG5cdFx0PGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyXCIgKm5nSWY9XCJmaWx0ZXIuaWRDb2x1bW4gIT0gdW5kZWZpbmVkXCI+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJtbC1zbSBtci1zbVwiPlxyXG5cdFx0XHRcdDxzcGFuIGNsYXNzPVwiaW5wdXQtZ3JvdXAtYnRuIGNvbmVjdG9yXCIgKm5nSWY9XCJpICE9IDBcIj5cclxuXHRcdFx0XHRcdDxidXR0b25cclxuXHRcdFx0XHRcdFx0dHlwZT1cImJ1dHRvblwiXHJcblx0XHRcdFx0XHRcdGNsYXNzPVwiYnRuIGJ0bi1pbmZvIGJ0bi1zbSBici01XCJcclxuXHRcdFx0XHRcdFx0Km5nSWY9XCJmaWx0ZXIuY29uanVuY3Rpb24gPT0gJ1knXCJcclxuXHRcdFx0XHRcdFx0KGNsaWNrKT1cInNldENvbmp1bmN0aW9uKGZpbHRlciwgJ08nKVwiXHJcblx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHRcdFlcclxuXHRcdFx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0XHRcdFx0PGJ1dHRvblxyXG5cdFx0XHRcdFx0XHR0eXBlPVwiYnV0dG9uXCJcclxuXHRcdFx0XHRcdFx0Y2xhc3M9XCJidG4gYnRuLXdhcm5pbmcgYnRuLXNtIGJyLTVcIlxyXG5cdFx0XHRcdFx0XHQqbmdJZj1cImZpbHRlci5jb25qdW5jdGlvbiA9PSAnTydcIlxyXG5cdFx0XHRcdFx0XHQoY2xpY2spPVwic2V0Q29uanVuY3Rpb24oZmlsdGVyLCAnWScpXCJcclxuXHRcdFx0XHRcdD5cclxuXHRcdFx0XHRcdFx0T1xyXG5cdFx0XHRcdFx0PC9idXR0b24+XHJcblx0XHRcdFx0PC9zcGFuPlxyXG5cdFx0XHRcdDxzcGFuIGNsYXNzPVwibWwtc21cIiAqbmdJZj1cImkgPT0gMFwiPlxyXG5cdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJidG4gYnRuLXNtIGJyLTVcIiBzdHlsZT1cImN1cnNvcjphdXRvO1wiPiZuYnNwOzwvc3Bhbj5cclxuXHRcdFx0XHQ8L3NwYW4+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwibXItc21cIj5cclxuXHRcdFx0XHQ8c2VsZWN0XHJcblx0XHRcdFx0XHRjbGFzcz1cImZvcm0tY29udHJvbCBpbnB1dC1zbSBzZWxlY3Qtb3BlcmF0aW9uXCJcclxuXHRcdFx0XHRcdHN0eWxlPVwid2lkdGg6IDEyNXB4O1wiXHJcblx0XHRcdFx0XHRbKG5nTW9kZWwpXT1cImZpbHRlci5vcGVyYXRvclwiXHJcblx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0PG9wdGlvbiB2YWx1ZT1cIjFcIj5JZ3VhbCBhPC9vcHRpb24+XHJcblx0XHRcdFx0XHQ8b3B0aW9uIHZhbHVlPVwiMlwiPkRpZmVyZW50ZSBhPC9vcHRpb24+XHJcblx0XHRcdFx0XHQ8b3B0aW9uIHZhbHVlPVwiM1wiICpuZ0lmPVwiZmlsdGVyLnR5cGUgPT0gZ2V0VHlwZVRleHQoKVwiPkNvbnRpZW5lPC9vcHRpb24+XHJcblx0XHRcdFx0XHQ8b3B0aW9uIHZhbHVlPVwiNFwiICpuZ0lmPVwiZmlsdGVyLnR5cGUgPT0gZ2V0VHlwZVRleHQoKVwiPk5vIGNvbnRpZW5lPC9vcHRpb24+XHJcblx0XHRcdFx0XHQ8b3B0aW9uXHJcblx0XHRcdFx0XHRcdHZhbHVlPVwiNVwiXHJcblx0XHRcdFx0XHRcdCpuZ0lmPVwiZmlsdGVyLnR5cGUgPT0gZ2V0VHlwZU51bWJlcigpIHx8IGZpbHRlci50eXBlID09IGdldFR5cGVEYXRlKClcIlxyXG5cdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHRNYXlvciBhPC9vcHRpb25cclxuXHRcdFx0XHRcdD5cclxuXHRcdFx0XHRcdDxvcHRpb25cclxuXHRcdFx0XHRcdFx0dmFsdWU9XCI2XCJcclxuXHRcdFx0XHRcdFx0Km5nSWY9XCJmaWx0ZXIudHlwZSA9PSBnZXRUeXBlTnVtYmVyKCkgfHwgZmlsdGVyLnR5cGUgPT0gZ2V0VHlwZURhdGUoKVwiXHJcblx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHRcdE1heW9yIG8gaWd1YWwgYTwvb3B0aW9uXHJcblx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHQ8b3B0aW9uXHJcblx0XHRcdFx0XHRcdHZhbHVlPVwiN1wiXHJcblx0XHRcdFx0XHRcdCpuZ0lmPVwiZmlsdGVyLnR5cGUgPT0gZ2V0VHlwZU51bWJlcigpIHx8IGZpbHRlci50eXBlID09IGdldFR5cGVEYXRlKClcIlxyXG5cdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHRNZW5vciBhPC9vcHRpb25cclxuXHRcdFx0XHRcdD5cclxuXHRcdFx0XHRcdDxvcHRpb25cclxuXHRcdFx0XHRcdFx0dmFsdWU9XCI4XCJcclxuXHRcdFx0XHRcdFx0Km5nSWY9XCJmaWx0ZXIudHlwZSA9PSBnZXRUeXBlTnVtYmVyKCkgfHwgZmlsdGVyLnR5cGUgPT0gZ2V0VHlwZURhdGUoKVwiXHJcblx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHRcdE1lbm9yIG8gaWd1YWwgYTwvb3B0aW9uXHJcblx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHQ8b3B0aW9uIHZhbHVlPVwiOVwiPkVzIHZhY8Otbzwvb3B0aW9uPlxyXG5cdFx0XHRcdDwvc2VsZWN0PlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PGRpdj5cclxuXHRcdFx0XHQ8aW5wdXRcclxuXHRcdFx0XHRcdFt0eXBlXT1cImdldFR5cGVJbnB1dChmaWx0ZXIudHlwZSlcIlxyXG5cdFx0XHRcdFx0W2Rpc2FibGVkXT1cImZpbHRlci5vcGVyYXRvciA9PSA5XCJcclxuXHRcdFx0XHRcdGNsYXNzPVwiZm9ybS1jb250cm9sIGlucHV0LXZhbHVlIGlucHV0LXNtXCJcclxuXHRcdFx0XHRcdFsobmdNb2RlbCldPVwiZmlsdGVyLnZhbHVlXCJcclxuXHRcdFx0XHRcdFtwbGFjZWhvbGRlcl09XCJmaWx0ZXIubGFiZWxcIlxyXG5cdFx0XHRcdFx0c3R5bGU9XCJ3aWR0aDogMTY1cHg7XCJcclxuXHRcdFx0XHRcdChrZXl1cC5lbnRlcik9XCJzZWFyY2goKVwiXHJcblx0XHRcdFx0Lz5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IG1sLXNtIGJ1dHRvbl9maWx0ZXJcIj5cclxuXHRcdFx0XHQ8YnV0dG9uXHJcblx0XHRcdFx0XHR0eXBlPVwiYnV0dG9uXCJcclxuXHRcdFx0XHRcdGNsYXNzPVwiYnRuIGJ0bi1kYW5nZXIgYnRuLXNtIGJ0bi1yb3VuZGVkXCJcclxuXHRcdFx0XHRcdChjbGljayk9XCJkZWxldGVGaWx0ZXIoaSlcIlxyXG5cdFx0XHRcdD5cclxuXHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwiZmEgZmEtbWludXNcIj48L3NwYW4+XHJcblx0XHRcdFx0PC9idXR0b24+XHJcblx0XHRcdFx0PGJ1dHRvblxyXG5cdFx0XHRcdFx0dHlwZT1cImJ1dHRvblwiXHJcblx0XHRcdFx0XHRjbGFzcz1cImJ0biBidG4tc3VjY2VzcyBidG4tc20gYnRuLXJvdW5kZWQgbWwtc21cIlxyXG5cdFx0XHRcdFx0KGNsaWNrKT1cImFkZEZpbHRlcigpXCJcclxuXHRcdFx0XHRcdCpuZ0lmPVwiaSArIDEgPT0gbFNlZ0ZpbHRlci5sZW5ndGhcIlxyXG5cdFx0XHRcdD5cclxuXHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwiZmEgZmEtcGx1c1wiPjwvc3Bhbj5cclxuXHRcdFx0XHQ8L2J1dHRvbj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L2Rpdj5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJyb3dcIiBzdHlsZT1cIm1hcmdpbjowIDAgMTBweFwiICpuZ0lmPVwiYWN0aXZlXCI+XHJcblx0PGRpdiBjbGFzcz1cImNvbC1zbS0xMiBwYW5lbC1idXR0b25cIj5cclxuXHRcdDxkaXYgY2xhc3M9XCJidG4tdG9vbGJhclwiPlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiYnRuLWdyb3VwXCI+XHJcblx0XHRcdFx0PGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtIGJ0bi1jb25zdWx0XCIgKGNsaWNrKT1cInNlYXJjaCgpXCI+XHJcblx0XHRcdFx0XHRDb25zdWx0YXJcclxuXHRcdFx0XHQ8L2J1dHRvbj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJidG4tZ3JvdXBcIj5cclxuXHRcdFx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tZGFuZ2VyIGJ0bi1zbSBidG4tZGVsZXRlXCIgKGNsaWNrKT1cImNsZWFuKClcIj5cclxuXHRcdFx0XHRcdEJvcnJhciBmaWx0cm9zXHJcblx0XHRcdFx0PC9idXR0b24+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiYnRuLWdyb3VwXCI+XHJcblx0XHRcdFx0PGJ1dHRvblxyXG5cdFx0XHRcdFx0dHlwZT1cImJ1dHRvblwiXHJcblx0XHRcdFx0XHRjbGFzcz1cImJ0biBidG4td2FybmluZyBidG4tc20gYnRuLWNsZWFyXCJcclxuXHRcdFx0XHRcdChjbGljayk9XCJkZWxldGVBbGwoKVwiXHJcblx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0bGltcGlhciBkYXRvc1xyXG5cdFx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvZGl2PlxyXG5cdDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Output } from '@angular/core';
|
|
2
|
-
import * as XLSX from 'xlsx';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class ExcelToJsonComponent {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.disableButton = false;
|
|
7
|
-
this.onLoadFile = new EventEmitter();
|
|
8
|
-
}
|
|
9
|
-
ngOnInit() { }
|
|
10
|
-
onFileChange(event) {
|
|
11
|
-
this.excelWorkbook = [];
|
|
12
|
-
/* wire up file reader */
|
|
13
|
-
const target = event.target;
|
|
14
|
-
if (target.files.length !== 1) {
|
|
15
|
-
throw new Error('Cannot use multiple files');
|
|
16
|
-
}
|
|
17
|
-
this.disableButton = true;
|
|
18
|
-
const reader = new FileReader();
|
|
19
|
-
reader.onload = (e) => {
|
|
20
|
-
/* read workbook */
|
|
21
|
-
const bstr = e.target.result;
|
|
22
|
-
const wb = XLSX.read(bstr, { type: 'binary', cellDates: true });
|
|
23
|
-
/* read sheets */
|
|
24
|
-
for (let i = 0; i < wb.SheetNames.length; i++) {
|
|
25
|
-
/* grab sheet */
|
|
26
|
-
const wsname = wb.SheetNames[i];
|
|
27
|
-
const ws = wb.Sheets[wsname];
|
|
28
|
-
/* save data */
|
|
29
|
-
const sheet = {
|
|
30
|
-
sheet: {
|
|
31
|
-
label: wsname,
|
|
32
|
-
content: (XLSX.utils.sheet_to_json(ws, { raw: true, defval: '', header: 1 }))
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
this.excelWorkbook.push(sheet);
|
|
36
|
-
}
|
|
37
|
-
/* emit data to suscribers*/
|
|
38
|
-
this.onLoadFile.emit({
|
|
39
|
-
data: this.excelWorkbook
|
|
40
|
-
});
|
|
41
|
-
this.disableButton = false;
|
|
42
|
-
};
|
|
43
|
-
reader.readAsBinaryString(target.files[0]);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
ExcelToJsonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ExcelToJsonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
47
|
-
ExcelToJsonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: ExcelToJsonComponent, selector: "pli-excel-to-json", outputs: { onLoadFile: "onLoadFile" }, ngImport: i0, template: "<input type=\"file\" [disabled]=\"disableButton\" (change)=\"onFileChange($event)\" multiple=\"false\" />\r\n", styles: [""] });
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ExcelToJsonComponent, decorators: [{
|
|
49
|
-
type: Component,
|
|
50
|
-
args: [{ selector: 'pli-excel-to-json', template: "<input type=\"file\" [disabled]=\"disableButton\" (change)=\"onFileChange($event)\" multiple=\"false\" />\r\n", styles: [""] }]
|
|
51
|
-
}], ctorParameters: function () { return []; }, propDecorators: { onLoadFile: [{
|
|
52
|
-
type: Output
|
|
53
|
-
}] } });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwtdG8tanNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wbGktY29tbW9ucy9zcmMvbGliL2NvbXBvbmVudHMvZXhjZWwtdG8tanNvbi9leGNlbC10by1qc29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXBsaS1jb21tb25zL3NyYy9saWIvY29tcG9uZW50cy9leGNlbC10by1qc29uL2V4Y2VsLXRvLWpzb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDOztBQU83QixNQUFNLE9BQU8sb0JBQW9CO0lBTWhDO1FBSkEsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFFWixlQUFVLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7SUFFbkQsQ0FBQztJQUVoQixRQUFRLEtBQUksQ0FBQztJQUViLFlBQVksQ0FBQyxLQUFVO1FBQ3RCLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBRXhCLHlCQUF5QjtRQUN6QixNQUFNLE1BQU0sR0FBK0IsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUV4RCxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7U0FDN0M7UUFFRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUMxQixNQUFNLE1BQU0sR0FBZSxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBRTVDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRTtZQUMxQixtQkFBbUI7WUFDbkIsTUFBTSxJQUFJLEdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDckMsTUFBTSxFQUFFLEdBQWtCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUUvRSxpQkFBaUI7WUFDakIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUM5QyxnQkFBZ0I7Z0JBQ2hCLE1BQU0sTUFBTSxHQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3hDLE1BQU0sRUFBRSxHQUFtQixFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUU3QyxlQUFlO2dCQUNmLE1BQU0sS0FBSyxHQUFHO29CQUNiLEtBQUssRUFBRTt3QkFDTixLQUFLLEVBQUUsTUFBTTt3QkFDYixPQUFPLEVBQU8sQ0FDYixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQ2xFO3FCQUNEO2lCQUNELENBQUM7Z0JBRUYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDL0I7WUFFRCw0QkFBNEI7WUFDNUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7Z0JBQ3BCLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYTthQUN4QixDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUM1QixDQUFDLENBQUM7UUFFRixNQUFNLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7O2lIQXhEVyxvQkFBb0I7cUdBQXBCLG9CQUFvQixnR0NSakMsK0dBQ0E7MkZET2Esb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNDLG1CQUFtQjswRUFRbkIsVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyBYTFNYIGZyb20gJ3hsc3gnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdwbGktZXhjZWwtdG8tanNvbicsXHJcblx0dGVtcGxhdGVVcmw6ICcuL2V4Y2VsLXRvLWpzb24uY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL2V4Y2VsLXRvLWpzb24uY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFeGNlbFRvSnNvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblx0ZXhjZWxXb3JrYm9vazogQXJyYXk8YW55PjtcclxuXHRkaXNhYmxlQnV0dG9uID0gZmFsc2U7XHJcblxyXG5cdEBPdXRwdXQoKSBvbkxvYWRGaWxlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuXHRjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG5cdG5nT25Jbml0KCkge31cclxuXHJcblx0b25GaWxlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuXHRcdHRoaXMuZXhjZWxXb3JrYm9vayA9IFtdO1xyXG5cclxuXHRcdC8qIHdpcmUgdXAgZmlsZSByZWFkZXIgKi9cclxuXHRcdGNvbnN0IHRhcmdldDogRGF0YVRyYW5zZmVyID0gPERhdGFUcmFuc2Zlcj5ldmVudC50YXJnZXQ7XHJcblxyXG5cdFx0aWYgKHRhcmdldC5maWxlcy5sZW5ndGggIT09IDEpIHtcclxuXHRcdFx0dGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgdXNlIG11bHRpcGxlIGZpbGVzJyk7XHJcblx0XHR9XHJcblxyXG5cdFx0dGhpcy5kaXNhYmxlQnV0dG9uID0gdHJ1ZTtcclxuXHRcdGNvbnN0IHJlYWRlcjogRmlsZVJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcblxyXG5cdFx0cmVhZGVyLm9ubG9hZCA9IChlOiBhbnkpID0+IHtcclxuXHRcdFx0LyogcmVhZCB3b3JrYm9vayAqL1xyXG5cdFx0XHRjb25zdCBic3RyOiBzdHJpbmcgPSBlLnRhcmdldC5yZXN1bHQ7XHJcblx0XHRcdGNvbnN0IHdiOiBYTFNYLldvcmtCb29rID0gWExTWC5yZWFkKGJzdHIsIHsgdHlwZTogJ2JpbmFyeScsIGNlbGxEYXRlczogdHJ1ZSB9KTtcclxuXHJcblx0XHRcdC8qIHJlYWQgc2hlZXRzICovXHJcblx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgd2IuU2hlZXROYW1lcy5sZW5ndGg7IGkrKykge1xyXG5cdFx0XHRcdC8qIGdyYWIgc2hlZXQgKi9cclxuXHRcdFx0XHRjb25zdCB3c25hbWU6IHN0cmluZyA9IHdiLlNoZWV0TmFtZXNbaV07XHJcblx0XHRcdFx0Y29uc3Qgd3M6IFhMU1guV29ya1NoZWV0ID0gd2IuU2hlZXRzW3dzbmFtZV07XHJcblxyXG5cdFx0XHRcdC8qIHNhdmUgZGF0YSAqL1xyXG5cdFx0XHRcdGNvbnN0IHNoZWV0ID0ge1xyXG5cdFx0XHRcdFx0c2hlZXQ6IHtcclxuXHRcdFx0XHRcdFx0bGFiZWw6IHdzbmFtZSxcclxuXHRcdFx0XHRcdFx0Y29udGVudDogPGFueT4oXHJcblx0XHRcdFx0XHRcdFx0WExTWC51dGlscy5zaGVldF90b19qc29uKHdzLCB7IHJhdzogdHJ1ZSwgZGVmdmFsOiAnJywgaGVhZGVyOiAxIH0pXHJcblx0XHRcdFx0XHRcdClcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9O1xyXG5cclxuXHRcdFx0XHR0aGlzLmV4Y2VsV29ya2Jvb2sucHVzaChzaGVldCk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC8qIGVtaXQgZGF0YSB0byBzdXNjcmliZXJzKi9cclxuXHRcdFx0dGhpcy5vbkxvYWRGaWxlLmVtaXQoe1xyXG5cdFx0XHRcdGRhdGE6IHRoaXMuZXhjZWxXb3JrYm9va1xyXG5cdFx0XHR9KTtcclxuXHJcblx0XHRcdHRoaXMuZGlzYWJsZUJ1dHRvbiA9IGZhbHNlO1xyXG5cdFx0fTtcclxuXHJcblx0XHRyZWFkZXIucmVhZEFzQmluYXJ5U3RyaW5nKHRhcmdldC5maWxlc1swXSk7XHJcblx0fVxyXG59XHJcbiIsIjxpbnB1dCB0eXBlPVwiZmlsZVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlQnV0dG9uXCIgKGNoYW5nZSk9XCJvbkZpbGVDaGFuZ2UoJGV2ZW50KVwiIG11bHRpcGxlPVwiZmFsc2VcIiAvPlxyXG4iXX0=
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { CommonListsComponent } from './common.lists.component';
|
|
3
|
-
import { ApplicationBudgetTotal } from 'ng-pli-util';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../services/common.service";
|
|
6
|
-
export class FrontofficeCommonsComponent extends CommonListsComponent {
|
|
7
|
-
constructor(commonService, cdRef) {
|
|
8
|
-
super(commonService, cdRef);
|
|
9
|
-
this.commonService = commonService;
|
|
10
|
-
this.cdRef = cdRef;
|
|
11
|
-
this.toastDuration = 10000;
|
|
12
|
-
}
|
|
13
|
-
ngOnInit() {
|
|
14
|
-
super.ngOnInit();
|
|
15
|
-
}
|
|
16
|
-
createApplicationBudgetTotalAmount(applicationId, budget, creditAccepted, totalAmount = undefined, totalOwnFunds = undefined, totalFinancing = undefined) {
|
|
17
|
-
const budgetApp = this.createBudgetApplication(budget, creditAccepted, totalAmount, totalOwnFunds, totalFinancing);
|
|
18
|
-
budget = budgetApp.budget;
|
|
19
|
-
const applicationBudgetTotalAmount = {
|
|
20
|
-
applicationBudgetTotal: budgetApp.applicationBudgetTotal,
|
|
21
|
-
applicationId: applicationId,
|
|
22
|
-
creditAccepted: creditAccepted
|
|
23
|
-
};
|
|
24
|
-
return {
|
|
25
|
-
applicationBudgetTotalAmount: applicationBudgetTotalAmount,
|
|
26
|
-
budget: budget
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
createBudgetApplication(budget, creditAccepted, totalAmount = undefined, totalOwnFunds = undefined, totalFinancing = undefined) {
|
|
30
|
-
// Choose if the total budget is from application or legalization process
|
|
31
|
-
const isApplicationProcess = creditAccepted == undefined || creditAccepted == false;
|
|
32
|
-
let appProcessBudgetTotal = isApplicationProcess
|
|
33
|
-
? budget.applicationProcess
|
|
34
|
-
: budget.legalizationProcess;
|
|
35
|
-
// Init the amount or add new values
|
|
36
|
-
if (appProcessBudgetTotal == undefined || appProcessBudgetTotal == null) {
|
|
37
|
-
totalAmount = totalAmount == undefined ? 0 : totalAmount;
|
|
38
|
-
totalOwnFunds = totalOwnFunds == undefined ? 0 : totalOwnFunds;
|
|
39
|
-
totalFinancing = totalFinancing == undefined ? 0 : totalFinancing;
|
|
40
|
-
appProcessBudgetTotal = new ApplicationBudgetTotal();
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
totalAmount =
|
|
44
|
-
totalAmount == undefined ? appProcessBudgetTotal.totalAmount : totalAmount;
|
|
45
|
-
totalOwnFunds =
|
|
46
|
-
totalOwnFunds == undefined ? appProcessBudgetTotal.totalOwnFunds : totalOwnFunds;
|
|
47
|
-
totalFinancing =
|
|
48
|
-
totalFinancing == undefined ? appProcessBudgetTotal.totalFinancing : totalFinancing;
|
|
49
|
-
}
|
|
50
|
-
appProcessBudgetTotal.totalAmount = totalAmount;
|
|
51
|
-
appProcessBudgetTotal.totalOwnFunds = totalOwnFunds;
|
|
52
|
-
appProcessBudgetTotal.totalFinancing = totalFinancing;
|
|
53
|
-
if (isApplicationProcess) {
|
|
54
|
-
budget.applicationProcess = appProcessBudgetTotal;
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
budget.legalizationProcess = appProcessBudgetTotal;
|
|
58
|
-
}
|
|
59
|
-
return {
|
|
60
|
-
applicationBudgetTotal: appProcessBudgetTotal,
|
|
61
|
-
budget: budget
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Call the validataion service
|
|
66
|
-
* @param cnfIniStateId Initial config status id, if not exist, get the config status id from the service
|
|
67
|
-
* @returns True if actual date is before than end application date and the stateAppId is equals of the cnfIniStateId
|
|
68
|
-
*/
|
|
69
|
-
async validateCloseApplicationProcess(cnfIniStateId) {
|
|
70
|
-
let response = await this.commonService.validateCloseApplicationProcess(this.promCodigo, this.stateId, cnfIniStateId).toPromise();
|
|
71
|
-
this.dateClose = response.closeApplicationDate;
|
|
72
|
-
return new Promise((resolve) => {
|
|
73
|
-
resolve(response.userAllowSave);
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
FrontofficeCommonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: FrontofficeCommonsComponent, deps: [{ token: i1.CommonService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
78
|
-
FrontofficeCommonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: FrontofficeCommonsComponent, selector: "app-frontoffice-commons", usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
79
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: FrontofficeCommonsComponent, decorators: [{
|
|
80
|
-
type: Component,
|
|
81
|
-
args: [{
|
|
82
|
-
selector: 'app-frontoffice-commons',
|
|
83
|
-
template: ''
|
|
84
|
-
}]
|
|
85
|
-
}], ctorParameters: function () { return [{ type: i1.CommonService }, { type: i0.ChangeDetectorRef }]; } });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbnRvZmZpY2UuY29tbW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wbGktY29tbW9ucy9zcmMvbGliL2NvbXBvbmVudHMvZnJvbnRvZmZpY2UuY29tbW9ucy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF3QyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFxQixzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBTXhFLE1BQU0sT0FBZ0IsMkJBQTRCLFNBQVEsb0JBQW9CO0lBUTdFLFlBQXNCLGFBQTRCLEVBQVksS0FBd0I7UUFDckYsS0FBSyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQURQLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVksVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFQdEYsa0JBQWEsR0FBVyxLQUFLLENBQUM7SUFTOUIsQ0FBQztJQUVELFFBQVE7UUFDUCxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELGtDQUFrQyxDQUNqQyxhQUFxQixFQUNyQixNQUF5QixFQUN6QixjQUF1QixFQUN2QixjQUFzQixTQUFTLEVBQy9CLGdCQUF3QixTQUFTLEVBQ2pDLGlCQUF5QixTQUFTO1FBRWxDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FDN0MsTUFBTSxFQUNOLGNBQWMsRUFDZCxXQUFXLEVBQ1gsYUFBYSxFQUNiLGNBQWMsQ0FDZCxDQUFDO1FBQ0YsTUFBTSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUM7UUFDMUIsTUFBTSw0QkFBNEIsR0FBRztZQUNwQyxzQkFBc0IsRUFBRSxTQUFTLENBQUMsc0JBQXNCO1lBQ3hELGFBQWEsRUFBRSxhQUFhO1lBQzVCLGNBQWMsRUFBRSxjQUFjO1NBQzlCLENBQUM7UUFDRixPQUFPO1lBQ04sNEJBQTRCLEVBQUUsNEJBQTRCO1lBQzFELE1BQU0sRUFBRSxNQUFNO1NBQ2QsQ0FBQztJQUNILENBQUM7SUFFRCx1QkFBdUIsQ0FDdEIsTUFBeUIsRUFDekIsY0FBdUIsRUFDdkIsY0FBc0IsU0FBUyxFQUMvQixnQkFBd0IsU0FBUyxFQUNqQyxpQkFBeUIsU0FBUztRQUVsQyx5RUFBeUU7UUFDekUsTUFBTSxvQkFBb0IsR0FBRyxjQUFjLElBQUksU0FBUyxJQUFJLGNBQWMsSUFBSSxLQUFLLENBQUM7UUFDcEYsSUFBSSxxQkFBcUIsR0FBRyxvQkFBb0I7WUFDL0MsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0I7WUFDM0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQztRQUM5QixvQ0FBb0M7UUFDcEMsSUFBSSxxQkFBcUIsSUFBSSxTQUFTLElBQUkscUJBQXFCLElBQUksSUFBSSxFQUFFO1lBQ3hFLFdBQVcsR0FBRyxXQUFXLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztZQUN6RCxhQUFhLEdBQUcsYUFBYSxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUM7WUFDL0QsY0FBYyxHQUFHLGNBQWMsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDO1lBQ2xFLHFCQUFxQixHQUFHLElBQUksc0JBQXNCLEVBQUUsQ0FBQztTQUNyRDthQUFNO1lBQ04sV0FBVztnQkFDVixXQUFXLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztZQUM1RSxhQUFhO2dCQUNaLGFBQWEsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO1lBQ2xGLGNBQWM7Z0JBQ2IsY0FBYyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7U0FDckY7UUFDRCxxQkFBcUIsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQ2hELHFCQUFxQixDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDcEQscUJBQXFCLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztRQUN0RCxJQUFJLG9CQUFvQixFQUFFO1lBQ3pCLE1BQU0sQ0FBQyxrQkFBa0IsR0FBRyxxQkFBcUIsQ0FBQztTQUNsRDthQUFNO1lBQ04sTUFBTSxDQUFDLG1CQUFtQixHQUFHLHFCQUFxQixDQUFDO1NBQ25EO1FBQ0QsT0FBTztZQUNOLHNCQUFzQixFQUFFLHFCQUFxQjtZQUM3QyxNQUFNLEVBQUUsTUFBTTtTQUNkLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxhQUFzQjtRQUMzRCxJQUFJLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsK0JBQStCLENBQ3RFLElBQUksQ0FBQyxVQUFVLEVBQ2YsSUFBSSxDQUFDLE9BQU8sRUFDWixhQUFhLENBQ2IsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNkLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDLG9CQUFvQixDQUFDO1FBQy9DLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUM5QixPQUFPLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQzs7d0hBbEdvQiwyQkFBMkI7NEdBQTNCLDJCQUEyQixzRkFGbkMsRUFBRTsyRkFFTSwyQkFBMkI7a0JBSmhELFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsUUFBUSxFQUFFLEVBQUU7aUJBQ2YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPbkluaXQsIENoYW5nZURldGVjdG9yUmVmLCBPbkRlc3Ryb3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29tbW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb21tb25MaXN0c0NvbXBvbmVudCB9IGZyb20gJy4vY29tbW9uLmxpc3RzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFwcGxpY2F0aW9uQnVkZ2V0LCBBcHBsaWNhdGlvbkJ1ZGdldFRvdGFsIH0gZnJvbSAnbmctcGxpLXV0aWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2FwcC1mcm9udG9mZmljZS1jb21tb25zJyxcclxuICAgIHRlbXBsYXRlOiAnJ1xyXG59KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRnJvbnRvZmZpY2VDb21tb25zQ29tcG9uZW50IGV4dGVuZHMgQ29tbW9uTGlzdHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cdHRvYXN0RHVyYXRpb246IG51bWJlciA9IDEwMDAwO1xyXG5cdC8vIFRydWUgSWYgYWN0dWFsIGRhdGUgaXMgYmVmb3JlIHRoYW4gZW5kIGFwcGxpY2F0aW9uIGRhdGVcclxuXHRkYXRlQ2xvc2U6IGJvb2xlYW47XHJcblx0cHJvbUNvZGlnbzogbnVtYmVyO1xyXG5cdHN0YXRlSWQ6IG51bWJlcjtcclxuXHRzdGF0ZU5hbWU6IHN0cmluZztcclxuXHJcblx0Y29uc3RydWN0b3IocHJvdGVjdGVkIGNvbW1vblNlcnZpY2U6IENvbW1vblNlcnZpY2UsIHByb3RlY3RlZCBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuXHRcdHN1cGVyKGNvbW1vblNlcnZpY2UsIGNkUmVmKTtcclxuXHR9XHJcblxyXG5cdG5nT25Jbml0KCkge1xyXG5cdFx0c3VwZXIubmdPbkluaXQoKTtcclxuXHR9XHJcblxyXG5cdGNyZWF0ZUFwcGxpY2F0aW9uQnVkZ2V0VG90YWxBbW91bnQoXHJcblx0XHRhcHBsaWNhdGlvbklkOiBzdHJpbmcsXHJcblx0XHRidWRnZXQ6IEFwcGxpY2F0aW9uQnVkZ2V0LFxyXG5cdFx0Y3JlZGl0QWNjZXB0ZWQ6IGJvb2xlYW4sXHJcblx0XHR0b3RhbEFtb3VudDogbnVtYmVyID0gdW5kZWZpbmVkLFxyXG5cdFx0dG90YWxPd25GdW5kczogbnVtYmVyID0gdW5kZWZpbmVkLFxyXG5cdFx0dG90YWxGaW5hbmNpbmc6IG51bWJlciA9IHVuZGVmaW5lZFxyXG5cdCk6IGFueSB7XHJcblx0XHRjb25zdCBidWRnZXRBcHAgPSB0aGlzLmNyZWF0ZUJ1ZGdldEFwcGxpY2F0aW9uKFxyXG5cdFx0XHRidWRnZXQsXHJcblx0XHRcdGNyZWRpdEFjY2VwdGVkLFxyXG5cdFx0XHR0b3RhbEFtb3VudCxcclxuXHRcdFx0dG90YWxPd25GdW5kcyxcclxuXHRcdFx0dG90YWxGaW5hbmNpbmdcclxuXHRcdCk7XHJcblx0XHRidWRnZXQgPSBidWRnZXRBcHAuYnVkZ2V0O1xyXG5cdFx0Y29uc3QgYXBwbGljYXRpb25CdWRnZXRUb3RhbEFtb3VudCA9IHtcclxuXHRcdFx0YXBwbGljYXRpb25CdWRnZXRUb3RhbDogYnVkZ2V0QXBwLmFwcGxpY2F0aW9uQnVkZ2V0VG90YWwsXHJcblx0XHRcdGFwcGxpY2F0aW9uSWQ6IGFwcGxpY2F0aW9uSWQsXHJcblx0XHRcdGNyZWRpdEFjY2VwdGVkOiBjcmVkaXRBY2NlcHRlZFxyXG5cdFx0fTtcclxuXHRcdHJldHVybiB7XHJcblx0XHRcdGFwcGxpY2F0aW9uQnVkZ2V0VG90YWxBbW91bnQ6IGFwcGxpY2F0aW9uQnVkZ2V0VG90YWxBbW91bnQsXHJcblx0XHRcdGJ1ZGdldDogYnVkZ2V0XHJcblx0XHR9O1xyXG5cdH1cclxuXHJcblx0Y3JlYXRlQnVkZ2V0QXBwbGljYXRpb24oXHJcblx0XHRidWRnZXQ6IEFwcGxpY2F0aW9uQnVkZ2V0LFxyXG5cdFx0Y3JlZGl0QWNjZXB0ZWQ6IGJvb2xlYW4sXHJcblx0XHR0b3RhbEFtb3VudDogbnVtYmVyID0gdW5kZWZpbmVkLFxyXG5cdFx0dG90YWxPd25GdW5kczogbnVtYmVyID0gdW5kZWZpbmVkLFxyXG5cdFx0dG90YWxGaW5hbmNpbmc6IG51bWJlciA9IHVuZGVmaW5lZFxyXG5cdCk6IGFueSB7XHJcblx0XHQvLyBDaG9vc2UgaWYgdGhlIHRvdGFsIGJ1ZGdldCBpcyBmcm9tIGFwcGxpY2F0aW9uIG9yIGxlZ2FsaXphdGlvbiBwcm9jZXNzXHJcblx0XHRjb25zdCBpc0FwcGxpY2F0aW9uUHJvY2VzcyA9IGNyZWRpdEFjY2VwdGVkID09IHVuZGVmaW5lZCB8fCBjcmVkaXRBY2NlcHRlZCA9PSBmYWxzZTtcclxuXHRcdGxldCBhcHBQcm9jZXNzQnVkZ2V0VG90YWwgPSBpc0FwcGxpY2F0aW9uUHJvY2Vzc1xyXG5cdFx0XHQ/IGJ1ZGdldC5hcHBsaWNhdGlvblByb2Nlc3NcclxuXHRcdFx0OiBidWRnZXQubGVnYWxpemF0aW9uUHJvY2VzcztcclxuXHRcdC8vIEluaXQgdGhlIGFtb3VudCBvciBhZGQgbmV3IHZhbHVlc1xyXG5cdFx0aWYgKGFwcFByb2Nlc3NCdWRnZXRUb3RhbCA9PSB1bmRlZmluZWQgfHwgYXBwUHJvY2Vzc0J1ZGdldFRvdGFsID09IG51bGwpIHtcclxuXHRcdFx0dG90YWxBbW91bnQgPSB0b3RhbEFtb3VudCA9PSB1bmRlZmluZWQgPyAwIDogdG90YWxBbW91bnQ7XHJcblx0XHRcdHRvdGFsT3duRnVuZHMgPSB0b3RhbE93bkZ1bmRzID09IHVuZGVmaW5lZCA/IDAgOiB0b3RhbE93bkZ1bmRzO1xyXG5cdFx0XHR0b3RhbEZpbmFuY2luZyA9IHRvdGFsRmluYW5jaW5nID09IHVuZGVmaW5lZCA/IDAgOiB0b3RhbEZpbmFuY2luZztcclxuXHRcdFx0YXBwUHJvY2Vzc0J1ZGdldFRvdGFsID0gbmV3IEFwcGxpY2F0aW9uQnVkZ2V0VG90YWwoKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRvdGFsQW1vdW50ID1cclxuXHRcdFx0XHR0b3RhbEFtb3VudCA9PSB1bmRlZmluZWQgPyBhcHBQcm9jZXNzQnVkZ2V0VG90YWwudG90YWxBbW91bnQgOiB0b3RhbEFtb3VudDtcclxuXHRcdFx0dG90YWxPd25GdW5kcyA9XHJcblx0XHRcdFx0dG90YWxPd25GdW5kcyA9PSB1bmRlZmluZWQgPyBhcHBQcm9jZXNzQnVkZ2V0VG90YWwudG90YWxPd25GdW5kcyA6IHRvdGFsT3duRnVuZHM7XHJcblx0XHRcdHRvdGFsRmluYW5jaW5nID1cclxuXHRcdFx0XHR0b3RhbEZpbmFuY2luZyA9PSB1bmRlZmluZWQgPyBhcHBQcm9jZXNzQnVkZ2V0VG90YWwudG90YWxGaW5hbmNpbmcgOiB0b3RhbEZpbmFuY2luZztcclxuXHRcdH1cclxuXHRcdGFwcFByb2Nlc3NCdWRnZXRUb3RhbC50b3RhbEFtb3VudCA9IHRvdGFsQW1vdW50O1xyXG5cdFx0YXBwUHJvY2Vzc0J1ZGdldFRvdGFsLnRvdGFsT3duRnVuZHMgPSB0b3RhbE93bkZ1bmRzO1xyXG5cdFx0YXBwUHJvY2Vzc0J1ZGdldFRvdGFsLnRvdGFsRmluYW5jaW5nID0gdG90YWxGaW5hbmNpbmc7XHJcblx0XHRpZiAoaXNBcHBsaWNhdGlvblByb2Nlc3MpIHtcclxuXHRcdFx0YnVkZ2V0LmFwcGxpY2F0aW9uUHJvY2VzcyA9IGFwcFByb2Nlc3NCdWRnZXRUb3RhbDtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdGJ1ZGdldC5sZWdhbGl6YXRpb25Qcm9jZXNzID0gYXBwUHJvY2Vzc0J1ZGdldFRvdGFsO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHtcclxuXHRcdFx0YXBwbGljYXRpb25CdWRnZXRUb3RhbDogYXBwUHJvY2Vzc0J1ZGdldFRvdGFsLFxyXG5cdFx0XHRidWRnZXQ6IGJ1ZGdldFxyXG5cdFx0fTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIENhbGwgdGhlIHZhbGlkYXRhaW9uIHNlcnZpY2VcclxuXHQgKiBAcGFyYW0gY25mSW5pU3RhdGVJZCBJbml0aWFsIGNvbmZpZyBzdGF0dXMgaWQsIGlmIG5vdCBleGlzdCwgZ2V0IHRoZSBjb25maWcgc3RhdHVzIGlkIGZyb20gdGhlIHNlcnZpY2VcclxuXHQgKiBAcmV0dXJucyBUcnVlIGlmIGFjdHVhbCBkYXRlIGlzIGJlZm9yZSB0aGFuIGVuZCBhcHBsaWNhdGlvbiBkYXRlIGFuZCB0aGUgc3RhdGVBcHBJZCBpcyBlcXVhbHMgb2YgdGhlIGNuZkluaVN0YXRlSWRcclxuXHQgKi9cclxuXHRhc3luYyB2YWxpZGF0ZUNsb3NlQXBwbGljYXRpb25Qcm9jZXNzKGNuZkluaVN0YXRlSWQ/OiBudW1iZXIpOiBQcm9taXNlPGFueT4ge1xyXG5cdFx0bGV0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jb21tb25TZXJ2aWNlLnZhbGlkYXRlQ2xvc2VBcHBsaWNhdGlvblByb2Nlc3MoXHJcblx0XHRcdHRoaXMucHJvbUNvZGlnbyxcclxuXHRcdFx0dGhpcy5zdGF0ZUlkLFxyXG5cdFx0XHRjbmZJbmlTdGF0ZUlkXHJcblx0XHQpLnRvUHJvbWlzZSgpO1xyXG5cdFx0dGhpcy5kYXRlQ2xvc2UgPSByZXNwb25zZS5jbG9zZUFwcGxpY2F0aW9uRGF0ZTtcclxuXHRcdHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xyXG5cdFx0XHRyZXNvbHZlKHJlc3BvbnNlLnVzZXJBbGxvd1NhdmUpO1xyXG5cdFx0fSk7XHJcblx0fVxyXG59XHJcbiJdfQ==
|
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
-
//import { PDFDocumentProxy } from 'ng2-pdf-viewer';
|
|
3
|
-
// import {
|
|
4
|
-
// GoogleVisionParameters,
|
|
5
|
-
// GoogleVisionRequest,
|
|
6
|
-
// GoogleVisionResponse,
|
|
7
|
-
// GoogleVisionResponseData
|
|
8
|
-
// } from 'ng-pli-util';
|
|
9
|
-
import Cropper from 'cropperjs';
|
|
10
|
-
import html2canvas from 'html2canvas';
|
|
11
|
-
import "jquery";
|
|
12
|
-
import * as i0 from "@angular/core";
|
|
13
|
-
import * as i1 from "../../services/pdf-analyzer.service";
|
|
14
|
-
import * as i2 from "@angular/forms";
|
|
15
|
-
import * as i3 from "@angular/common";
|
|
16
|
-
export class PdfAnalyzerComponent {
|
|
17
|
-
constructor(pdfAnalyzerService) {
|
|
18
|
-
this.pdfAnalyzerService = pdfAnalyzerService;
|
|
19
|
-
this.totalPages = 0;
|
|
20
|
-
this.currentpage = 1;
|
|
21
|
-
this.isCropImage = false;
|
|
22
|
-
this.instructivo = true;
|
|
23
|
-
this.render_text = true;
|
|
24
|
-
this.show_all = false;
|
|
25
|
-
this.original_size = true;
|
|
26
|
-
this.fit_to_page = false;
|
|
27
|
-
this.pdfSrc = "";
|
|
28
|
-
this.textToCompare = "";
|
|
29
|
-
this.labelToCompare = "";
|
|
30
|
-
// @Input()
|
|
31
|
-
// textToCompare: String = "";
|
|
32
|
-
// @Input()
|
|
33
|
-
// textToCompare: String = "";
|
|
34
|
-
this.documentAnalyzed = new EventEmitter();
|
|
35
|
-
}
|
|
36
|
-
ngOnInit() {
|
|
37
|
-
}
|
|
38
|
-
// Zoom Out Image
|
|
39
|
-
zoomOut() {
|
|
40
|
-
this.cropper.zoom(0.1);
|
|
41
|
-
}
|
|
42
|
-
// Zoom In Image
|
|
43
|
-
zoomIn() {
|
|
44
|
-
this.cropper.zoom(-0.1);
|
|
45
|
-
}
|
|
46
|
-
// Range slider for zooming the image
|
|
47
|
-
onRange(event) {
|
|
48
|
-
this.cropper.zoomTo(event.target.value);
|
|
49
|
-
}
|
|
50
|
-
// perform the rotate functionality on image
|
|
51
|
-
onRotate() {
|
|
52
|
-
this.cropper.rotate(-90);
|
|
53
|
-
}
|
|
54
|
-
// show the previous page
|
|
55
|
-
previous() {
|
|
56
|
-
if (this.currentpage > 0) {
|
|
57
|
-
if (this.currentpage == 1) {
|
|
58
|
-
this.currentpage = this.totalPages;
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
this.currentpage--;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
// show the next page
|
|
66
|
-
next() {
|
|
67
|
-
if (this.totalPages > this.currentpage) {
|
|
68
|
-
this.currentpage++;
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
this.currentpage = 1;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
crop() {
|
|
75
|
-
html2canvas(document.querySelector(".pdf-container")).then((canvas) => {
|
|
76
|
-
let ctx = canvas.getContext('2d');
|
|
77
|
-
ctx.scale(3, 3);
|
|
78
|
-
let image = canvas.toDataURL("image/png").replace("image/png", "image/png");
|
|
79
|
-
$("#cropper-img").attr('src', image);
|
|
80
|
-
$('#cropper-img').addClass('ready');
|
|
81
|
-
this.isCropImage = true;
|
|
82
|
-
let cropImg = document.getElementById('cropper-img');
|
|
83
|
-
this.cropper = new Cropper(cropImg, {
|
|
84
|
-
zoomable: true,
|
|
85
|
-
background: false,
|
|
86
|
-
guides: false,
|
|
87
|
-
highlight: false,
|
|
88
|
-
movable: false,
|
|
89
|
-
aspectRatio: 4 / 3,
|
|
90
|
-
ready: (e) => {
|
|
91
|
-
let cropper = this.cropper;
|
|
92
|
-
},
|
|
93
|
-
crop: (e) => {
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
saveCapture() {
|
|
99
|
-
if (this.isCropImage) {
|
|
100
|
-
let canvas = this.cropper.getCroppedCanvas();
|
|
101
|
-
this.getCanvasToImage(canvas);
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
html2canvas(document.querySelector(".pdf-container")).then((canvas) => {
|
|
105
|
-
this.getCanvasToImage(canvas);
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
getCanvasToImage(canvas) {
|
|
110
|
-
let ctx = canvas.getContext('2d');
|
|
111
|
-
ctx.scale(3, 3);
|
|
112
|
-
let image = canvas.toDataURL("image/png").replace("image/png", "image/png");
|
|
113
|
-
this.capture = image;
|
|
114
|
-
console.log(image);
|
|
115
|
-
}
|
|
116
|
-
reset() {
|
|
117
|
-
this.isCropImage = false;
|
|
118
|
-
this.capture = null;
|
|
119
|
-
this.cropper.clear();
|
|
120
|
-
this.cropper.destroy();
|
|
121
|
-
}
|
|
122
|
-
// afterLoadComplete(pdf: PDFDocumentProxy) {
|
|
123
|
-
// this.totalPages = pdf.numPages;
|
|
124
|
-
// }
|
|
125
|
-
validateImage() {
|
|
126
|
-
let base64 = this.capture.substring(22, this.capture.length);
|
|
127
|
-
this.documentAnalyzed.emit(base64);
|
|
128
|
-
// let parameters: any = {
|
|
129
|
-
// requests: [
|
|
130
|
-
// {
|
|
131
|
-
// image: {
|
|
132
|
-
// content: base64
|
|
133
|
-
// },
|
|
134
|
-
// features: [
|
|
135
|
-
// {
|
|
136
|
-
// type: "TEXT_DETECTION"
|
|
137
|
-
// }
|
|
138
|
-
// ]
|
|
139
|
-
// }
|
|
140
|
-
// ]
|
|
141
|
-
// }
|
|
142
|
-
// this.pdfAnalyzerService.getTextOfImage(parameters).subscribe((response: any) => {
|
|
143
|
-
// let textDetected = response[0].fullTextAnnotation.text;
|
|
144
|
-
// console.log(textDetected);
|
|
145
|
-
// });
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
PdfAnalyzerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: PdfAnalyzerComponent, deps: [{ token: i1.PdfAnalyzerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
149
|
-
PdfAnalyzerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: PdfAnalyzerComponent, selector: "pli-pdf-analyzer", inputs: { pdfSrc: "pdfSrc", textToCompare: "textToCompare", labelToCompare: "labelToCompare" }, outputs: { documentAnalyzed: "documentAnalyzed" }, ngImport: i0, template: "<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\u00F3n <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\u00F3n o cambiando de tama\u00F1o el recuadro que aparece en pantalla\r\n <br> 3. Una vez seleccionado dar clic en el bot\u00F3n <span class=\"fa fa-camera\"></span> para previsualizarlo mejor\r\n <br> 4. En caso de haberse equivocado puede darle clic al bot\u00F3n rojo \"Reintentar\" o al bot\u00F3n <span class=\"fa fa-undo\"></span> para volver al paso 1\r\n <br> 5. Cuando ya este correcta la selecci\u00F3n darle clic al bot\u00F3n 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\u00E1gina: {{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>", styles: [".img-visualizer-dashboard,.pdf-visualizer-dashboard,.pdf-visualizer-controls{background-color:#f5f5f5;padding:15px}.pdf-visualizer-dashboard{border-bottom:1px solid #eee;border-top:1px solid #eee}.img-visualizer-dashboard{text-align:center;border-bottom:1px solid #eee;border-top:1px solid #eee}.pdf-visualizer-canvas{cursor:move}button.btns{background-color:green;color:#fff;position:relative;left:0px;margin:15px}button.btns:hover{background-color:#006400}button.btnr{background-color:red;color:#fff;position:relative;left:0px;margin:15px}button.btnr:hover{background-color:#8b0000}.description{padding:0 10px;font-size:14px;font-weight:300;font-family:Roboto,sans-serif;margin-bottom:1.5em}.checkInstructivo{float:right;text-align:right}\n"], directives: [{ type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
150
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: PdfAnalyzerComponent, decorators: [{
|
|
151
|
-
type: Component,
|
|
152
|
-
args: [{ selector: 'pli-pdf-analyzer', template: "<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\u00F3n <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\u00F3n o cambiando de tama\u00F1o el recuadro que aparece en pantalla\r\n <br> 3. Una vez seleccionado dar clic en el bot\u00F3n <span class=\"fa fa-camera\"></span> para previsualizarlo mejor\r\n <br> 4. En caso de haberse equivocado puede darle clic al bot\u00F3n rojo \"Reintentar\" o al bot\u00F3n <span class=\"fa fa-undo\"></span> para volver al paso 1\r\n <br> 5. Cuando ya este correcta la selecci\u00F3n darle clic al bot\u00F3n 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\u00E1gina: {{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>", styles: [".img-visualizer-dashboard,.pdf-visualizer-dashboard,.pdf-visualizer-controls{background-color:#f5f5f5;padding:15px}.pdf-visualizer-dashboard{border-bottom:1px solid #eee;border-top:1px solid #eee}.img-visualizer-dashboard{text-align:center;border-bottom:1px solid #eee;border-top:1px solid #eee}.pdf-visualizer-canvas{cursor:move}button.btns{background-color:green;color:#fff;position:relative;left:0px;margin:15px}button.btns:hover{background-color:#006400}button.btnr{background-color:red;color:#fff;position:relative;left:0px;margin:15px}button.btnr:hover{background-color:#8b0000}.description{padding:0 10px;font-size:14px;font-weight:300;font-family:Roboto,sans-serif;margin-bottom:1.5em}.checkInstructivo{float:right;text-align:right}\n"] }]
|
|
153
|
-
}], ctorParameters: function () { return [{ type: i1.PdfAnalyzerService }]; }, propDecorators: { pdfSrc: [{
|
|
154
|
-
type: Input
|
|
155
|
-
}], textToCompare: [{
|
|
156
|
-
type: Input
|
|
157
|
-
}], labelToCompare: [{
|
|
158
|
-
type: Input
|
|
159
|
-
}], documentAnalyzed: [{
|
|
160
|
-
type: Output
|
|
161
|
-
}] } });
|
|
162
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLWFuYWx5emVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXBsaS1jb21tb25zL3NyYy9saWIvY29tcG9uZW50cy9wZGYtYW5hbHl6ZXIvcGRmLWFuYWx5emVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXBsaS1jb21tb25zL3NyYy9saWIvY29tcG9uZW50cy9wZGYtYW5hbHl6ZXIvcGRmLWFuYWx5emVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQVUsS0FBSyxFQUN4QixNQUFNLEVBQ04sWUFBWSxFQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLG9EQUFvRDtBQUNwRCxXQUFXO0FBQ1gsNEJBQTRCO0FBQzVCLHlCQUF5QjtBQUN6QiwwQkFBMEI7QUFDMUIsNkJBQTZCO0FBQzdCLHdCQUF3QjtBQUN4QixPQUFPLE9BQU8sTUFBTSxXQUFXLENBQUM7QUFDaEMsT0FBTyxXQUFXLE1BQU0sYUFBYSxDQUFDO0FBQ3RDLE9BQU8sUUFBUSxDQUFDOzs7OztBQVFoQixNQUFNLE9BQU8sb0JBQW9CO0lBa0MvQixZQUFvQixrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQS9CbkQsZUFBVSxHQUFXLENBQUMsQ0FBQztRQUN2QixnQkFBVyxHQUFXLENBQUMsQ0FBQztRQUV4QixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUc3QixnQkFBVyxHQUFZLElBQUksQ0FBQztRQUVuQyxnQkFBVyxHQUFZLElBQUksQ0FBQztRQUM1QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGtCQUFhLEdBQVksSUFBSSxDQUFDO1FBQzlCLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBRzdCLFdBQU0sR0FBUSxFQUFFLENBQUM7UUFHakIsa0JBQWEsR0FBVyxFQUFFLENBQUM7UUFHM0IsbUJBQWMsR0FBVyxFQUFFLENBQUM7UUFFNUIsV0FBVztRQUNYLDhCQUE4QjtRQUU5QixXQUFXO1FBQ1gsOEJBQThCO1FBRzlCLHFCQUFnQixHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBRUEsQ0FBQztJQUUvRCxRQUFRO0lBQ1IsQ0FBQztJQUVELGlCQUFpQjtJQUNWLE9BQU87UUFDWixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUN4QixDQUFDO0lBRUQsZ0JBQWdCO0lBQ1QsTUFBTTtRQUNYLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDekIsQ0FBQztJQUVELHFDQUFxQztJQUM5QixPQUFPLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3pDLENBQUM7SUFFRCw0Q0FBNEM7SUFDckMsUUFBUTtRQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDMUIsQ0FBQztJQUVELHlCQUF5QjtJQUNsQixRQUFRO1FBQ2IsSUFBSSxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsRUFBRTtZQUN4QixJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxFQUFFO2dCQUN6QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7YUFDcEM7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2FBQ3BCO1NBQ0Y7SUFDSCxDQUFDO0lBRUQscUJBQXFCO0lBQ2QsSUFBSTtRQUNULElBQUksSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNwQjthQUFNO1lBQ0wsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBRU0sSUFBSTtRQUNULFdBQVcsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFnQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBVyxFQUFFLEVBQUU7WUFDeEYsSUFBSSxHQUFHLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNoQixJQUFJLEtBQUssR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDNUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDckMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQTtZQUN2QixJQUFJLE9BQU8sR0FBUSxRQUFRLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQzFELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFO2dCQUNsQyxRQUFRLEVBQUUsSUFBSTtnQkFDZCxVQUFVLEVBQUUsS0FBSztnQkFDakIsTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsU0FBUyxFQUFFLEtBQUs7Z0JBQ2hCLE9BQU8sRUFBRSxLQUFLO2dCQUNkLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQztnQkFDbEIsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7b0JBQ1gsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztnQkFDN0IsQ0FBQztnQkFDRCxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDWixDQUFDO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzdDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQTtTQUM5QjthQUFNO1lBQ0wsV0FBVyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQWdCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRTtnQkFDeEYsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFBO1lBQy9CLENBQUMsQ0FBQyxDQUFBO1NBQ0g7SUFDSCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsTUFBVztRQUNsQyxJQUFJLEdBQUcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2hCLElBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCw2Q0FBNkM7SUFDN0Msb0NBQW9DO0lBQ3BDLElBQUk7SUFFRyxhQUFhO1FBQ2xCLElBQUksTUFBTSxHQUFZLElBQUksQ0FBQyxPQUFrQixDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUcsSUFBSSxDQUFDLE9BQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFN0YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQywwQkFBMEI7UUFDMUIsZ0JBQWdCO1FBQ2hCLFFBQVE7UUFDUixpQkFBaUI7UUFDakIsMEJBQTBCO1FBQzFCLFdBQVc7UUFDWCxvQkFBb0I7UUFDcEIsWUFBWTtRQUNaLG1DQUFtQztRQUNuQyxZQUFZO1FBQ1osVUFBVTtRQUNWLFFBQVE7UUFDUixNQUFNO1FBQ04sSUFBSTtRQUVKLG9GQUFvRjtRQUNwRiw0REFBNEQ7UUFFNUQsK0JBQStCO1FBQy9CLE1BQU07SUFFUixDQUFDOztpSEEvSlUsb0JBQW9CO3FHQUFwQixvQkFBb0IsMk1DdEJqQyxpdklBb0VNOzJGRDlDTyxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0Usa0JBQWtCO3lHQXFCNUIsTUFBTTtzQkFETCxLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFJTixjQUFjO3NCQURiLEtBQUs7Z0JBVU4sZ0JBQWdCO3NCQURmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbi8vaW1wb3J0IHsgUERGRG9jdW1lbnRQcm94eSB9IGZyb20gJ25nMi1wZGYtdmlld2VyJztcclxuLy8gaW1wb3J0IHtcclxuLy8gICBHb29nbGVWaXNpb25QYXJhbWV0ZXJzLFxyXG4vLyAgIEdvb2dsZVZpc2lvblJlcXVlc3QsXHJcbi8vICAgR29vZ2xlVmlzaW9uUmVzcG9uc2UsXHJcbi8vICAgR29vZ2xlVmlzaW9uUmVzcG9uc2VEYXRhXHJcbi8vIH0gZnJvbSAnbmctcGxpLXV0aWwnO1xyXG5pbXBvcnQgQ3JvcHBlciBmcm9tICdjcm9wcGVyanMnO1xyXG5pbXBvcnQgaHRtbDJjYW52YXMgZnJvbSAnaHRtbDJjYW52YXMnO1xyXG5pbXBvcnQgXCJqcXVlcnlcIjtcclxuaW1wb3J0IHsgUGRmQW5hbHl6ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcGRmLWFuYWx5emVyLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdwbGktcGRmLWFuYWx5emVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcGRmLWFuYWx5emVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wZGYtYW5hbHl6ZXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGRmQW5hbHl6ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuXHJcbiAgcHVibGljIHRvdGFsUGFnZXM6IG51bWJlciA9IDA7XHJcbiAgcHVibGljIGN1cnJlbnRwYWdlOiBudW1iZXIgPSAxO1xyXG4gIHByaXZhdGUgY3JvcHBlciE6IENyb3BwZXI7XHJcbiAgcHVibGljIGlzQ3JvcEltYWdlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGNhcHR1cmU6IGFueTtcclxuXHJcbiAgcHVibGljIGluc3RydWN0aXZvOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgcmVuZGVyX3RleHQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHNob3dfYWxsOiBib29sZWFuID0gZmFsc2U7XHJcbiAgb3JpZ2luYWxfc2l6ZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgZml0X3RvX3BhZ2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwZGZTcmM6IGFueSA9IFwiXCI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdGV4dFRvQ29tcGFyZTogU3RyaW5nID0gXCJcIjtcclxuXHJcbiAgQElucHV0KClcclxuICBsYWJlbFRvQ29tcGFyZTogU3RyaW5nID0gXCJcIjtcclxuXHJcbiAgLy8gQElucHV0KClcclxuICAvLyB0ZXh0VG9Db21wYXJlOiBTdHJpbmcgPSBcIlwiO1xyXG5cclxuICAvLyBASW5wdXQoKVxyXG4gIC8vIHRleHRUb0NvbXBhcmU6IFN0cmluZyA9IFwiXCI7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIGRvY3VtZW50QW5hbHl6ZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGRmQW5hbHl6ZXJTZXJ2aWNlOiBQZGZBbmFseXplclNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIC8vIFpvb20gT3V0IEltYWdlXHJcbiAgcHVibGljIHpvb21PdXQoKSB7XHJcbiAgICB0aGlzLmNyb3BwZXIuem9vbSgwLjEpXHJcbiAgfVxyXG5cclxuICAvLyBab29tIEluIEltYWdlXHJcbiAgcHVibGljIHpvb21JbigpIHtcclxuICAgIHRoaXMuY3JvcHBlci56b29tKC0wLjEpXHJcbiAgfVxyXG5cclxuICAvLyBSYW5nZSBzbGlkZXIgZm9yIHpvb21pbmcgdGhlIGltYWdlXHJcbiAgcHVibGljIG9uUmFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5jcm9wcGVyLnpvb21UbyhldmVudC50YXJnZXQudmFsdWUpXHJcbiAgfVxyXG5cclxuICAvLyBwZXJmb3JtIHRoZSByb3RhdGUgZnVuY3Rpb25hbGl0eSBvbiBpbWFnZVxyXG4gIHB1YmxpYyBvblJvdGF0ZSgpIHtcclxuICAgIHRoaXMuY3JvcHBlci5yb3RhdGUoLTkwKVxyXG4gIH1cclxuXHJcbiAgLy8gc2hvdyB0aGUgcHJldmlvdXMgcGFnZVxyXG4gIHB1YmxpYyBwcmV2aW91cygpIHtcclxuICAgIGlmICh0aGlzLmN1cnJlbnRwYWdlID4gMCkge1xyXG4gICAgICBpZiAodGhpcy5jdXJyZW50cGFnZSA9PSAxKSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50cGFnZSA9IHRoaXMudG90YWxQYWdlcztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRwYWdlLS07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIHNob3cgdGhlIG5leHQgcGFnZVxyXG4gIHB1YmxpYyBuZXh0KCkge1xyXG4gICAgaWYgKHRoaXMudG90YWxQYWdlcyA+IHRoaXMuY3VycmVudHBhZ2UpIHtcclxuICAgICAgdGhpcy5jdXJyZW50cGFnZSsrO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jdXJyZW50cGFnZSA9IDE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY3JvcCgpIHtcclxuICAgIGh0bWwyY2FudmFzKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIucGRmLWNvbnRhaW5lclwiKSBhcyBIVE1MRWxlbWVudCkudGhlbigoY2FudmFzOiBhbnkpID0+IHtcclxuICAgICAgbGV0IGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xyXG4gICAgICBjdHguc2NhbGUoMywgMyk7XHJcbiAgICAgIGxldCBpbWFnZSA9IGNhbnZhcy50b0RhdGFVUkwoXCJpbWFnZS9wbmdcIikucmVwbGFjZShcImltYWdlL3BuZ1wiLCBcImltYWdlL3BuZ1wiKTtcclxuICAgICAgJChcIiNjcm9wcGVyLWltZ1wiKS5hdHRyKCdzcmMnLCBpbWFnZSk7XHJcbiAgICAgICQoJyNjcm9wcGVyLWltZycpLmFkZENsYXNzKCdyZWFkeScpO1xyXG4gICAgICB0aGlzLmlzQ3JvcEltYWdlID0gdHJ1ZVxyXG4gICAgICBsZXQgY3JvcEltZzogYW55ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Nyb3BwZXItaW1nJyk7XHJcbiAgICAgIHRoaXMuY3JvcHBlciA9IG5ldyBDcm9wcGVyKGNyb3BJbWcsIHtcclxuICAgICAgICB6b29tYWJsZTogdHJ1ZSxcclxuICAgICAgICBiYWNrZ3JvdW5kOiBmYWxzZSxcclxuICAgICAgICBndWlkZXM6IGZhbHNlLFxyXG4gICAgICAgIGhpZ2hsaWdodDogZmFsc2UsXHJcbiAgICAgICAgbW92YWJsZTogZmFsc2UsXHJcbiAgICAgICAgYXNwZWN0UmF0aW86IDQgLyAzLFxyXG4gICAgICAgIHJlYWR5OiAoZSkgPT4ge1xyXG4gICAgICAgICAgbGV0IGNyb3BwZXIgPSB0aGlzLmNyb3BwZXI7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjcm9wOiAoZSkgPT4ge1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNhdmVDYXB0dXJlKCkge1xyXG4gICAgaWYgKHRoaXMuaXNDcm9wSW1hZ2UpIHtcclxuICAgICAgbGV0IGNhbnZhcyA9IHRoaXMuY3JvcHBlci5nZXRDcm9wcGVkQ2FudmFzKCk7XHJcbiAgICAgIHRoaXMuZ2V0Q2FudmFzVG9JbWFnZShjYW52YXMpXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBodG1sMmNhbnZhcyhkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLnBkZi1jb250YWluZXJcIikgYXMgSFRNTEVsZW1lbnQpLnRoZW4oKGNhbnZhczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5nZXRDYW52YXNUb0ltYWdlKGNhbnZhcylcclxuICAgICAgfSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0Q2FudmFzVG9JbWFnZShjYW52YXM6IGFueSkge1xyXG4gICAgbGV0IGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xyXG4gICAgY3R4LnNjYWxlKDMsIDMpO1xyXG4gICAgbGV0IGltYWdlID0gY2FudmFzLnRvRGF0YVVSTChcImltYWdlL3BuZ1wiKS5yZXBsYWNlKFwiaW1hZ2UvcG5nXCIsIFwiaW1hZ2UvcG5nXCIpO1xyXG4gICAgdGhpcy5jYXB0dXJlID0gaW1hZ2U7XHJcbiAgICBjb25zb2xlLmxvZyhpbWFnZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVzZXQoKSB7XHJcbiAgICB0aGlzLmlzQ3JvcEltYWdlID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhcHR1cmUgPSBudWxsO1xyXG4gICAgdGhpcy5jcm9wcGVyLmNsZWFyKCk7XHJcbiAgICB0aGlzLmNyb3BwZXIuZGVzdHJveSgpO1xyXG4gIH1cclxuXHJcbiAgLy8gYWZ0ZXJMb2FkQ29tcGxldGUocGRmOiBQREZEb2N1bWVudFByb3h5KSB7XHJcbiAgLy8gICB0aGlzLnRvdGFsUGFnZXMgPSBwZGYubnVtUGFnZXM7XHJcbiAgLy8gfVxyXG5cclxuICBwdWJsaWMgdmFsaWRhdGVJbWFnZSgpIHtcclxuICAgIGxldCBiYXNlNjQ6IFN0cmluZyA9ICh0aGlzLmNhcHR1cmUgYXMgU3RyaW5nKS5zdWJzdHJpbmcoMjIsICh0aGlzLmNhcHR1cmUgYXMgU3RyaW5nKS5sZW5ndGgpO1xyXG5cclxuICAgIHRoaXMuZG9jdW1lbnRBbmFseXplZC5lbWl0KGJhc2U2NCk7XHJcbiAgICAvLyBsZXQgcGFyYW1ldGVyczogYW55ID0ge1xyXG4gICAgLy8gICByZXF1ZXN0czogW1xyXG4gICAgLy8gICAgIHtcclxuICAgIC8vICAgICAgIGltYWdlOiB7XHJcbiAgICAvLyAgICAgICAgIGNvbnRlbnQ6IGJhc2U2NFxyXG4gICAgLy8gICAgICAgfSxcclxuICAgIC8vICAgICAgIGZlYXR1cmVzOiBbXHJcbiAgICAvLyAgICAgICAgIHtcclxuICAgIC8vICAgICAgICAgICB0eXBlOiBcIlRFWFRfREVURUNUSU9OXCJcclxuICAgIC8vICAgICAgICAgfVxyXG4gICAgLy8gICAgICAgXVxyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgXVxyXG4gICAgLy8gfVxyXG5cclxuICAgIC8vIHRoaXMucGRmQW5hbHl6ZXJTZXJ2aWNlLmdldFRleHRPZkltYWdlKHBhcmFtZXRlcnMpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgLy8gICBsZXQgdGV4dERldGVjdGVkID0gcmVzcG9uc2VbMF0uZnVsbFRleHRBbm5vdGF0aW9uLnRleHQ7XHJcblxyXG4gICAgLy8gICBjb25zb2xlLmxvZyh0ZXh0RGV0ZWN0ZWQpO1xyXG4gICAgLy8gfSk7XHJcblxyXG4gIH1cclxuXHJcbn1cclxuXHJcbiIsIjxkaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImNoZWNrSW5zdHJ1Y3Rpdm9cIj5cclxuICAgICAgICA8bGFiZWw+XHJcbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbKG5nTW9kZWwpXT1cImluc3RydWN0aXZvXCIgLz5JbnN0cnVjdGl2b1xyXG4gICAgICAgIDwvbGFiZWw+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCIhaW5zdHJ1Y3Rpdm9cIiBjbGFzcz1cImRlc2NyaXB0aW9uXCI+XHJcbiAgICAgICAgU2VsZWNjaW9uYXIgbGEgcGFydGUgZGVsIGRvY3VtZW50byBkb25kZSBzZSBlbmN1ZW50cmEgPHN0cm9uZz57e2xhYmVsVG9Db21wYXJlfX08L3N0cm9uZz5cclxuXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJpbnN0cnVjdGl2b1wiIGNsYXNzPVwiZGVzY3JpcHRpb25cIj5cclxuICAgICAgICAxLiBEYXJsZSBjbGljIGVuIGVsIGJvdMOzbiA8c3BhbiBjbGFzcz1cImZhIGZhLWNyb3BcIj48L3NwYW4+XHJcbiAgICAgICAgPGJyPiAyLiBTZWxlY2Npb25hciBsYSBwYXJ0ZSBkZWwgZG9jdW1lbnRvIGRvbmRlIHNlIGVuY3VlbnRyYSA8c3Ryb25nPnt7bGFiZWxUb0NvbXBhcmV9fTwvc3Ryb25nPiBjb24gZWwgbW91c2UgZGFuZG8gY2xpYyB5IGFycmFzdHJhbmRvIGhhc3RhIGNvbXBsZXRhciBsYSBzZWxlY2Npw7NuIG8gY2FtYmlhbmRvIGRlIHRhbWHDsW8gZWwgcmVjdWFkcm8gcXVlIGFwYXJlY2UgZW4gcGFudGFsbGFcclxuICAgICAgICA8YnI+IDMuIFVuYSB2ZXogc2VsZWNjaW9uYWRvIGRhciBjbGljIGVuIGVsIGJvdMOzbiA8c3BhbiBjbGFzcz1cImZhIGZhLWNhbWVyYVwiPjwvc3Bhbj4gcGFyYSBwcmV2aXN1YWxpemFybG8gbWVqb3JcclxuICAgICAgICA8YnI+IDQuIEVuIGNhc28gZGUgaGFiZXJzZSBlcXVpdm9jYWRvIHB1ZWRlIGRhcmxlIGNsaWMgYWwgYm90w7NuIHJvam8gXCJSZWludGVudGFyXCIgbyBhbCBib3TDs24gPHNwYW4gY2xhc3M9XCJmYSBmYS11bmRvXCI+PC9zcGFuPiBwYXJhIHZvbHZlciBhbCBwYXNvIDFcclxuICAgICAgICA8YnI+IDUuIEN1YW5kbyB5YSBlc3RlIGNvcnJlY3RhIGxhIHNlbGVjY2nDs24gZGFybGUgY2xpYyBhbCBib3TDs24gdmVyZGUgXCJHdWFyZGFyIENhcHR1cmFcIiBwYXJhIHByb2NlZGVyIGNvbiBlbCBwcm9jZXNvXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJwZGYtdmlzdWFsaXplci1jb250cm9sc1wiPlxyXG4gICAgICAgIDxhIGhyZWY9XCJKYXZhc2NyaXB0OjtcIiB0aXRsZT1cIkFudGVyaW9yXCIgZGF0YS10b2dnbGU9XCJ0b29sdGlwXCIgZGF0YS1wbGFjZW1lbnQ9XCJ0b3BcIiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnlcIiAoY2xpY2spPVwicHJldmlvdXMoKVwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLWFuZ2xlLWxlZnRcIj48L3NwYW4+XHJcbiAgICAgICAgPC9hPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiPlDDoWdpbmE6IHt7Y3VycmVudHBhZ2V9fSAvIHt7dG90YWxQYWdlc319PC9zcGFuPlxyXG4gICAgICAgIDxhIGhyZWY9XCJKYXZhc2NyaXB0OjtcIiB0aXRsZT1cIlNpZ3VpZW50ZVwiIGRhdGEtdG9nZ2xlPVwidG9vbHRpcFwiIGRhdGEtcGxhY2VtZW50PVwidG9wXCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCIgKGNsaWNrKT1cIm5leHQoKVwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLWFuZ2xlLXJpZ2h0XCI+PC9zcGFuPlxyXG4gICAgICAgIDwvYT5cclxuXHJcbiAgICAgICAgPGEgaHJlZj1cIkphdmFzY3JpcHQ6O1wiIHRpdGxlPVwiQWNlcmNhclwiIGRhdGEtdG9nZ2xlPVwidG9vbHRpcFwiIGRhdGEtcGxhY2VtZW50PVwidG9wXCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCIgKm5nSWY9XCJpc0Nyb3BJbWFnZSAmJiAhY2FwdHVyZVwiIChjbGljayk9XCJ6b29tT3V0KClcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1zZWFyY2gtcGx1c1wiPjwvc3Bhbj5cclxuICAgICAgICA8L2E+XHJcblxyXG5cclxuICAgICAgICA8YSBocmVmPVwiSmF2YXNjcmlwdDo7XCIgdGl0bGU9XCJBbGVqYXJcIiBkYXRhLXRvZ2dsZT1cInRvb2x0aXBcIiBkYXRhLXBsYWNlbWVudD1cInRvcFwiIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiICpuZ0lmPVwiaXNDcm9wSW1hZ2UgJiYgIWNhcHR1cmVcIiAoY2xpY2spPVwiem9vbUluKClcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1zZWFyY2gtbWludXNcIj48L3NwYW4+XHJcbiAgICAgICAgPC9hPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwicGRmLXZpc3VhbGl6ZXItY29udHJvbHNcIj5cclxuICAgICAgICA8YSBocmVmPVwiSmF2YXNjcmlwdDo7XCIgdGl0bGU9XCJDYXB0dXJhclwiIGRhdGEtdG9nZ2xlPVwidG9vbHRpcFwiIGRhdGEtcGxhY2VtZW50PVwidG9wXCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCIgKm5nSWY9XCIhaXNDcm9wSW1hZ2VcIiAoY2xpY2spPVwiY3JvcCgpXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtY3JvcCBmYS0yeFwiPjwvc3Bhbj5cclxuICAgICAgICA8L2E+XHJcbiAgICAgICAgPGEgaHJlZj1cIkphdmFzY3JpcHQ6O1wiIHRpdGxlPVwiR3VhcmRhciBDYXB0dXJhXCIgZGF0YS10b2dnbGU9XCJ0b29sdGlwXCIgZGF0YS1wbGFjZW1lbnQ9XCJ0b3BcIiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnlcIiAqbmdJZj1cImlzQ3JvcEltYWdlICYmICFjYXB0dXJlXCIgKGNsaWNrKT1cInNhdmVDYXB0dXJlKClcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1jYW1lcmEgZmEtMnhcIj48L3NwYW4+XHJcbiAgICAgICAgPC9hPlxyXG4gICAgICAgIDxhIGhyZWY9XCJKYXZhc2NyaXB0OjtcIiB0aXRsZT1cIkRlc2hhY2VyXCIgZGF0YS10b2dnbGU9XCJ0b29sdGlwXCIgZGF0YS1wbGFjZW1lbnQ9XCJ0b3BcIiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnlcIiAqbmdJZj1cImlzQ3JvcEltYWdlXCIgKGNsaWNrKT1cInJlc2V0KClcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS11bmRvIGZhLTJ4XCI+PC9zcGFuPlxyXG4gICAgICAgIDwvYT5cclxuICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwicGRmLXZpc3VhbGl6ZXItZGFzaGJvYXJkXCIgKm5nSWY9XCIhY2FwdHVyZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwZGYtY29udGFpbmVyIHBkZi12aXN1YWxpemVyLWNhbnZhcyB0b3AtbWFyZ2luXCIgW2hpZGRlbl09XCJpc0Nyb3BJbWFnZVwiPlxyXG4gICAgICAgICAgICA8IS0tIDxwZGYtdmlld2VyIFsoc3JjKV09XCJwZGZTcmNcIiBbKHJlbmRlci10ZXh0KV09XCJyZW5kZXJfdGV4dFwiIFsocGFnZSldPVwiY3VycmVudHBhZ2VcIiBbKHNob3ctYWxsKV09XCJzaG93X2FsbFwiIFsob3JpZ2luYWwtc2l6ZSldPVwib3JpZ2luYWxfc2l6ZVwiIFsoZml0LXRvLXBhZ2UpXT1cImZpdF90b19wYWdlXCIgKGFmdGVyLWxvYWQtY29tcGxldGUpPVwiYWZ0ZXJMb2FkQ29tcGxldGUoJGV2ZW50KVwiIHN0eWxlPVwiZGlzcGxheTogYmxvY2s7XCI+XHJcbiAgICAgICAgICAgIDwvcGRmLXZpZXdlcj4gLS0+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbWctY29udGFpbmVyXCIgW2hpZGRlbl09XCIhaXNDcm9wSW1hZ2VcIj5cclxuICAgICAgICAgICAgPGltZyAjaW1hZ2Ugc3JjPVwiXCIgaWQ9XCJjcm9wcGVyLWltZ1wiIGNyb3Nzb3JpZ2luPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImltZy12aXN1YWxpemVyLWRhc2hib2FyZFwiICpuZ0lmPVwiY2FwdHVyZVwiPlxyXG4gICAgICAgIDxpbWcgW3NyY109XCJjYXB0dXJlXCI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJpbWctdmlzdWFsaXplci1kYXNoYm9hcmRcIiAqbmdJZj1cImNhcHR1cmVcIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRucyBidG4tc3VjY2VzcyBidG4tbGdcIiAoY2xpY2spPVwidmFsaWRhdGVJbWFnZSgpXCIgbGFuZz1cImVzXCI+R3VhcmRhciBDYXB0dXJhPC9idXR0b24+XHJcblxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG5yIGJ0bi1zdWNjZXNzIGJ0bi1sZ1wiIChjbGljayk9XCJyZXNldCgpXCIgbGFuZz1cImVzXCI+UmVpbnRlbnRhcjwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|