@senior-gestao-empresarial/angular-components 7.29.1 → 8.0.0
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/breadcrumb/index.d.ts +5 -0
- package/breadcrumb/lib/breadcrumb.component.d.ts +23 -0
- package/breadcrumb/lib/breadcrumb.module.d.ts +10 -0
- package/breadcrumb/package.json +3 -0
- package/breadcrumb/public-api.d.ts +2 -0
- package/esm2022/breadcrumb/lib/breadcrumb.component.mjs +99 -0
- package/esm2022/breadcrumb/lib/breadcrumb.module.mjs +20 -0
- package/esm2022/breadcrumb/public-api.mjs +3 -0
- package/esm2022/breadcrumb/senior-gestao-empresarial-angular-components-breadcrumb.mjs +5 -0
- package/esm2022/global-filter/lib/global-filter-modal/global-filter-modal.component.mjs +119 -0
- package/esm2022/global-filter/lib/global-filter.component.mjs +103 -0
- package/esm2022/global-filter/lib/global-filter.module.mjs +43 -0
- package/esm2022/global-filter/lib/global-filter.service.mjs +58 -0
- package/esm2022/global-filter/public-api.mjs +4 -0
- package/esm2022/global-filter/senior-gestao-empresarial-angular-components-global-filter.mjs +5 -0
- package/esm2022/locale/lib/fallback.mjs +79 -0
- package/esm2022/locale/public-api.mjs +2 -0
- package/esm2022/locale/senior-gestao-empresarial-angular-components-locale.mjs +5 -0
- package/esm2022/lookups/lib/core/enums/enum-ana-sin.mjs +6 -0
- package/esm2022/lookups/lib/core/enums/enum-apl-cpg.mjs +7 -0
- package/esm2022/lookups/lib/core/enums/enum-apl-snf.mjs +9 -0
- package/esm2022/lookups/lib/core/enums/enum-difal-contribuinte.mjs +11 -0
- package/esm2022/lookups/lib/core/enums/enum-difal-nao-contribuinte.mjs +6 -0
- package/esm2022/lookups/lib/core/enums/enum-imposto-cadastro.mjs +16 -0
- package/esm2022/lookups/lib/core/enums/enum-nat-ctb.mjs +7 -0
- package/esm2022/lookups/lib/core/enums/enum-origem-mercadoria-imposto.mjs +8 -0
- package/esm2022/lookups/lib/core/enums/enum-perfil-tributario-segmento.mjs +13 -0
- package/esm2022/lookups/lib/core/enums/enum-pro-vei.mjs +6 -0
- package/esm2022/lookups/lib/core/enums/enum-situacao-caracteristica-fiscal.mjs +6 -0
- package/esm2022/lookups/lib/core/enums/enum-tip-crr.mjs +10 -0
- package/esm2022/lookups/lib/core/enums/enum-tip-ctb.mjs +11 -0
- package/esm2022/lookups/lib/core/enums/enum-tip-rod.mjs +10 -0
- package/esm2022/lookups/lib/core/enums/enum-tip-vei.mjs +6 -0
- package/esm2022/lookups/lib/core/enums/enum-tipo-origem.mjs +7 -0
- package/esm2022/lookups/lib/core/enums/erpx-cpl-dfe-eventos-fiscais-backend/enum-situacao-registro.mjs +6 -0
- package/esm2022/lookups/lib/core/enums/erpx-cpl-dfe-eventos-fiscais-backend/enum-tipo-evento.mjs +18 -0
- package/esm2022/lookups/lib/core/enums/erpx-cpl-imp-cadastros-backend/enum-situacao.mjs +6 -0
- package/esm2022/lookups/lib/core/enums/erpx-fnd-produto-backend/enum-sit-reg.mjs +6 -0
- package/esm2022/lookups/lib/entities/agreement-lookup.mjs +30 -0
- package/esm2022/lookups/lib/entities/apuracao-foundation/parameters-lookup.mjs +87 -0
- package/esm2022/lookups/lib/entities/apuracao-foundation/type-taxes-lookup.mjs +55 -0
- package/esm2022/lookups/lib/entities/beneficio-fiscal-lookup.mjs +71 -0
- package/esm2022/lookups/lib/entities/caracteristica-fiscal-lookup.mjs +69 -0
- package/esm2022/lookups/lib/entities/classificacao-tributaria-lookup.mjs +80 -0
- package/esm2022/lookups/lib/entities/composicao-base-calculo-lookup.mjs +102 -0
- package/esm2022/lookups/lib/entities/conta-interna-filial-lookup.mjs +76 -0
- package/esm2022/lookups/lib/entities/documento-lookup.mjs +51 -0
- package/esm2022/lookups/lib/entities/e-001-end-lookup.mjs +107 -0
- package/esm2022/lookups/lib/entities/e-001-pes-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/e-001-tns-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/e-001-tns-sup-est-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/e-002-tpt-lookup.mjs +30 -0
- package/esm2022/lookups/lib/entities/e-006-pai-lookup.mjs +49 -0
- package/esm2022/lookups/lib/entities/e-007-ufs-lookup.mjs +59 -0
- package/esm2022/lookups/lib/entities/e-008-cep-lookup.mjs +74 -0
- package/esm2022/lookups/lib/entities/e-008-rai-lookup.mjs +59 -0
- package/esm2022/lookups/lib/entities/e-012-fam-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/e-015-med-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/e-020-snf-lookup.mjs +93 -0
- package/esm2022/lookups/lib/entities/e-021-mot-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/e-023-crp-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/e-024-msg-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/e-027-eqi-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/e-027-str-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/e-028-cpg-lookup.mjs +78 -0
- package/esm2022/lookups/lib/entities/e-030-age-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/e-030-ban-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/e-031-moe-lookup.mjs +55 -0
- package/esm2022/lookups/lib/entities/e-032-edc-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/e-034-tcc-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/e-035-ocr-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/e-036-ins-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/e-039-por-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/e-041-ceb-lookup.mjs +35 -0
- package/esm2022/lookups/lib/entities/e-043-mpc-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/e-043-pcm-lookup.mjs +79 -0
- package/esm2022/lookups/lib/entities/e-044-ccu-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/e-045-pla-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/e-046-hpd-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/e-047-ntg-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/e-048-fct-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/e-048-sfc-lookup.mjs +108 -0
- package/esm2022/lookups/lib/entities/e-051-dis-lookup.mjs +30 -0
- package/esm2022/lookups/lib/entities/e-066-fpg-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/e-067-fin-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/e-069-gre-lookup.mjs +29 -0
- package/esm2022/lookups/lib/entities/e-070-emp-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/e-070-ent-lookup.mjs +107 -0
- package/esm2022/lookups/lib/entities/e-070-fil-loc-ret-lookup.mjs +75 -0
- package/esm2022/lookups/lib/entities/e-070-fil-lookup.mjs +101 -0
- package/esm2022/lookups/lib/entities/e-073-pes-lookup.mjs +63 -0
- package/esm2022/lookups/lib/entities/e-073-vei-lookup.mjs +227 -0
- package/esm2022/lookups/lib/entities/e-075-der-lookup.mjs +50 -0
- package/esm2022/lookups/lib/entities/e-076-mar-lookup.mjs +45 -0
- package/esm2022/lookups/lib/entities/e-080-ser-lookup.mjs +50 -0
- package/esm2022/lookups/lib/entities/e-081-tab-lookup.mjs +71 -0
- package/esm2022/lookups/lib/entities/e-082-tpr-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/e-085-pes-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/e-089-doc-lookup.mjs +24 -0
- package/esm2022/lookups/lib/entities/e-090-hrp-com-ger-lookup.mjs +49 -0
- package/esm2022/lookups/lib/entities/e-090-pes-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/e-091-plf-lookup.mjs +55 -0
- package/esm2022/lookups/lib/entities/e-095-hfo-sup-ger-lookup.mjs +30 -0
- package/esm2022/lookups/lib/entities/e-095-pes-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/e-099-usu-com-ger-lookup.mjs +35 -0
- package/esm2022/lookups/lib/entities/e-099-usu-sup-cpr-lookup.mjs +43 -0
- package/esm2022/lookups/lib/entities/e-140-ins-lookup.mjs +59 -0
- package/esm2022/lookups/lib/entities/e-140-nfs-lookup.mjs +59 -0
- package/esm2022/lookups/lib/entities/e-200-lot-lookup.mjs +35 -0
- package/esm2022/lookups/lib/entities/e-200-ser-lookup.mjs +35 -0
- package/esm2022/lookups/lib/entities/e-205-dep-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/e-210-dxp-e-075-der-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/e-210-dxp-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/e-301-tcr-lookup.mjs +51 -0
- package/esm2022/lookups/lib/entities/e-403-fpr-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/e-420-icp-lookup.mjs +64 -0
- package/esm2022/lookups/lib/entities/e-420-ipc-lookup.mjs +59 -0
- package/esm2022/lookups/lib/entities/e-420-ocp-lookup.mjs +51 -0
- package/esm2022/lookups/lib/entities/e-501-tcp-lookup.mjs +51 -0
- package/esm2022/lookups/lib/entities/e-600-cco-lookup.mjs +95 -0
- package/esm2022/lookups/lib/entities/e-640-lot-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/equipment-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/erpx-cpl-dfe/dfe-evento-lookup.mjs +146 -0
- package/esm2022/lookups/lib/entities/erpx-cpl-itr-dere/atividade-financeira-lookup.mjs +30 -0
- package/esm2022/lookups/lib/entities/erpx-cpl-itr-dere/codigo-tributacao-lookup.mjs +34 -0
- package/esm2022/lookups/lib/entities/erpx-cpl-itr-dere/e-070-emp-dere-lookup.mjs +46 -0
- package/esm2022/lookups/lib/entities/erpx-cpl-itr-dere/processo-lookup.mjs +26 -0
- package/esm2022/lookups/lib/entities/erpx-cpl-itr-dere/unidade-federativa-lookup.mjs +34 -0
- package/esm2022/lookups/lib/entities/ind-operacao-fornecimento-lookup.mjs +67 -0
- package/esm2022/lookups/lib/entities/lei-complementar-1162003-lookup.mjs +30 -0
- package/esm2022/lookups/lib/entities/ligacao-item-fornecedor-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/lista-servico-nacional-lookup.mjs +32 -0
- package/esm2022/lookups/lib/entities/natureza-receita-pis-cofins.lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/nbs-lookup.mjs +30 -0
- package/esm2022/lookups/lib/entities/ncm-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/nota-fiscal-entrada-lookup.mjs +25 -0
- package/esm2022/lookups/lib/entities/operacoes-lookup.mjs +59 -0
- package/esm2022/lookups/lib/entities/origem-destino-lookup.mjs +136 -0
- package/esm2022/lookups/lib/entities/origem-mercadoria-lookup.mjs +71 -0
- package/esm2022/lookups/lib/entities/produtoServico-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/qtd-disponivel-demanda-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-e-001-end-lookup.mjs +123 -0
- package/esm2022/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-e-001-pes-lookup.mjs +131 -0
- package/esm2022/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-e-001-tns-lookup.mjs +195 -0
- package/esm2022/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-e-007-ufs-lookup.mjs +55 -0
- package/esm2022/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-e-008-rai-lookup.mjs +59 -0
- package/esm2022/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-e-015-med-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-e-020-snf-lookup.mjs +155 -0
- package/esm2022/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-e-024-msg-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-e-028-cpg-lookup.mjs +51 -0
- package/esm2022/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-e-032-edc-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-e-051-dis-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-e-066-fpg-lookup.mjs +187 -0
- package/esm2022/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-e-070-emp-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-e-070-fil-lookup.mjs +63 -0
- package/esm2022/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-e-075-der-lookup.mjs +55 -0
- package/esm2022/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-e-080-ser-lookup.mjs +55 -0
- package/esm2022/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-natureza-receita-pis-cofins.mjs +63 -0
- package/esm2022/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-ncm-lookup.mjs +59 -0
- package/esm2022/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-nf-entrada-lookup.mjs +109 -0
- package/esm2022/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-nf-saida-lookup.mjs +109 -0
- package/esm2022/lookups/lib/entities/requisicao-lookup.mjs +35 -0
- package/esm2022/lookups/lib/entities/segmento-lookup.mjs +71 -0
- package/esm2022/lookups/lib/entities/unidade-medida-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/wizard-entities/bank-lookup.mjs +47 -0
- package/esm2022/lookups/lib/entities/wizard-entities/country-lookup.mjs +55 -0
- package/esm2022/lookups/lib/entities/wizard-entities/currency-lookup.mjs +55 -0
- package/esm2022/lookups/lib/entities/xt-integration/entity-person-product-lookup.mjs +47 -0
- package/esm2022/lookups/lib/enum-options.util.mjs +9 -0
- package/esm2022/lookups/lib/erp-lookups.mjs +492 -0
- package/esm2022/lookups/lib/erp-lookups.module.mjs +413 -0
- package/esm2022/lookups/lib/erp-lookups.service.mjs +87 -0
- package/esm2022/lookups/public-api.mjs +134 -0
- package/esm2022/lookups/senior-gestao-empresarial-angular-components-lookups.mjs +5 -0
- package/esm2022/nps/lib/nps.service.mjs +74 -0
- package/esm2022/nps/lib/protocols/index.mjs +4 -0
- package/esm2022/nps/lib/protocols/tenant-full-dto.mjs +2 -0
- package/esm2022/nps/lib/protocols/token-senior-x.mjs +2 -0
- package/esm2022/nps/lib/protocols/tracksale-request.mjs +2 -0
- package/esm2022/nps/public-api.mjs +3 -0
- package/esm2022/nps/senior-gestao-empresarial-angular-components-nps.mjs +5 -0
- package/esm2022/object-card/lib/elements/field/object-card-field.component.mjs +50 -0
- package/esm2022/object-card/lib/elements/main/object-card-main.component.mjs +135 -0
- package/esm2022/object-card/lib/object-card.component.mjs +168 -0
- package/esm2022/object-card/lib/object-card.module.mjs +63 -0
- package/esm2022/object-card/lib/shared/border-button/border-button.component.mjs +43 -0
- package/esm2022/object-card/lib/shared/border-button/border-button.module.mjs +19 -0
- package/esm2022/object-card/lib/shared/models/border-button-options.mjs +2 -0
- package/esm2022/object-card/lib/shared/models/enum-severity.mjs +9 -0
- package/esm2022/object-card/public-api.mjs +6 -0
- package/esm2022/object-card/senior-gestao-empresarial-angular-components-object-card.mjs +5 -0
- package/esm2022/permissions/lib/protocols/modules.enum.mjs +14 -0
- package/esm2022/permissions/lib/protocols/query-module.mjs +2 -0
- package/esm2022/permissions/lib/protocols/rec-modulo.mjs +2 -0
- package/esm2022/permissions/lib/verify-module-permission-service.mjs +21 -0
- package/esm2022/permissions/lib/verify-module-permission.mjs +46 -0
- package/esm2022/permissions/lib/verify-module-permissions-service.mjs +21 -0
- package/esm2022/permissions/lib/verify-module-permissions.mjs +46 -0
- package/esm2022/permissions/public-api.mjs +4 -0
- package/esm2022/permissions/senior-gestao-empresarial-angular-components-permissions.mjs +5 -0
- package/esm2022/polling/lib/erp-polling.mjs +27 -0
- package/esm2022/polling/public-api.mjs +2 -0
- package/esm2022/polling/senior-gestao-empresarial-angular-components-polling.mjs +5 -0
- package/esm2022/public-api.mjs +2 -0
- package/esm2022/senior-gestao-empresarial-angular-components.mjs +5 -0
- package/esm2022/storage/lib/filters-storage.service.mjs +130 -0
- package/esm2022/storage/lib/storage.service.mjs +18 -0
- package/esm2022/storage/public-api.mjs +2 -0
- package/esm2022/storage/senior-gestao-empresarial-angular-components-storage.mjs +5 -0
- package/esm2022/thumbnail/lib/thumbnail-size.mjs +7 -0
- package/esm2022/thumbnail/lib/thumbnail.component.mjs +94 -0
- package/esm2022/thumbnail/lib/thumbnail.module.mjs +20 -0
- package/esm2022/thumbnail/lib/thumbnail.service.mjs +96 -0
- package/esm2022/thumbnail/public-api.mjs +4 -0
- package/esm2022/thumbnail/senior-gestao-empresarial-angular-components-thumbnail.mjs +5 -0
- package/esm2022/utils/lib/async-lock.mjs +27 -0
- package/esm2022/utils/lib/breakpoints.mjs +11 -0
- package/esm2022/utils/lib/export-utils.mjs +83 -0
- package/esm2022/utils/lib/form-utils.mjs +213 -0
- package/esm2022/utils/lib/http-status-code.mjs +68 -0
- package/esm2022/utils/lib/lookup-validation-utils.mjs +64 -0
- package/esm2022/utils/lib/utils.module.mjs +30 -0
- package/esm2022/utils/public-api.mjs +8 -0
- package/esm2022/utils/senior-gestao-empresarial-angular-components-utils.mjs +5 -0
- package/esm2022/websocket/lib/models/index.mjs +2 -0
- package/esm2022/websocket/lib/models/primitive-manager.mjs +35 -0
- package/esm2022/websocket/lib/protocols/index.mjs +3 -0
- package/esm2022/websocket/lib/protocols/on-event-options.mjs +2 -0
- package/esm2022/websocket/lib/protocols/primitive-event.mjs +2 -0
- package/esm2022/websocket/lib/user-information.service.mjs +33 -0
- package/esm2022/websocket/lib/websocket.service.mjs +334 -0
- package/esm2022/websocket/public-api.mjs +4 -0
- package/esm2022/websocket/senior-gestao-empresarial-angular-components-websocket.mjs +5 -0
- package/fesm2022/senior-gestao-empresarial-angular-components-breadcrumb.mjs +122 -0
- package/fesm2022/senior-gestao-empresarial-angular-components-breadcrumb.mjs.map +1 -0
- package/fesm2022/senior-gestao-empresarial-angular-components-global-filter.mjs +311 -0
- package/fesm2022/senior-gestao-empresarial-angular-components-global-filter.mjs.map +1 -0
- package/fesm2022/senior-gestao-empresarial-angular-components-locale.mjs +85 -0
- package/fesm2022/senior-gestao-empresarial-angular-components-locale.mjs.map +1 -0
- package/fesm2022/senior-gestao-empresarial-angular-components-lookups.mjs +8215 -0
- package/fesm2022/senior-gestao-empresarial-angular-components-lookups.mjs.map +1 -0
- package/fesm2022/senior-gestao-empresarial-angular-components-nps.mjs +81 -0
- package/fesm2022/senior-gestao-empresarial-angular-components-nps.mjs.map +1 -0
- package/fesm2022/senior-gestao-empresarial-angular-components-object-card.mjs +461 -0
- package/fesm2022/senior-gestao-empresarial-angular-components-object-card.mjs.map +1 -0
- package/fesm2022/senior-gestao-empresarial-angular-components-permissions.mjs +144 -0
- package/fesm2022/senior-gestao-empresarial-angular-components-permissions.mjs.map +1 -0
- package/fesm2022/senior-gestao-empresarial-angular-components-polling.mjs +34 -0
- package/fesm2022/senior-gestao-empresarial-angular-components-polling.mjs.map +1 -0
- package/fesm2022/senior-gestao-empresarial-angular-components-storage.mjs +154 -0
- package/fesm2022/senior-gestao-empresarial-angular-components-storage.mjs.map +1 -0
- package/fesm2022/senior-gestao-empresarial-angular-components-thumbnail.mjs +216 -0
- package/fesm2022/senior-gestao-empresarial-angular-components-thumbnail.mjs.map +1 -0
- package/fesm2022/senior-gestao-empresarial-angular-components-utils.mjs +498 -0
- package/fesm2022/senior-gestao-empresarial-angular-components-utils.mjs.map +1 -0
- package/fesm2022/senior-gestao-empresarial-angular-components-websocket.mjs +404 -0
- package/fesm2022/senior-gestao-empresarial-angular-components-websocket.mjs.map +1 -0
- package/fesm2022/senior-gestao-empresarial-angular-components.mjs +4 -0
- package/fesm2022/senior-gestao-empresarial-angular-components.mjs.map +1 -0
- package/global-filter/index.d.ts +5 -0
- package/global-filter/lib/global-filter-modal/global-filter-modal.component.d.ts +29 -0
- package/global-filter/lib/global-filter.component.d.ts +40 -0
- package/global-filter/lib/global-filter.module.d.ts +14 -0
- package/global-filter/lib/global-filter.service.d.ts +42 -0
- package/global-filter/package.json +3 -0
- package/global-filter/public-api.d.ts +3 -0
- package/index.d.ts +5 -0
- package/locale/index.d.ts +5 -0
- package/locale/lib/fallback.d.ts +78 -0
- package/locale/package.json +3 -0
- package/locale/public-api.d.ts +1 -0
- package/lookups/index.d.ts +5 -0
- package/lookups/lib/entities/agreement-lookup.d.ts +11 -0
- package/lookups/lib/entities/apuracao-foundation/parameters-lookup.d.ts +11 -0
- package/lookups/lib/entities/apuracao-foundation/type-taxes-lookup.d.ts +11 -0
- package/lookups/lib/entities/beneficio-fiscal-lookup.d.ts +11 -0
- package/lookups/lib/entities/caracteristica-fiscal-lookup.d.ts +11 -0
- package/lookups/lib/entities/classificacao-tributaria-lookup.d.ts +11 -0
- package/lookups/lib/entities/composicao-base-calculo-lookup.d.ts +11 -0
- package/lookups/lib/entities/conta-interna-filial-lookup.d.ts +11 -0
- package/lookups/lib/entities/documento-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-001-end-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-001-pes-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-001-tns-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-001-tns-sup-est-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-002-tpt-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-006-pai-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-007-ufs-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-008-cep-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-008-rai-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-012-fam-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-015-med-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-020-snf-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-021-mot-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-023-crp-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-024-msg-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-027-eqi-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-027-str-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-028-cpg-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-030-age-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-030-ban-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-031-moe-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-032-edc-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-034-tcc-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-035-ocr-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-036-ins-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-039-por-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-041-ceb-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-043-mpc-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-043-pcm-lookup.d.ts +12 -0
- package/lookups/lib/entities/e-044-ccu-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-045-pla-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-046-hpd-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-047-ntg-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-048-fct-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-048-sfc-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-051-dis-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-066-fpg-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-067-fin-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-069-gre-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-070-emp-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-070-ent-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-070-fil-loc-ret-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-070-fil-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-073-pes-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-073-vei-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-075-der-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-076-mar-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-080-ser-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-081-tab-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-082-tpr-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-085-pes-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-089-doc-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-090-hrp-com-ger-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-090-pes-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-091-plf-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-095-hfo-sup-ger-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-095-pes-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-099-usu-com-ger-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-099-usu-sup-cpr-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-140-ins-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-140-nfs-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-200-lot-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-200-ser-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-205-dep-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-210-dxp-e-075-der-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-210-dxp-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-301-tcr-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-403-fpr-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-420-icp-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-420-ipc-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-420-ocp-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-501-tcp-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-600-cco-lookup.d.ts +11 -0
- package/lookups/lib/entities/e-640-lot-lookup.d.ts +11 -0
- package/lookups/lib/entities/equipment-lookup.d.ts +11 -0
- package/lookups/lib/entities/erpx-cpl-dfe/dfe-evento-lookup.d.ts +11 -0
- package/lookups/lib/entities/erpx-cpl-itr-dere/atividade-financeira-lookup.d.ts +11 -0
- package/lookups/lib/entities/erpx-cpl-itr-dere/codigo-tributacao-lookup.d.ts +11 -0
- package/lookups/lib/entities/erpx-cpl-itr-dere/e-070-emp-dere-lookup.d.ts +11 -0
- package/lookups/lib/entities/erpx-cpl-itr-dere/processo-lookup.d.ts +11 -0
- package/lookups/lib/entities/erpx-cpl-itr-dere/unidade-federativa-lookup.d.ts +11 -0
- package/lookups/lib/entities/ind-operacao-fornecimento-lookup.d.ts +11 -0
- package/lookups/lib/entities/lei-complementar-1162003-lookup.d.ts +11 -0
- package/lookups/lib/entities/ligacao-item-fornecedor-lookup.d.ts +11 -0
- package/lookups/lib/entities/lista-servico-nacional-lookup.d.ts +11 -0
- package/lookups/lib/entities/natureza-receita-pis-cofins.lookup.d.ts +11 -0
- package/lookups/lib/entities/nbs-lookup.d.ts +11 -0
- package/lookups/lib/entities/ncm-lookup.d.ts +11 -0
- package/lookups/lib/entities/nota-fiscal-entrada-lookup.d.ts +11 -0
- package/lookups/lib/entities/operacoes-lookup.d.ts +11 -0
- package/lookups/lib/entities/origem-destino-lookup.d.ts +11 -0
- package/lookups/lib/entities/origem-mercadoria-lookup.d.ts +11 -0
- package/lookups/lib/entities/produtoServico-lookup.d.ts +11 -0
- package/lookups/lib/entities/qtd-disponivel-demanda-lookup.d.ts +11 -0
- package/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-e-001-end-lookup.d.ts +11 -0
- package/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-e-001-pes-lookup.d.ts +11 -0
- package/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-e-001-tns-lookup.d.ts +11 -0
- package/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-e-007-ufs-lookup.d.ts +11 -0
- package/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-e-008-rai-lookup.d.ts +11 -0
- package/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-e-015-med-lookup.d.ts +11 -0
- package/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-e-020-snf-lookup.d.ts +11 -0
- package/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-e-024-msg-lookup.d.ts +11 -0
- package/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-e-028-cpg-lookup.d.ts +11 -0
- package/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-e-032-edc-lookup.d.ts +11 -0
- package/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-e-051-dis-lookup.d.ts +11 -0
- package/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-e-066-fpg-lookup.d.ts +11 -0
- package/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-e-070-emp-lookup.d.ts +11 -0
- package/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-e-070-fil-lookup.d.ts +11 -0
- package/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-e-075-der-lookup.d.ts +11 -0
- package/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-e-080-ser-lookup.d.ts +11 -0
- package/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-natureza-receita-pis-cofins.d.ts +11 -0
- package/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-ncm-lookup.d.ts +11 -0
- package/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-nf-entrada-lookup.d.ts +11 -0
- package/lookups/lib/entities/replication-entities/cpl-tri-nota-saida-nf-saida-lookup.d.ts +11 -0
- package/lookups/lib/entities/requisicao-lookup.d.ts +11 -0
- package/lookups/lib/entities/segmento-lookup.d.ts +11 -0
- package/lookups/lib/entities/unidade-medida-lookup.d.ts +11 -0
- package/lookups/lib/entities/wizard-entities/bank-lookup.d.ts +11 -0
- package/lookups/lib/entities/wizard-entities/country-lookup.d.ts +11 -0
- package/lookups/lib/entities/wizard-entities/currency-lookup.d.ts +11 -0
- package/lookups/lib/entities/xt-integration/entity-person-product-lookup.d.ts +11 -0
- package/lookups/lib/enum-options.util.d.ts +5 -0
- package/lookups/lib/erp-lookups.d.ts +162 -0
- package/lookups/lib/erp-lookups.module.d.ts +7 -0
- package/lookups/lib/erp-lookups.service.d.ts +22 -0
- package/lookups/package.json +3 -0
- package/lookups/public-api.d.ts +133 -0
- package/nps/index.d.ts +5 -0
- package/nps/lib/nps.service.d.ts +19 -0
- package/nps/lib/protocols/index.d.ts +3 -0
- package/nps/lib/protocols/tracksale-request.d.ts +18 -0
- package/nps/package.json +3 -0
- package/nps/public-api.d.ts +2 -0
- package/object-card/index.d.ts +5 -0
- package/object-card/lib/elements/field/object-card-field.component.d.ts +21 -0
- package/object-card/lib/elements/main/object-card-main.component.d.ts +40 -0
- package/object-card/lib/object-card.component.d.ts +35 -0
- package/object-card/lib/object-card.module.d.ts +17 -0
- package/object-card/lib/shared/border-button/border-button.component.d.ts +15 -0
- package/object-card/lib/shared/border-button/border-button.module.d.ts +9 -0
- package/object-card/lib/shared/models/border-button-options.d.ts +9 -0
- package/object-card/package.json +3 -0
- package/object-card/public-api.d.ts +6 -0
- package/package.json +124 -17
- package/permissions/index.d.ts +5 -0
- package/permissions/lib/protocols/query-module.d.ts +10 -0
- package/permissions/lib/protocols/rec-modulo.d.ts +8 -0
- package/permissions/lib/verify-module-permission-service.d.ts +10 -0
- package/permissions/lib/verify-module-permission.d.ts +16 -0
- package/permissions/lib/verify-module-permissions-service.d.ts +19 -0
- package/permissions/lib/verify-module-permissions.d.ts +17 -0
- package/permissions/package.json +3 -0
- package/permissions/public-api.d.ts +3 -0
- package/polling/index.d.ts +5 -0
- package/polling/lib/erp-polling.d.ts +15 -0
- package/polling/package.json +3 -0
- package/polling/public-api.d.ts +1 -0
- package/public-api.d.ts +1 -12
- package/schematics/collection.json +9 -0
- package/schematics/migrations/migrate-imports/index.d.ts +11 -0
- package/schematics/migrations/migrate-imports/index.js +67 -0
- package/schematics/migrations/migrate-imports/index.js.map +1 -0
- package/schematics/migrations/migrate-imports/symbol-map.d.ts +2 -0
- package/schematics/migrations/migrate-imports/symbol-map.js +192 -0
- package/schematics/migrations/migrate-imports/symbol-map.js.map +1 -0
- package/schematics/migrations.json +10 -0
- package/schematics/utils/rewrite-imports.d.ts +33 -0
- package/schematics/utils/rewrite-imports.js +147 -0
- package/schematics/utils/rewrite-imports.js.map +1 -0
- package/storage/index.d.ts +5 -0
- package/storage/lib/filters-storage.service.d.ts +15 -0
- package/storage/lib/storage.service.d.ts +5 -0
- package/storage/package.json +3 -0
- package/storage/public-api.d.ts +1 -0
- package/thumbnail/index.d.ts +5 -0
- package/thumbnail/lib/thumbnail.component.d.ts +32 -0
- package/thumbnail/lib/thumbnail.module.d.ts +8 -0
- package/thumbnail/lib/thumbnail.service.d.ts +24 -0
- package/thumbnail/package.json +3 -0
- package/thumbnail/public-api.d.ts +3 -0
- package/utils/index.d.ts +5 -0
- package/utils/lib/export-utils.d.ts +6 -0
- package/utils/lib/form-utils.d.ts +93 -0
- package/utils/lib/lookup-validation-utils.d.ts +22 -0
- package/utils/lib/utils.module.d.ts +13 -0
- package/utils/package.json +3 -0
- package/utils/public-api.d.ts +7 -0
- package/websocket/index.d.ts +5 -0
- package/websocket/lib/models/primitive-manager.d.ts +18 -0
- package/websocket/lib/user-information.service.d.ts +10 -0
- package/websocket/lib/websocket.service.d.ts +101 -0
- package/websocket/package.json +3 -0
- package/websocket/public-api.d.ts +3 -0
- package/bundles/senior-gestao-empresarial-angular-components.umd.js +0 -10634
- package/bundles/senior-gestao-empresarial-angular-components.umd.js.map +0 -1
- package/bundles/senior-gestao-empresarial-angular-components.umd.min.js +0 -16
- package/bundles/senior-gestao-empresarial-angular-components.umd.min.js.map +0 -1
- package/components/breadcrumb/breadcrumb.component.d.ts +0 -21
- package/components/breadcrumb/breadcrumb.module.d.ts +0 -2
- package/components/breadcrumb/index.d.ts +0 -2
- package/components/global-filter/global-filter-modal/global-filter-modal.component.d.ts +0 -41
- package/components/global-filter/global-filter.component.d.ts +0 -61
- package/components/global-filter/global-filter.module.d.ts +0 -2
- package/components/global-filter/global-filter.service.d.ts +0 -54
- package/components/global-filter/index.d.ts +0 -3
- package/components/lookups/entities/agreement-lookup.d.ts +0 -8
- package/components/lookups/entities/apuracao-foundation/parameters-lookup.d.ts +0 -8
- package/components/lookups/entities/apuracao-foundation/type-taxes-lookup.d.ts +0 -8
- package/components/lookups/entities/beneficio-fiscal-lookup.d.ts +0 -8
- package/components/lookups/entities/caracteristica-fiscal-lookup.d.ts +0 -8
- package/components/lookups/entities/classificacao-tributaria-lookup.d.ts +0 -8
- package/components/lookups/entities/composicao-base-calculo-lookup.d.ts +0 -8
- package/components/lookups/entities/conta-interna-filial-lookup.d.ts +0 -8
- package/components/lookups/entities/documento-lookup.d.ts +0 -8
- package/components/lookups/entities/e-001-end-lookup.d.ts +0 -8
- package/components/lookups/entities/e-001-pes-lookup.d.ts +0 -8
- package/components/lookups/entities/e-001-tns-lookup.d.ts +0 -8
- package/components/lookups/entities/e-001-tns-sup-est-lookup.d.ts +0 -8
- package/components/lookups/entities/e-002-tpt-lookup.d.ts +0 -8
- package/components/lookups/entities/e-006-pai-lookup.d.ts +0 -8
- package/components/lookups/entities/e-007-ufs-lookup.d.ts +0 -8
- package/components/lookups/entities/e-008-cep-lookup.d.ts +0 -8
- package/components/lookups/entities/e-008-rai-lookup.d.ts +0 -8
- package/components/lookups/entities/e-012-fam-lookup.d.ts +0 -8
- package/components/lookups/entities/e-015-med-lookup.d.ts +0 -8
- package/components/lookups/entities/e-020-snf-lookup.d.ts +0 -8
- package/components/lookups/entities/e-021-mot-lookup.d.ts +0 -8
- package/components/lookups/entities/e-023-crp-lookup.d.ts +0 -8
- package/components/lookups/entities/e-024-msg-lookup.d.ts +0 -8
- package/components/lookups/entities/e-027-eqi-lookup.d.ts +0 -8
- package/components/lookups/entities/e-027-str-lookup.d.ts +0 -8
- package/components/lookups/entities/e-028-cpg-lookup.d.ts +0 -8
- package/components/lookups/entities/e-030-age-lookup.d.ts +0 -8
- package/components/lookups/entities/e-030-ban-lookup.d.ts +0 -8
- package/components/lookups/entities/e-031-moe-lookup.d.ts +0 -8
- package/components/lookups/entities/e-032-edc-lookup.d.ts +0 -8
- package/components/lookups/entities/e-034-tcc-lookup.d.ts +0 -8
- package/components/lookups/entities/e-035-ocr-lookup.d.ts +0 -8
- package/components/lookups/entities/e-036-ins-lookup.d.ts +0 -8
- package/components/lookups/entities/e-039-por-lookup.d.ts +0 -8
- package/components/lookups/entities/e-041-ceb-lookup.d.ts +0 -8
- package/components/lookups/entities/e-043-mpc-lookup.d.ts +0 -8
- package/components/lookups/entities/e-043-pcm-lookup.d.ts +0 -9
- package/components/lookups/entities/e-044-ccu-lookup.d.ts +0 -8
- package/components/lookups/entities/e-045-pla-lookup.d.ts +0 -8
- package/components/lookups/entities/e-046-hpd-lookup.d.ts +0 -8
- package/components/lookups/entities/e-047-ntg-lookup.d.ts +0 -8
- package/components/lookups/entities/e-048-fct-lookup.d.ts +0 -8
- package/components/lookups/entities/e-048-sfc-lookup.d.ts +0 -8
- package/components/lookups/entities/e-051-dis-lookup.d.ts +0 -8
- package/components/lookups/entities/e-066-fpg-lookup.d.ts +0 -8
- package/components/lookups/entities/e-067-fin-lookup.d.ts +0 -8
- package/components/lookups/entities/e-069-gre-lookup.d.ts +0 -8
- package/components/lookups/entities/e-070-emp-lookup.d.ts +0 -8
- package/components/lookups/entities/e-070-ent-lookup.d.ts +0 -8
- package/components/lookups/entities/e-070-fil-loc-ret-lookup.d.ts +0 -8
- package/components/lookups/entities/e-070-fil-lookup.d.ts +0 -8
- package/components/lookups/entities/e-073-pes-lookup.d.ts +0 -8
- package/components/lookups/entities/e-073-vei-lookup.d.ts +0 -8
- package/components/lookups/entities/e-075-der-lookup.d.ts +0 -8
- package/components/lookups/entities/e-076-mar-lookup.d.ts +0 -8
- package/components/lookups/entities/e-080-ser-lookup.d.ts +0 -8
- package/components/lookups/entities/e-081-tab-lookup.d.ts +0 -8
- package/components/lookups/entities/e-082-tpr-lookup.d.ts +0 -8
- package/components/lookups/entities/e-085-pes-lookup.d.ts +0 -8
- package/components/lookups/entities/e-089-doc-lookup.d.ts +0 -8
- package/components/lookups/entities/e-090-hrp-com-ger-lookup.d.ts +0 -8
- package/components/lookups/entities/e-090-pes-lookup.d.ts +0 -8
- package/components/lookups/entities/e-091-plf-lookup.d.ts +0 -8
- package/components/lookups/entities/e-095-hfo-sup-ger-lookup.d.ts +0 -8
- package/components/lookups/entities/e-095-pes-lookup.d.ts +0 -8
- package/components/lookups/entities/e-099-usu-com-ger-lookup.d.ts +0 -8
- package/components/lookups/entities/e-099-usu-sup-cpr-lookup.d.ts +0 -8
- package/components/lookups/entities/e-140-ins-lookup.d.ts +0 -8
- package/components/lookups/entities/e-140-nfs-lookup.d.ts +0 -8
- package/components/lookups/entities/e-200-lot-lookup.d.ts +0 -8
- package/components/lookups/entities/e-200-ser-lookup.d.ts +0 -8
- package/components/lookups/entities/e-205-dep-lookup.d.ts +0 -8
- package/components/lookups/entities/e-210-dxp-e-075-der-lookup.d.ts +0 -8
- package/components/lookups/entities/e-210-dxp-lookup.d.ts +0 -8
- package/components/lookups/entities/e-301-tcr-lookup.d.ts +0 -8
- package/components/lookups/entities/e-403-fpr-lookup.d.ts +0 -8
- package/components/lookups/entities/e-420-icp-lookup.d.ts +0 -8
- package/components/lookups/entities/e-420-ipc-lookup.d.ts +0 -8
- package/components/lookups/entities/e-420-ocp-lookup.d.ts +0 -8
- package/components/lookups/entities/e-501-tcp-lookup.d.ts +0 -8
- package/components/lookups/entities/e-600-cco-lookup.d.ts +0 -8
- package/components/lookups/entities/e-640-lot-lookup.d.ts +0 -8
- package/components/lookups/entities/equipment-lookup.d.ts +0 -8
- package/components/lookups/entities/erpx-cpl-dfe/dfe-evento-lookup.d.ts +0 -12
- package/components/lookups/entities/erpx-cpl-itr-dere/atividade-financeira-lookup.d.ts +0 -8
- package/components/lookups/entities/erpx-cpl-itr-dere/codigo-tributacao-lookup.d.ts +0 -8
- package/components/lookups/entities/erpx-cpl-itr-dere/e-070-emp-dere-lookup.d.ts +0 -8
- package/components/lookups/entities/erpx-cpl-itr-dere/processo-lookup.d.ts +0 -8
- package/components/lookups/entities/erpx-cpl-itr-dere/unidade-federativa-lookup.d.ts +0 -8
- package/components/lookups/entities/ind-operacao-fornecimento-lookup.d.ts +0 -8
- package/components/lookups/entities/lei-complementar-1162003-lookup.d.ts +0 -8
- package/components/lookups/entities/ligacao-item-fornecedor-lookup.d.ts +0 -8
- package/components/lookups/entities/lista-servico-nacional-lookup.d.ts +0 -8
- package/components/lookups/entities/natureza-receita-pis-cofins.lookup.d.ts +0 -8
- package/components/lookups/entities/nbs-lookup.d.ts +0 -8
- package/components/lookups/entities/ncm-lookup.d.ts +0 -8
- package/components/lookups/entities/nota-fiscal-entrada-lookup.d.ts +0 -8
- package/components/lookups/entities/operacoes-lookup.d.ts +0 -8
- package/components/lookups/entities/origem-destino-lookup.d.ts +0 -10
- package/components/lookups/entities/origem-mercadoria-lookup.d.ts +0 -8
- package/components/lookups/entities/produtoServico-lookup.d.ts +0 -8
- package/components/lookups/entities/qtd-disponivel-demanda-lookup.d.ts +0 -8
- package/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-001-end-lookup.d.ts +0 -8
- package/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-001-pes-lookup.d.ts +0 -8
- package/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-001-tns-lookup.d.ts +0 -8
- package/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-007-ufs-lookup.d.ts +0 -8
- package/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-008-rai-lookup.d.ts +0 -8
- package/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-015-med-lookup.d.ts +0 -8
- package/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-020-snf-lookup.d.ts +0 -8
- package/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-024-msg-lookup.d.ts +0 -8
- package/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-028-cpg-lookup.d.ts +0 -8
- package/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-032-edc-lookup.d.ts +0 -8
- package/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-051-dis-lookup.d.ts +0 -8
- package/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-066-fpg-lookup.d.ts +0 -8
- package/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-070-emp-lookup.d.ts +0 -8
- package/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-070-fil-lookup.d.ts +0 -8
- package/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-075-der-lookup.d.ts +0 -8
- package/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-080-ser-lookup.d.ts +0 -8
- package/components/lookups/entities/replication-entities/cpl-tri-nota-saida-natureza-receita-pis-cofins.d.ts +0 -8
- package/components/lookups/entities/replication-entities/cpl-tri-nota-saida-ncm-lookup.d.ts +0 -8
- package/components/lookups/entities/replication-entities/cpl-tri-nota-saida-nf-entrada-lookup.d.ts +0 -8
- package/components/lookups/entities/replication-entities/cpl-tri-nota-saida-nf-saida-lookup.d.ts +0 -8
- package/components/lookups/entities/requisicao-lookup.d.ts +0 -8
- package/components/lookups/entities/segmento-lookup.d.ts +0 -8
- package/components/lookups/entities/unidade-medida-lookup.d.ts +0 -8
- package/components/lookups/entities/wizard-entities/bank-lookup.d.ts +0 -8
- package/components/lookups/entities/wizard-entities/country-lookup.d.ts +0 -8
- package/components/lookups/entities/wizard-entities/currency-lookup.d.ts +0 -8
- package/components/lookups/entities/xt-integration/entity-person-product-lookup.d.ts +0 -8
- package/components/lookups/erp-lookups.d.ts +0 -175
- package/components/lookups/erp-lookups.module.d.ts +0 -2
- package/components/lookups/erp-lookups.service.d.ts +0 -19
- package/components/lookups/index.d.ts +0 -133
- package/components/nps/index.d.ts +0 -2
- package/components/nps/nps.service.d.ts +0 -18
- package/components/nps/protocols/index.d.ts +0 -3
- package/components/nps/protocols/tracksale-request.d.ts +0 -18
- package/components/object-card/elements/field/object-card-field.component.d.ts +0 -18
- package/components/object-card/elements/main/object-card-main.component.d.ts +0 -37
- package/components/object-card/index.d.ts +0 -4
- package/components/object-card/object-card.component.d.ts +0 -29
- package/components/object-card/object-card.module.d.ts +0 -2
- package/components/permissions/index.d.ts +0 -3
- package/components/permissions/protocols/query-module.d.ts +0 -10
- package/components/permissions/protocols/rec-modulo.d.ts +0 -8
- package/components/permissions/verify-module-permission-service.d.ts +0 -9
- package/components/permissions/verify-module-permission.d.ts +0 -15
- package/components/permissions/verify-module-permissions-service.d.ts +0 -18
- package/components/permissions/verify-module-permissions.d.ts +0 -16
- package/components/polling/erp-polling.d.ts +0 -12
- package/components/polling/index.d.ts +0 -1
- package/components/shared/border-button/border-button.component.d.ts +0 -7
- package/components/shared/border-button/border-button.module.d.ts +0 -2
- package/components/shared/models/border-button-options.d.ts +0 -9
- package/components/storage/filters-storage.service.d.ts +0 -12
- package/components/storage/index.d.ts +0 -1
- package/components/storage/storage.service.d.ts +0 -5
- package/components/thumbnail/index.d.ts +0 -3
- package/components/thumbnail/thumbnail.component.d.ts +0 -28
- package/components/thumbnail/thumbnail.module.d.ts +0 -2
- package/components/thumbnail/thumbnail.service.d.ts +0 -21
- package/components/utils/export-utils.d.ts +0 -6
- package/components/utils/form-utils.d.ts +0 -93
- package/components/utils/index.d.ts +0 -6
- package/components/utils/lookup-validation-utils.d.ts +0 -19
- package/components/utils/utils.module.d.ts +0 -8
- package/components/websocket/index.d.ts +0 -3
- package/components/websocket/models/primitive-manager.d.ts +0 -18
- package/components/websocket/user-information.service.d.ts +0 -7
- package/components/websocket/websocket.service.d.ts +0 -100
- package/esm2015/components/breadcrumb/breadcrumb.component.js +0 -86
- package/esm2015/components/breadcrumb/breadcrumb.module.js +0 -17
- package/esm2015/components/breadcrumb/index.js +0 -3
- package/esm2015/components/global-filter/global-filter-modal/global-filter-modal.component.js +0 -124
- package/esm2015/components/global-filter/global-filter.component.js +0 -120
- package/esm2015/components/global-filter/global-filter.module.js +0 -29
- package/esm2015/components/global-filter/global-filter.service.js +0 -74
- package/esm2015/components/global-filter/index.js +0 -4
- package/esm2015/components/lookups/entities/agreement-lookup.js +0 -31
- package/esm2015/components/lookups/entities/apuracao-foundation/parameters-lookup.js +0 -76
- package/esm2015/components/lookups/entities/apuracao-foundation/type-taxes-lookup.js +0 -52
- package/esm2015/components/lookups/entities/beneficio-fiscal-lookup.js +0 -73
- package/esm2015/components/lookups/entities/caracteristica-fiscal-lookup.js +0 -73
- package/esm2015/components/lookups/entities/classificacao-tributaria-lookup.js +0 -82
- package/esm2015/components/lookups/entities/composicao-base-calculo-lookup.js +0 -104
- package/esm2015/components/lookups/entities/conta-interna-filial-lookup.js +0 -54
- package/esm2015/components/lookups/entities/documento-lookup.js +0 -53
- package/esm2015/components/lookups/entities/e-001-end-lookup.js +0 -109
- package/esm2015/components/lookups/entities/e-001-pes-lookup.js +0 -46
- package/esm2015/components/lookups/entities/e-001-tns-lookup.js +0 -46
- package/esm2015/components/lookups/entities/e-001-tns-sup-est-lookup.js +0 -47
- package/esm2015/components/lookups/entities/e-002-tpt-lookup.js +0 -32
- package/esm2015/components/lookups/entities/e-006-pai-lookup.js +0 -48
- package/esm2015/components/lookups/entities/e-007-ufs-lookup.js +0 -55
- package/esm2015/components/lookups/entities/e-008-cep-lookup.js +0 -80
- package/esm2015/components/lookups/entities/e-008-rai-lookup.js +0 -55
- package/esm2015/components/lookups/entities/e-012-fam-lookup.js +0 -46
- package/esm2015/components/lookups/entities/e-015-med-lookup.js +0 -46
- package/esm2015/components/lookups/entities/e-020-snf-lookup.js +0 -73
- package/esm2015/components/lookups/entities/e-021-mot-lookup.js +0 -46
- package/esm2015/components/lookups/entities/e-023-crp-lookup.js +0 -46
- package/esm2015/components/lookups/entities/e-024-msg-lookup.js +0 -46
- package/esm2015/components/lookups/entities/e-027-eqi-lookup.js +0 -46
- package/esm2015/components/lookups/entities/e-027-str-lookup.js +0 -46
- package/esm2015/components/lookups/entities/e-028-cpg-lookup.js +0 -64
- package/esm2015/components/lookups/entities/e-030-age-lookup.js +0 -46
- package/esm2015/components/lookups/entities/e-030-ban-lookup.js +0 -46
- package/esm2015/components/lookups/entities/e-031-moe-lookup.js +0 -53
- package/esm2015/components/lookups/entities/e-032-edc-lookup.js +0 -46
- package/esm2015/components/lookups/entities/e-034-tcc-lookup.js +0 -47
- package/esm2015/components/lookups/entities/e-035-ocr-lookup.js +0 -46
- package/esm2015/components/lookups/entities/e-036-ins-lookup.js +0 -46
- package/esm2015/components/lookups/entities/e-039-por-lookup.js +0 -46
- package/esm2015/components/lookups/entities/e-041-ceb-lookup.js +0 -37
- package/esm2015/components/lookups/entities/e-043-mpc-lookup.js +0 -46
- package/esm2015/components/lookups/entities/e-043-pcm-lookup.js +0 -67
- package/esm2015/components/lookups/entities/e-044-ccu-lookup.js +0 -46
- package/esm2015/components/lookups/entities/e-045-pla-lookup.js +0 -46
- package/esm2015/components/lookups/entities/e-046-hpd-lookup.js +0 -46
- package/esm2015/components/lookups/entities/e-047-ntg-lookup.js +0 -46
- package/esm2015/components/lookups/entities/e-048-fct-lookup.js +0 -46
- package/esm2015/components/lookups/entities/e-048-sfc-lookup.js +0 -80
- package/esm2015/components/lookups/entities/e-051-dis-lookup.js +0 -31
- package/esm2015/components/lookups/entities/e-066-fpg-lookup.js +0 -46
- package/esm2015/components/lookups/entities/e-067-fin-lookup.js +0 -46
- package/esm2015/components/lookups/entities/e-069-gre-lookup.js +0 -31
- package/esm2015/components/lookups/entities/e-070-emp-lookup.js +0 -46
- package/esm2015/components/lookups/entities/e-070-ent-lookup.js +0 -109
- package/esm2015/components/lookups/entities/e-070-fil-loc-ret-lookup.js +0 -76
- package/esm2015/components/lookups/entities/e-070-fil-lookup.js +0 -96
- package/esm2015/components/lookups/entities/e-073-pes-lookup.js +0 -65
- package/esm2015/components/lookups/entities/e-073-vei-lookup.js +0 -133
- package/esm2015/components/lookups/entities/e-075-der-lookup.js +0 -46
- package/esm2015/components/lookups/entities/e-076-mar-lookup.js +0 -49
- package/esm2015/components/lookups/entities/e-080-ser-lookup.js +0 -46
- package/esm2015/components/lookups/entities/e-081-tab-lookup.js +0 -73
- package/esm2015/components/lookups/entities/e-082-tpr-lookup.js +0 -46
- package/esm2015/components/lookups/entities/e-085-pes-lookup.js +0 -46
- package/esm2015/components/lookups/entities/e-089-doc-lookup.js +0 -26
- package/esm2015/components/lookups/entities/e-090-hrp-com-ger-lookup.js +0 -51
- package/esm2015/components/lookups/entities/e-090-pes-lookup.js +0 -49
- package/esm2015/components/lookups/entities/e-091-plf-lookup.js +0 -55
- package/esm2015/components/lookups/entities/e-095-hfo-sup-ger-lookup.js +0 -32
- package/esm2015/components/lookups/entities/e-095-pes-lookup.js +0 -46
- package/esm2015/components/lookups/entities/e-099-usu-com-ger-lookup.js +0 -37
- package/esm2015/components/lookups/entities/e-099-usu-sup-cpr-lookup.js +0 -45
- package/esm2015/components/lookups/entities/e-140-ins-lookup.js +0 -55
- package/esm2015/components/lookups/entities/e-140-nfs-lookup.js +0 -55
- package/esm2015/components/lookups/entities/e-200-lot-lookup.js +0 -37
- package/esm2015/components/lookups/entities/e-200-ser-lookup.js +0 -37
- package/esm2015/components/lookups/entities/e-205-dep-lookup.js +0 -46
- package/esm2015/components/lookups/entities/e-210-dxp-e-075-der-lookup.js +0 -46
- package/esm2015/components/lookups/entities/e-210-dxp-lookup.js +0 -46
- package/esm2015/components/lookups/entities/e-301-tcr-lookup.js +0 -53
- package/esm2015/components/lookups/entities/e-403-fpr-lookup.js +0 -46
- package/esm2015/components/lookups/entities/e-420-icp-lookup.js +0 -60
- package/esm2015/components/lookups/entities/e-420-ipc-lookup.js +0 -55
- package/esm2015/components/lookups/entities/e-420-ocp-lookup.js +0 -49
- package/esm2015/components/lookups/entities/e-501-tcp-lookup.js +0 -49
- package/esm2015/components/lookups/entities/e-600-cco-lookup.js +0 -65
- package/esm2015/components/lookups/entities/e-640-lot-lookup.js +0 -46
- package/esm2015/components/lookups/entities/equipment-lookup.js +0 -46
- package/esm2015/components/lookups/entities/erpx-cpl-dfe/dfe-evento-lookup.js +0 -149
- package/esm2015/components/lookups/entities/erpx-cpl-itr-dere/atividade-financeira-lookup.js +0 -32
- package/esm2015/components/lookups/entities/erpx-cpl-itr-dere/codigo-tributacao-lookup.js +0 -36
- package/esm2015/components/lookups/entities/erpx-cpl-itr-dere/e-070-emp-dere-lookup.js +0 -51
- package/esm2015/components/lookups/entities/erpx-cpl-itr-dere/processo-lookup.js +0 -28
- package/esm2015/components/lookups/entities/erpx-cpl-itr-dere/unidade-federativa-lookup.js +0 -36
- package/esm2015/components/lookups/entities/ind-operacao-fornecimento-lookup.js +0 -69
- package/esm2015/components/lookups/entities/lei-complementar-1162003-lookup.js +0 -32
- package/esm2015/components/lookups/entities/ligacao-item-fornecedor-lookup.js +0 -46
- package/esm2015/components/lookups/entities/lista-servico-nacional-lookup.js +0 -34
- package/esm2015/components/lookups/entities/natureza-receita-pis-cofins.lookup.js +0 -49
- package/esm2015/components/lookups/entities/nbs-lookup.js +0 -32
- package/esm2015/components/lookups/entities/ncm-lookup.js +0 -46
- package/esm2015/components/lookups/entities/nota-fiscal-entrada-lookup.js +0 -27
- package/esm2015/components/lookups/entities/operacoes-lookup.js +0 -61
- package/esm2015/components/lookups/entities/origem-destino-lookup.js +0 -123
- package/esm2015/components/lookups/entities/origem-mercadoria-lookup.js +0 -71
- package/esm2015/components/lookups/entities/produtoServico-lookup.js +0 -46
- package/esm2015/components/lookups/entities/qtd-disponivel-demanda-lookup.js +0 -46
- package/esm2015/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-001-end-lookup.js +0 -125
- package/esm2015/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-001-pes-lookup.js +0 -115
- package/esm2015/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-001-tns-lookup.js +0 -101
- package/esm2015/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-007-ufs-lookup.js +0 -57
- package/esm2015/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-008-rai-lookup.js +0 -61
- package/esm2015/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-015-med-lookup.js +0 -49
- package/esm2015/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-020-snf-lookup.js +0 -127
- package/esm2015/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-024-msg-lookup.js +0 -49
- package/esm2015/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-028-cpg-lookup.js +0 -53
- package/esm2015/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-032-edc-lookup.js +0 -49
- package/esm2015/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-051-dis-lookup.js +0 -49
- package/esm2015/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-066-fpg-lookup.js +0 -93
- package/esm2015/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-070-emp-lookup.js +0 -49
- package/esm2015/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-070-fil-lookup.js +0 -65
- package/esm2015/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-075-der-lookup.js +0 -57
- package/esm2015/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-080-ser-lookup.js +0 -57
- package/esm2015/components/lookups/entities/replication-entities/cpl-tri-nota-saida-natureza-receita-pis-cofins.js +0 -65
- package/esm2015/components/lookups/entities/replication-entities/cpl-tri-nota-saida-ncm-lookup.js +0 -61
- package/esm2015/components/lookups/entities/replication-entities/cpl-tri-nota-saida-nf-entrada-lookup.js +0 -84
- package/esm2015/components/lookups/entities/replication-entities/cpl-tri-nota-saida-nf-saida-lookup.js +0 -84
- package/esm2015/components/lookups/entities/requisicao-lookup.js +0 -37
- package/esm2015/components/lookups/entities/segmento-lookup.js +0 -75
- package/esm2015/components/lookups/entities/unidade-medida-lookup.js +0 -46
- package/esm2015/components/lookups/entities/wizard-entities/bank-lookup.js +0 -46
- package/esm2015/components/lookups/entities/wizard-entities/country-lookup.js +0 -52
- package/esm2015/components/lookups/entities/wizard-entities/currency-lookup.js +0 -52
- package/esm2015/components/lookups/entities/xt-integration/entity-person-product-lookup.js +0 -49
- package/esm2015/components/lookups/erp-lookups.js +0 -412
- package/esm2015/components/lookups/erp-lookups.module.js +0 -279
- package/esm2015/components/lookups/erp-lookups.service.js +0 -84
- package/esm2015/components/lookups/index.js +0 -134
- package/esm2015/components/nps/index.js +0 -2
- package/esm2015/components/nps/nps.service.js +0 -73
- package/esm2015/components/nps/protocols/index.js +0 -1
- package/esm2015/components/nps/protocols/tenant-full-dto.js +0 -1
- package/esm2015/components/nps/protocols/token-senior-x.js +0 -1
- package/esm2015/components/nps/protocols/tracksale-request.js +0 -1
- package/esm2015/components/object-card/elements/field/object-card-field.component.js +0 -58
- package/esm2015/components/object-card/elements/main/object-card-main.component.js +0 -142
- package/esm2015/components/object-card/index.js +0 -5
- package/esm2015/components/object-card/object-card.component.js +0 -142
- package/esm2015/components/object-card/object-card.module.js +0 -22
- package/esm2015/components/permissions/index.js +0 -4
- package/esm2015/components/permissions/protocols/modules.enum.js +0 -14
- package/esm2015/components/permissions/protocols/query-module.js +0 -1
- package/esm2015/components/permissions/protocols/rec-modulo.js +0 -1
- package/esm2015/components/permissions/verify-module-permission-service.js +0 -26
- package/esm2015/components/permissions/verify-module-permission.js +0 -52
- package/esm2015/components/permissions/verify-module-permissions-service.js +0 -26
- package/esm2015/components/permissions/verify-module-permissions.js +0 -51
- package/esm2015/components/polling/erp-polling.js +0 -32
- package/esm2015/components/polling/index.js +0 -2
- package/esm2015/components/shared/border-button/border-button.component.js +0 -24
- package/esm2015/components/shared/border-button/border-button.module.js +0 -16
- package/esm2015/components/shared/models/border-button-options.js +0 -1
- package/esm2015/components/shared/models/enum-severity.js +0 -9
- package/esm2015/components/storage/filters-storage.service.js +0 -136
- package/esm2015/components/storage/index.js +0 -2
- package/esm2015/components/storage/storage.service.js +0 -18
- package/esm2015/components/thumbnail/index.js +0 -4
- package/esm2015/components/thumbnail/thumbnail-size.js +0 -7
- package/esm2015/components/thumbnail/thumbnail.component.js +0 -96
- package/esm2015/components/thumbnail/thumbnail.module.js +0 -17
- package/esm2015/components/thumbnail/thumbnail.service.js +0 -90
- package/esm2015/components/utils/async-lock.js +0 -34
- package/esm2015/components/utils/breakpoints.js +0 -11
- package/esm2015/components/utils/export-utils.js +0 -71
- package/esm2015/components/utils/form-utils.js +0 -203
- package/esm2015/components/utils/http-status-code.js +0 -68
- package/esm2015/components/utils/index.js +0 -7
- package/esm2015/components/utils/lookup-validation-utils.js +0 -64
- package/esm2015/components/utils/utils.module.js +0 -30
- package/esm2015/components/websocket/index.js +0 -3
- package/esm2015/components/websocket/models/index.js +0 -2
- package/esm2015/components/websocket/models/primitive-manager.js +0 -35
- package/esm2015/components/websocket/protocols/index.js +0 -1
- package/esm2015/components/websocket/protocols/on-event-options.js +0 -1
- package/esm2015/components/websocket/protocols/primitive-event.js +0 -1
- package/esm2015/components/websocket/user-information.service.js +0 -34
- package/esm2015/components/websocket/websocket.service.js +0 -347
- package/esm2015/core/enums/enum-ana-sin.js +0 -6
- package/esm2015/core/enums/enum-apl-cpg.js +0 -7
- package/esm2015/core/enums/enum-apl-snf.js +0 -9
- package/esm2015/core/enums/enum-difal-contribuinte.js +0 -11
- package/esm2015/core/enums/enum-difal-nao-contribuinte.js +0 -6
- package/esm2015/core/enums/enum-imposto-cadastro.js +0 -16
- package/esm2015/core/enums/enum-nat-ctb.js +0 -7
- package/esm2015/core/enums/enum-origem-mercadoria-imposto.js +0 -8
- package/esm2015/core/enums/enum-perfil-tributario-segmento.js +0 -13
- package/esm2015/core/enums/enum-pro-vei.js +0 -6
- package/esm2015/core/enums/enum-situacao-caracteristica-fiscal.js +0 -6
- package/esm2015/core/enums/enum-tip-crr.js +0 -10
- package/esm2015/core/enums/enum-tip-ctb.js +0 -11
- package/esm2015/core/enums/enum-tip-rod.js +0 -10
- package/esm2015/core/enums/enum-tip-vei.js +0 -6
- package/esm2015/core/enums/enum-tipo-origem.js +0 -7
- package/esm2015/core/enums/erpx-cpl-dfe-eventos-fiscais-backend/enum-situacao-registro.js +0 -6
- package/esm2015/core/enums/erpx-cpl-dfe-eventos-fiscais-backend/enum-tipo-evento.js +0 -18
- package/esm2015/core/enums/erpx-cpl-imp-cadastros-backend/enum-situacao.js +0 -6
- package/esm2015/core/enums/erpx-fnd-produto-backend/enum-sit-reg.js +0 -6
- package/esm2015/locale/fallback.js +0 -79
- package/esm2015/public-api.js +0 -13
- package/esm2015/senior-gestao-empresarial-angular-components.js +0 -17
- package/esm2015/utils/utils.js +0 -9
- package/esm5/components/breadcrumb/breadcrumb.component.js +0 -91
- package/esm5/components/breadcrumb/breadcrumb.module.js +0 -20
- package/esm5/components/breadcrumb/index.js +0 -3
- package/esm5/components/global-filter/global-filter-modal/global-filter-modal.component.js +0 -124
- package/esm5/components/global-filter/global-filter.component.js +0 -135
- package/esm5/components/global-filter/global-filter.module.js +0 -32
- package/esm5/components/global-filter/global-filter.service.js +0 -87
- package/esm5/components/global-filter/index.js +0 -4
- package/esm5/components/lookups/entities/agreement-lookup.js +0 -34
- package/esm5/components/lookups/entities/apuracao-foundation/parameters-lookup.js +0 -79
- package/esm5/components/lookups/entities/apuracao-foundation/type-taxes-lookup.js +0 -55
- package/esm5/components/lookups/entities/beneficio-fiscal-lookup.js +0 -76
- package/esm5/components/lookups/entities/caracteristica-fiscal-lookup.js +0 -75
- package/esm5/components/lookups/entities/classificacao-tributaria-lookup.js +0 -85
- package/esm5/components/lookups/entities/composicao-base-calculo-lookup.js +0 -107
- package/esm5/components/lookups/entities/conta-interna-filial-lookup.js +0 -55
- package/esm5/components/lookups/entities/documento-lookup.js +0 -56
- package/esm5/components/lookups/entities/e-001-end-lookup.js +0 -112
- package/esm5/components/lookups/entities/e-001-pes-lookup.js +0 -49
- package/esm5/components/lookups/entities/e-001-tns-lookup.js +0 -49
- package/esm5/components/lookups/entities/e-001-tns-sup-est-lookup.js +0 -50
- package/esm5/components/lookups/entities/e-002-tpt-lookup.js +0 -35
- package/esm5/components/lookups/entities/e-006-pai-lookup.js +0 -51
- package/esm5/components/lookups/entities/e-007-ufs-lookup.js +0 -58
- package/esm5/components/lookups/entities/e-008-cep-lookup.js +0 -79
- package/esm5/components/lookups/entities/e-008-rai-lookup.js +0 -58
- package/esm5/components/lookups/entities/e-012-fam-lookup.js +0 -49
- package/esm5/components/lookups/entities/e-015-med-lookup.js +0 -49
- package/esm5/components/lookups/entities/e-020-snf-lookup.js +0 -76
- package/esm5/components/lookups/entities/e-021-mot-lookup.js +0 -49
- package/esm5/components/lookups/entities/e-023-crp-lookup.js +0 -49
- package/esm5/components/lookups/entities/e-024-msg-lookup.js +0 -49
- package/esm5/components/lookups/entities/e-027-eqi-lookup.js +0 -49
- package/esm5/components/lookups/entities/e-027-str-lookup.js +0 -49
- package/esm5/components/lookups/entities/e-028-cpg-lookup.js +0 -67
- package/esm5/components/lookups/entities/e-030-age-lookup.js +0 -49
- package/esm5/components/lookups/entities/e-030-ban-lookup.js +0 -49
- package/esm5/components/lookups/entities/e-031-moe-lookup.js +0 -56
- package/esm5/components/lookups/entities/e-032-edc-lookup.js +0 -49
- package/esm5/components/lookups/entities/e-034-tcc-lookup.js +0 -50
- package/esm5/components/lookups/entities/e-035-ocr-lookup.js +0 -49
- package/esm5/components/lookups/entities/e-036-ins-lookup.js +0 -49
- package/esm5/components/lookups/entities/e-039-por-lookup.js +0 -49
- package/esm5/components/lookups/entities/e-041-ceb-lookup.js +0 -40
- package/esm5/components/lookups/entities/e-043-mpc-lookup.js +0 -49
- package/esm5/components/lookups/entities/e-043-pcm-lookup.js +0 -71
- package/esm5/components/lookups/entities/e-044-ccu-lookup.js +0 -49
- package/esm5/components/lookups/entities/e-045-pla-lookup.js +0 -49
- package/esm5/components/lookups/entities/e-046-hpd-lookup.js +0 -49
- package/esm5/components/lookups/entities/e-047-ntg-lookup.js +0 -49
- package/esm5/components/lookups/entities/e-048-fct-lookup.js +0 -49
- package/esm5/components/lookups/entities/e-048-sfc-lookup.js +0 -83
- package/esm5/components/lookups/entities/e-051-dis-lookup.js +0 -34
- package/esm5/components/lookups/entities/e-066-fpg-lookup.js +0 -49
- package/esm5/components/lookups/entities/e-067-fin-lookup.js +0 -49
- package/esm5/components/lookups/entities/e-069-gre-lookup.js +0 -34
- package/esm5/components/lookups/entities/e-070-emp-lookup.js +0 -49
- package/esm5/components/lookups/entities/e-070-ent-lookup.js +0 -112
- package/esm5/components/lookups/entities/e-070-fil-loc-ret-lookup.js +0 -79
- package/esm5/components/lookups/entities/e-070-fil-lookup.js +0 -99
- package/esm5/components/lookups/entities/e-073-pes-lookup.js +0 -68
- package/esm5/components/lookups/entities/e-073-vei-lookup.js +0 -136
- package/esm5/components/lookups/entities/e-075-der-lookup.js +0 -49
- package/esm5/components/lookups/entities/e-076-mar-lookup.js +0 -55
- package/esm5/components/lookups/entities/e-080-ser-lookup.js +0 -49
- package/esm5/components/lookups/entities/e-081-tab-lookup.js +0 -76
- package/esm5/components/lookups/entities/e-082-tpr-lookup.js +0 -49
- package/esm5/components/lookups/entities/e-085-pes-lookup.js +0 -49
- package/esm5/components/lookups/entities/e-089-doc-lookup.js +0 -29
- package/esm5/components/lookups/entities/e-090-hrp-com-ger-lookup.js +0 -54
- package/esm5/components/lookups/entities/e-090-pes-lookup.js +0 -52
- package/esm5/components/lookups/entities/e-091-plf-lookup.js +0 -58
- package/esm5/components/lookups/entities/e-095-hfo-sup-ger-lookup.js +0 -35
- package/esm5/components/lookups/entities/e-095-pes-lookup.js +0 -49
- package/esm5/components/lookups/entities/e-099-usu-com-ger-lookup.js +0 -40
- package/esm5/components/lookups/entities/e-099-usu-sup-cpr-lookup.js +0 -48
- package/esm5/components/lookups/entities/e-140-ins-lookup.js +0 -58
- package/esm5/components/lookups/entities/e-140-nfs-lookup.js +0 -58
- package/esm5/components/lookups/entities/e-200-lot-lookup.js +0 -40
- package/esm5/components/lookups/entities/e-200-ser-lookup.js +0 -40
- package/esm5/components/lookups/entities/e-205-dep-lookup.js +0 -49
- package/esm5/components/lookups/entities/e-210-dxp-e-075-der-lookup.js +0 -49
- package/esm5/components/lookups/entities/e-210-dxp-lookup.js +0 -49
- package/esm5/components/lookups/entities/e-301-tcr-lookup.js +0 -56
- package/esm5/components/lookups/entities/e-403-fpr-lookup.js +0 -49
- package/esm5/components/lookups/entities/e-420-icp-lookup.js +0 -63
- package/esm5/components/lookups/entities/e-420-ipc-lookup.js +0 -58
- package/esm5/components/lookups/entities/e-420-ocp-lookup.js +0 -52
- package/esm5/components/lookups/entities/e-501-tcp-lookup.js +0 -52
- package/esm5/components/lookups/entities/e-600-cco-lookup.js +0 -68
- package/esm5/components/lookups/entities/e-640-lot-lookup.js +0 -49
- package/esm5/components/lookups/entities/equipment-lookup.js +0 -49
- package/esm5/components/lookups/entities/erpx-cpl-dfe/dfe-evento-lookup.js +0 -161
- package/esm5/components/lookups/entities/erpx-cpl-itr-dere/atividade-financeira-lookup.js +0 -35
- package/esm5/components/lookups/entities/erpx-cpl-itr-dere/codigo-tributacao-lookup.js +0 -39
- package/esm5/components/lookups/entities/erpx-cpl-itr-dere/e-070-emp-dere-lookup.js +0 -63
- package/esm5/components/lookups/entities/erpx-cpl-itr-dere/processo-lookup.js +0 -31
- package/esm5/components/lookups/entities/erpx-cpl-itr-dere/unidade-federativa-lookup.js +0 -39
- package/esm5/components/lookups/entities/ind-operacao-fornecimento-lookup.js +0 -71
- package/esm5/components/lookups/entities/lei-complementar-1162003-lookup.js +0 -35
- package/esm5/components/lookups/entities/ligacao-item-fornecedor-lookup.js +0 -49
- package/esm5/components/lookups/entities/lista-servico-nacional-lookup.js +0 -37
- package/esm5/components/lookups/entities/natureza-receita-pis-cofins.lookup.js +0 -52
- package/esm5/components/lookups/entities/nbs-lookup.js +0 -35
- package/esm5/components/lookups/entities/ncm-lookup.js +0 -49
- package/esm5/components/lookups/entities/nota-fiscal-entrada-lookup.js +0 -30
- package/esm5/components/lookups/entities/operacoes-lookup.js +0 -64
- package/esm5/components/lookups/entities/origem-destino-lookup.js +0 -133
- package/esm5/components/lookups/entities/origem-mercadoria-lookup.js +0 -77
- package/esm5/components/lookups/entities/produtoServico-lookup.js +0 -49
- package/esm5/components/lookups/entities/qtd-disponivel-demanda-lookup.js +0 -49
- package/esm5/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-001-end-lookup.js +0 -128
- package/esm5/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-001-pes-lookup.js +0 -118
- package/esm5/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-001-tns-lookup.js +0 -104
- package/esm5/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-007-ufs-lookup.js +0 -60
- package/esm5/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-008-rai-lookup.js +0 -64
- package/esm5/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-015-med-lookup.js +0 -52
- package/esm5/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-020-snf-lookup.js +0 -130
- package/esm5/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-024-msg-lookup.js +0 -52
- package/esm5/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-028-cpg-lookup.js +0 -56
- package/esm5/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-032-edc-lookup.js +0 -52
- package/esm5/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-051-dis-lookup.js +0 -52
- package/esm5/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-066-fpg-lookup.js +0 -96
- package/esm5/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-070-emp-lookup.js +0 -52
- package/esm5/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-070-fil-lookup.js +0 -68
- package/esm5/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-075-der-lookup.js +0 -60
- package/esm5/components/lookups/entities/replication-entities/cpl-tri-nota-saida-e-080-ser-lookup.js +0 -60
- package/esm5/components/lookups/entities/replication-entities/cpl-tri-nota-saida-natureza-receita-pis-cofins.js +0 -68
- package/esm5/components/lookups/entities/replication-entities/cpl-tri-nota-saida-ncm-lookup.js +0 -64
- package/esm5/components/lookups/entities/replication-entities/cpl-tri-nota-saida-nf-entrada-lookup.js +0 -87
- package/esm5/components/lookups/entities/replication-entities/cpl-tri-nota-saida-nf-saida-lookup.js +0 -87
- package/esm5/components/lookups/entities/requisicao-lookup.js +0 -40
- package/esm5/components/lookups/entities/segmento-lookup.js +0 -78
- package/esm5/components/lookups/entities/unidade-medida-lookup.js +0 -49
- package/esm5/components/lookups/entities/wizard-entities/bank-lookup.js +0 -49
- package/esm5/components/lookups/entities/wizard-entities/country-lookup.js +0 -55
- package/esm5/components/lookups/entities/wizard-entities/currency-lookup.js +0 -55
- package/esm5/components/lookups/entities/xt-integration/entity-person-product-lookup.js +0 -52
- package/esm5/components/lookups/erp-lookups.js +0 -437
- package/esm5/components/lookups/erp-lookups.module.js +0 -282
- package/esm5/components/lookups/erp-lookups.service.js +0 -86
- package/esm5/components/lookups/index.js +0 -134
- package/esm5/components/nps/index.js +0 -2
- package/esm5/components/nps/nps.service.js +0 -89
- package/esm5/components/nps/protocols/index.js +0 -1
- package/esm5/components/nps/protocols/tenant-full-dto.js +0 -1
- package/esm5/components/nps/protocols/token-senior-x.js +0 -1
- package/esm5/components/nps/protocols/tracksale-request.js +0 -1
- package/esm5/components/object-card/elements/field/object-card-field.component.js +0 -60
- package/esm5/components/object-card/elements/main/object-card-main.component.js +0 -167
- package/esm5/components/object-card/index.js +0 -5
- package/esm5/components/object-card/object-card.component.js +0 -144
- package/esm5/components/object-card/object-card.module.js +0 -25
- package/esm5/components/permissions/index.js +0 -4
- package/esm5/components/permissions/protocols/modules.enum.js +0 -14
- package/esm5/components/permissions/protocols/query-module.js +0 -1
- package/esm5/components/permissions/protocols/rec-modulo.js +0 -1
- package/esm5/components/permissions/verify-module-permission-service.js +0 -28
- package/esm5/components/permissions/verify-module-permission.js +0 -54
- package/esm5/components/permissions/verify-module-permissions-service.js +0 -28
- package/esm5/components/permissions/verify-module-permissions.js +0 -53
- package/esm5/components/polling/erp-polling.js +0 -35
- package/esm5/components/polling/index.js +0 -2
- package/esm5/components/shared/border-button/border-button.component.js +0 -25
- package/esm5/components/shared/border-button/border-button.module.js +0 -19
- package/esm5/components/shared/models/border-button-options.js +0 -1
- package/esm5/components/shared/models/enum-severity.js +0 -9
- package/esm5/components/storage/filters-storage.service.js +0 -166
- package/esm5/components/storage/index.js +0 -2
- package/esm5/components/storage/storage.service.js +0 -39
- package/esm5/components/thumbnail/index.js +0 -4
- package/esm5/components/thumbnail/thumbnail-size.js +0 -7
- package/esm5/components/thumbnail/thumbnail.component.js +0 -99
- package/esm5/components/thumbnail/thumbnail.module.js +0 -20
- package/esm5/components/thumbnail/thumbnail.service.js +0 -95
- package/esm5/components/utils/async-lock.js +0 -43
- package/esm5/components/utils/breakpoints.js +0 -11
- package/esm5/components/utils/export-utils.js +0 -78
- package/esm5/components/utils/form-utils.js +0 -212
- package/esm5/components/utils/http-status-code.js +0 -68
- package/esm5/components/utils/index.js +0 -7
- package/esm5/components/utils/lookup-validation-utils.js +0 -65
- package/esm5/components/utils/utils.module.js +0 -34
- package/esm5/components/websocket/index.js +0 -3
- package/esm5/components/websocket/models/index.js +0 -2
- package/esm5/components/websocket/models/primitive-manager.js +0 -54
- package/esm5/components/websocket/protocols/index.js +0 -1
- package/esm5/components/websocket/protocols/on-event-options.js +0 -1
- package/esm5/components/websocket/protocols/primitive-event.js +0 -1
- package/esm5/components/websocket/user-information.service.js +0 -38
- package/esm5/components/websocket/websocket.service.js +0 -419
- package/esm5/core/enums/enum-ana-sin.js +0 -6
- package/esm5/core/enums/enum-apl-cpg.js +0 -7
- package/esm5/core/enums/enum-apl-snf.js +0 -9
- package/esm5/core/enums/enum-difal-contribuinte.js +0 -11
- package/esm5/core/enums/enum-difal-nao-contribuinte.js +0 -6
- package/esm5/core/enums/enum-imposto-cadastro.js +0 -16
- package/esm5/core/enums/enum-nat-ctb.js +0 -7
- package/esm5/core/enums/enum-origem-mercadoria-imposto.js +0 -8
- package/esm5/core/enums/enum-perfil-tributario-segmento.js +0 -13
- package/esm5/core/enums/enum-pro-vei.js +0 -6
- package/esm5/core/enums/enum-situacao-caracteristica-fiscal.js +0 -6
- package/esm5/core/enums/enum-tip-crr.js +0 -10
- package/esm5/core/enums/enum-tip-ctb.js +0 -11
- package/esm5/core/enums/enum-tip-rod.js +0 -10
- package/esm5/core/enums/enum-tip-vei.js +0 -6
- package/esm5/core/enums/enum-tipo-origem.js +0 -7
- package/esm5/core/enums/erpx-cpl-dfe-eventos-fiscais-backend/enum-situacao-registro.js +0 -6
- package/esm5/core/enums/erpx-cpl-dfe-eventos-fiscais-backend/enum-tipo-evento.js +0 -18
- package/esm5/core/enums/erpx-cpl-imp-cadastros-backend/enum-situacao.js +0 -6
- package/esm5/core/enums/erpx-fnd-produto-backend/enum-sit-reg.js +0 -6
- package/esm5/locale/fallback.js +0 -79
- package/esm5/public-api.js +0 -13
- package/esm5/senior-gestao-empresarial-angular-components.js +0 -17
- package/esm5/utils/utils.js +0 -9
- package/fesm2015/senior-gestao-empresarial-angular-components.js +0 -9533
- package/fesm2015/senior-gestao-empresarial-angular-components.js.map +0 -1
- package/fesm5/senior-gestao-empresarial-angular-components.js +0 -10259
- package/fesm5/senior-gestao-empresarial-angular-components.js.map +0 -1
- package/locale/fallback.d.ts +0 -78
- package/senior-gestao-empresarial-angular-components.d.ts +0 -16
- package/senior-gestao-empresarial-angular-components.metadata.json +0 -1
- package/utils/utils.d.ts +0 -5
- /package/{core → lookups/lib/core}/enums/enum-ana-sin.d.ts +0 -0
- /package/{core → lookups/lib/core}/enums/enum-apl-cpg.d.ts +0 -0
- /package/{core → lookups/lib/core}/enums/enum-apl-snf.d.ts +0 -0
- /package/{core → lookups/lib/core}/enums/enum-difal-contribuinte.d.ts +0 -0
- /package/{core → lookups/lib/core}/enums/enum-difal-nao-contribuinte.d.ts +0 -0
- /package/{core → lookups/lib/core}/enums/enum-imposto-cadastro.d.ts +0 -0
- /package/{core → lookups/lib/core}/enums/enum-nat-ctb.d.ts +0 -0
- /package/{core → lookups/lib/core}/enums/enum-origem-mercadoria-imposto.d.ts +0 -0
- /package/{core → lookups/lib/core}/enums/enum-perfil-tributario-segmento.d.ts +0 -0
- /package/{core → lookups/lib/core}/enums/enum-pro-vei.d.ts +0 -0
- /package/{core → lookups/lib/core}/enums/enum-situacao-caracteristica-fiscal.d.ts +0 -0
- /package/{core → lookups/lib/core}/enums/enum-tip-crr.d.ts +0 -0
- /package/{core → lookups/lib/core}/enums/enum-tip-ctb.d.ts +0 -0
- /package/{core → lookups/lib/core}/enums/enum-tip-rod.d.ts +0 -0
- /package/{core → lookups/lib/core}/enums/enum-tip-vei.d.ts +0 -0
- /package/{core → lookups/lib/core}/enums/enum-tipo-origem.d.ts +0 -0
- /package/{core → lookups/lib/core}/enums/erpx-cpl-dfe-eventos-fiscais-backend/enum-situacao-registro.d.ts +0 -0
- /package/{core → lookups/lib/core}/enums/erpx-cpl-dfe-eventos-fiscais-backend/enum-tipo-evento.d.ts +0 -0
- /package/{core → lookups/lib/core}/enums/erpx-cpl-imp-cadastros-backend/enum-situacao.d.ts +0 -0
- /package/{core → lookups/lib/core}/enums/erpx-fnd-produto-backend/enum-sit-reg.d.ts +0 -0
- /package/{components/nps → nps/lib}/protocols/tenant-full-dto.d.ts +0 -0
- /package/{components/nps → nps/lib}/protocols/token-senior-x.d.ts +0 -0
- /package/{components → object-card/lib}/shared/models/enum-severity.d.ts +0 -0
- /package/{components/permissions → permissions/lib}/protocols/modules.enum.d.ts +0 -0
- /package/{components/thumbnail → thumbnail/lib}/thumbnail-size.d.ts +0 -0
- /package/{components/utils → utils/lib}/async-lock.d.ts +0 -0
- /package/{components/utils → utils/lib}/breakpoints.d.ts +0 -0
- /package/{components/utils → utils/lib}/http-status-code.d.ts +0 -0
- /package/{components/websocket → websocket/lib}/models/index.d.ts +0 -0
- /package/{components/websocket → websocket/lib}/protocols/index.d.ts +0 -0
- /package/{components/websocket → websocket/lib}/protocols/on-event-options.d.ts +0 -0
- /package/{components/websocket → websocket/lib}/protocols/primitive-event.d.ts +0 -0
|
@@ -1,412 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import * as moment_ from "moment";
|
|
3
|
-
import { FormField, FieldType } from "@seniorsistemas/angular-components";
|
|
4
|
-
import { ErpLookupsService } from "./erp-lookups.service";
|
|
5
|
-
import { TranslateService } from "@ngx-translate/core";
|
|
6
|
-
import { takeUntil, map } from "rxjs/operators";
|
|
7
|
-
import { Subject } from "rxjs";
|
|
8
|
-
import { Injectable } from "@angular/core";
|
|
9
|
-
const moment = moment_;
|
|
10
|
-
/** Filter System Query Option - Operators supported in the expression language */
|
|
11
|
-
export var EnumLogicalOperator;
|
|
12
|
-
(function (EnumLogicalOperator) {
|
|
13
|
-
/** Equal (Ex: /Suppliers?$filter=Address/City eq 'Redmond') */
|
|
14
|
-
EnumLogicalOperator["Eq"] = "eq";
|
|
15
|
-
/** Not equal (Ex: /Suppliers?$filter=Address/City ne 'London') */
|
|
16
|
-
EnumLogicalOperator["Ne"] = "ne";
|
|
17
|
-
/** Greater than (Ex: /Products?$filter=Price gt 20) */
|
|
18
|
-
EnumLogicalOperator["Gt"] = "gt";
|
|
19
|
-
/** Greater than or equal (Ex: /Products?$filter=Price ge 10) */
|
|
20
|
-
EnumLogicalOperator["Ge"] = "ge";
|
|
21
|
-
/** Less than (Ex: /Products?$filter=Price lt 20)*/
|
|
22
|
-
EnumLogicalOperator["Lt"] = "lt";
|
|
23
|
-
/** Less than or equal (Ex: /Products?$filter=Price le 100)*/
|
|
24
|
-
EnumLogicalOperator["Le"] = "le";
|
|
25
|
-
/** Logical and (Ex: /Products?$filter=Price le 200 and Price gt 3.5)*/
|
|
26
|
-
EnumLogicalOperator["And"] = "and";
|
|
27
|
-
/** Logical or (Ex: /Products?$filter=Price le 3.5 or Price gt 200)*/
|
|
28
|
-
EnumLogicalOperator["Or"] = "or";
|
|
29
|
-
/** Logical negation (Ex: /Products?$filter=not endswith(Description,'milk'))*/
|
|
30
|
-
EnumLogicalOperator["Not"] = "not";
|
|
31
|
-
/** Logical is (Ex: /Products?$filter=id is null */
|
|
32
|
-
EnumLogicalOperator["Is"] = "is";
|
|
33
|
-
/** Negation of logical is (Ex: /Products?$filter=id is not null */
|
|
34
|
-
EnumLogicalOperator["IsNot"] = "is not";
|
|
35
|
-
/** Contains string value (Ex: /Products?$filter=containing(lower(name), lower('my name'))) */
|
|
36
|
-
EnumLogicalOperator["Contains"] = "containing";
|
|
37
|
-
})(EnumLogicalOperator || (EnumLogicalOperator = {}));
|
|
38
|
-
export class ErpLookupsFormField extends FormField {
|
|
39
|
-
constructor(erpLookupsFormField, ...args) {
|
|
40
|
-
super(...args);
|
|
41
|
-
this.erpLookupsFormField = erpLookupsFormField;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
let ErpLookups =
|
|
45
|
-
/**
|
|
46
|
-
* Erp Lookups
|
|
47
|
-
* @class ErpLookups
|
|
48
|
-
*/
|
|
49
|
-
class ErpLookups {
|
|
50
|
-
/**
|
|
51
|
-
* Criação de um lookup.
|
|
52
|
-
* @param entity Nome da entidade.
|
|
53
|
-
* @param lookupFields Campos exibidos no autocomplete.
|
|
54
|
-
* @param searchFields Campos exibidos no filtro dentro da modal.
|
|
55
|
-
* @param searchGridFields Campos exibidos na tabela dentro da modal.
|
|
56
|
-
*/
|
|
57
|
-
constructor(lookupService, translate, entity, lookupFields, searchFields, searchGridFields, domain, service) {
|
|
58
|
-
this.lookupService = lookupService;
|
|
59
|
-
this.translate = translate;
|
|
60
|
-
this.entity = entity;
|
|
61
|
-
this.lookupFields = lookupFields;
|
|
62
|
-
this.searchFields = searchFields;
|
|
63
|
-
this.searchGridFields = searchGridFields;
|
|
64
|
-
this.domain = domain;
|
|
65
|
-
this.service = service;
|
|
66
|
-
this.ngUnsubscribe = new Subject();
|
|
67
|
-
this.lookupSuggestionsObservable = new Subject();
|
|
68
|
-
this.lookupSearchObservable = new Subject();
|
|
69
|
-
this.entity = entity;
|
|
70
|
-
this.domain = domain;
|
|
71
|
-
this.service = service;
|
|
72
|
-
this.lookupFields = lookupFields || [];
|
|
73
|
-
this.searchFields = searchFields || [];
|
|
74
|
-
this.searchGridFields = searchGridFields || [];
|
|
75
|
-
}
|
|
76
|
-
toSnakeCase(value = "") {
|
|
77
|
-
return value.replace(/(?:^|\.?)([A-Z])/g, function (x, y) { return "_" + y.toLowerCase(); }).replace(/^_/, "");
|
|
78
|
-
}
|
|
79
|
-
mountFormField(fields, prefix) {
|
|
80
|
-
return fields.map((field) => {
|
|
81
|
-
let translationKey = `${prefix}.lookup_${this.toSnakeCase(this.entity)}_${this.toSnakeCase(field.name)}`;
|
|
82
|
-
let label = this.translate.instant(translationKey);
|
|
83
|
-
if (label === translationKey) {
|
|
84
|
-
// Manter compatibilidade com os lookups atuais até todos ajustarem
|
|
85
|
-
const fieldName = field.name.split('.').join('_');
|
|
86
|
-
translationKey = `${prefix}.lookup_${this.toSnakeCase(this.entity)}_${this.toSnakeCase(fieldName)}`;
|
|
87
|
-
label = this.translate.instant(translationKey);
|
|
88
|
-
}
|
|
89
|
-
if ("erpLookupsFormField" in field) {
|
|
90
|
-
return new ErpLookupsFormField(field.erpLookupsFormField, Object.assign(Object.assign({}, field), { label }));
|
|
91
|
-
}
|
|
92
|
-
return new FormField(Object.assign(Object.assign({}, field), { label }));
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
mountDefaultFilter(defaultFilter = [{ field: "excluido", operator: EnumLogicalOperator.Eq, values: ["false"] }]) {
|
|
96
|
-
return defaultFilter.map(filter => {
|
|
97
|
-
return "(" + filter.values.map(value => {
|
|
98
|
-
if (filter.operator == EnumLogicalOperator.Contains)
|
|
99
|
-
return `containing(lower(${filter.field}), lower('${value}'))`;
|
|
100
|
-
if ((filter.operator == EnumLogicalOperator.IsNot || filter.operator == EnumLogicalOperator.Is) && !value)
|
|
101
|
-
return `${filter.field} ${filter.operator} null`;
|
|
102
|
-
return `${filter.field} ${filter.operator} '${value}'`;
|
|
103
|
-
}).join(" or ") + ")";
|
|
104
|
-
}).join(" and ");
|
|
105
|
-
}
|
|
106
|
-
mountDynamicFilter(dynamicFilter) {
|
|
107
|
-
if (dynamicFilter) {
|
|
108
|
-
return dynamicFilter.map(filter => {
|
|
109
|
-
let values = filter.value();
|
|
110
|
-
const field = filter.field();
|
|
111
|
-
const operator = filter.operator;
|
|
112
|
-
if (!(values instanceof Array)) {
|
|
113
|
-
values = [values];
|
|
114
|
-
}
|
|
115
|
-
return "(" + values.map((value) => {
|
|
116
|
-
if (operator == EnumLogicalOperator.Contains)
|
|
117
|
-
return `containing(lower(${field}), lower('${value}'))`;
|
|
118
|
-
if ((operator == EnumLogicalOperator.IsNot || operator == EnumLogicalOperator.Is) && !value)
|
|
119
|
-
return `${field} ${operator} null`;
|
|
120
|
-
return `${field} ${operator} '${value}'`;
|
|
121
|
-
}).join(" or ") + ")";
|
|
122
|
-
}).join(" and ");
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
mountCustomFilter({ erpLookupsSearchField, filterData, }) {
|
|
126
|
-
const { erpLookupsFormField, name } = erpLookupsSearchField;
|
|
127
|
-
return `(${erpLookupsFormField.customFilters
|
|
128
|
-
.map(({ operator, value }) => {
|
|
129
|
-
value =
|
|
130
|
-
typeof value === "function"
|
|
131
|
-
? value({
|
|
132
|
-
value: filterData[name],
|
|
133
|
-
filterData,
|
|
134
|
-
})
|
|
135
|
-
: value;
|
|
136
|
-
if (operator === EnumLogicalOperator.Contains) {
|
|
137
|
-
return `(containing(lower(${name}), lower('${value}')))`;
|
|
138
|
-
}
|
|
139
|
-
if ((operator === EnumLogicalOperator.IsNot || operator === EnumLogicalOperator.Is) && !value) {
|
|
140
|
-
return `(${name} ${operator} null)`;
|
|
141
|
-
}
|
|
142
|
-
return `(${name} ${operator} '${value}')`;
|
|
143
|
-
})
|
|
144
|
-
.join(" and ")})`;
|
|
145
|
-
}
|
|
146
|
-
mountFilterQuery(value, lookupFields, defaultFilter, dynamicFilter) {
|
|
147
|
-
let filterQuery;
|
|
148
|
-
if (Number.isInteger(Number(value))) {
|
|
149
|
-
filterQuery = lookupFields.map((field) => {
|
|
150
|
-
if (field.type === FieldType.String) {
|
|
151
|
-
return `(containing(lower(${field.name}), lower('${value}')))`;
|
|
152
|
-
}
|
|
153
|
-
else if (field.type === FieldType.Integer) {
|
|
154
|
-
const sanitizedValue = value.toString().replace(/\D/g, "");
|
|
155
|
-
if (!sanitizedValue)
|
|
156
|
-
return null;
|
|
157
|
-
return `(${field.name} eq '${sanitizedValue}')`;
|
|
158
|
-
}
|
|
159
|
-
else {
|
|
160
|
-
return `(${field.name} eq '${value}')`;
|
|
161
|
-
}
|
|
162
|
-
})
|
|
163
|
-
.filter(filter => !!filter)
|
|
164
|
-
.join(" or ");
|
|
165
|
-
}
|
|
166
|
-
else {
|
|
167
|
-
filterQuery = lookupFields
|
|
168
|
-
.filter((field) => field.type === FieldType.String)
|
|
169
|
-
.map((field) => {
|
|
170
|
-
return `(containing(lower(${field.name}), lower('${value.replace(/\\/g, "").replace(/'/g, "\\'")}')))`;
|
|
171
|
-
})
|
|
172
|
-
.join(" or ");
|
|
173
|
-
}
|
|
174
|
-
const defaultFilterQuery = this.mountDefaultFilter(defaultFilter);
|
|
175
|
-
if (defaultFilterQuery)
|
|
176
|
-
filterQuery = `((${defaultFilterQuery}) and (${filterQuery}))`;
|
|
177
|
-
else
|
|
178
|
-
filterQuery = "(" + filterQuery + ")";
|
|
179
|
-
const dynamicFilterQuery = this.mountDynamicFilter(dynamicFilter);
|
|
180
|
-
if (dynamicFilterQuery)
|
|
181
|
-
filterQuery = `((${dynamicFilterQuery}) and (${filterQuery}))`;
|
|
182
|
-
else
|
|
183
|
-
filterQuery = "(" + filterQuery + ")";
|
|
184
|
-
return filterQuery;
|
|
185
|
-
}
|
|
186
|
-
mountEnumFilter(name, value, multiple) {
|
|
187
|
-
return multiple ? `(${value.map((selected) => `${name} eq '${selected}'`).join(" or ")})` : `(${name} eq '${value}')`;
|
|
188
|
-
}
|
|
189
|
-
/** Método responsável por montar as opções padrões para o lookup do Dynamic Form */
|
|
190
|
-
mountOptions(options = {}) {
|
|
191
|
-
const prefix = options.prefix
|
|
192
|
-
? options.prefix
|
|
193
|
-
: (options.domain && options.service)
|
|
194
|
-
? `${options.domain}.${options.service}`
|
|
195
|
-
: `${this.domain}.${this.service}`;
|
|
196
|
-
const suffix = options.suffix ? `_${options.suffix}` : "";
|
|
197
|
-
options.lookupFields = options.lookupFields && options.lookupFields.length
|
|
198
|
-
? options.lookupFields
|
|
199
|
-
: this.lookupFields;
|
|
200
|
-
return {
|
|
201
|
-
name: options.formGroup || this.entity,
|
|
202
|
-
label: this.translate.instant(`${prefix}.lookup_${this.toSnakeCase(options.entity) || this.toSnakeCase(this.entity)}${suffix}`),
|
|
203
|
-
searchTitle: this.translate.instant(`${prefix}.lookup_${this.toSnakeCase(options.entity) ||
|
|
204
|
-
this.toSnakeCase(this.entity)}_search_title`),
|
|
205
|
-
type: FieldType.Lookup,
|
|
206
|
-
multiple: options.multiple === false ? false : true,
|
|
207
|
-
dataKey: options.dataKey || "id",
|
|
208
|
-
lookupDisplayField: "label",
|
|
209
|
-
searchEmptyTitle: this.translate.instant(`${prefix}.nothing_found`),
|
|
210
|
-
filterLabel: this.translate.instant(`${prefix}.filter`),
|
|
211
|
-
clearLabel: this.translate.instant(`${prefix}.clear`),
|
|
212
|
-
cancelLabel: this.translate.instant(`${prefix}.cancel`),
|
|
213
|
-
selectLabel: this.translate.instant(`${prefix}.select`),
|
|
214
|
-
searchFields: options.searchFields ? this.mountFormField(options.searchFields, prefix) :
|
|
215
|
-
this.mountFormField(this.searchFields, prefix),
|
|
216
|
-
searchGridFields: options.searchGridFields ? this.mountFormField(options.searchGridFields, prefix) :
|
|
217
|
-
this.mountFormField(this.searchGridFields, prefix),
|
|
218
|
-
suggestionsObservable: this.lookupSuggestionsObservable,
|
|
219
|
-
searchObservable: this.lookupSearchObservable,
|
|
220
|
-
onLookupRequest: (value) => this.onLookupRequest(value, prefix, options),
|
|
221
|
-
onSearchRequest: (event) => this.onSearchRequest(event, prefix, options)
|
|
222
|
-
};
|
|
223
|
-
}
|
|
224
|
-
getProp(obj, path, prefix) {
|
|
225
|
-
return path.split(".").reduce((result, prop) => (result[prop] === undefined || result[prop] === null
|
|
226
|
-
? this.translate.instant(`${prefix}.empty_label`)
|
|
227
|
-
: result[prop]), obj);
|
|
228
|
-
}
|
|
229
|
-
hasValue(value) {
|
|
230
|
-
if (Array.isArray(value) && !value.length)
|
|
231
|
-
return false;
|
|
232
|
-
return !!value;
|
|
233
|
-
}
|
|
234
|
-
mountEntityFilter(entity, value) {
|
|
235
|
-
return entity.field
|
|
236
|
-
? `(${entity.name}.${entity.field} eq '${value[entity.field]}')`
|
|
237
|
-
: `(${entity.name} eq '${value[entity.name]}')`;
|
|
238
|
-
}
|
|
239
|
-
onLookupRequest(value, prefix, options) {
|
|
240
|
-
const sort = options.lookupSort;
|
|
241
|
-
const lookupDisplayFields = options.lookupFields.map(field => field.name);
|
|
242
|
-
let filterQuery = this.mountFilterQuery(value, options.lookupFields, options.defaultFilter, options.dynamicFilter);
|
|
243
|
-
let displayFields = lookupDisplayFields.concat((options.searchGridFields || this.searchGridFields)
|
|
244
|
-
.map(({ name }) => name) || []);
|
|
245
|
-
if (options.queryFields)
|
|
246
|
-
displayFields = displayFields.concat(options.queryFields);
|
|
247
|
-
displayFields = displayFields.filter((v, i) => displayFields.indexOf(v) === i);
|
|
248
|
-
if (options.entityDependency) {
|
|
249
|
-
const entityFilter = options.entityDependency.map((entity) => {
|
|
250
|
-
const newValue = entity.value();
|
|
251
|
-
if (!this.hasValue(newValue))
|
|
252
|
-
return;
|
|
253
|
-
if (Array.isArray(newValue)) {
|
|
254
|
-
return `(${newValue.map((val) => this.mountEntityFilter(entity, val)).join(" or ")})`;
|
|
255
|
-
}
|
|
256
|
-
else {
|
|
257
|
-
return `(${this.mountEntityFilter(entity, newValue)})`;
|
|
258
|
-
}
|
|
259
|
-
}).filter(filter => !!filter).join(" and ");
|
|
260
|
-
if (entityFilter)
|
|
261
|
-
filterQuery ? filterQuery += ` and (${entityFilter})` : filterQuery = entityFilter;
|
|
262
|
-
}
|
|
263
|
-
this.lookupService
|
|
264
|
-
.list({
|
|
265
|
-
sort,
|
|
266
|
-
filterQuery,
|
|
267
|
-
displayFields
|
|
268
|
-
}, options.entity || this.entity, options.domain || this.domain, options.service || this.service)
|
|
269
|
-
.pipe(takeUntil(this.ngUnsubscribe))
|
|
270
|
-
.pipe(map((list) => list.contents.map((item) => (Object.assign(Object.assign({}, item), { label: this.getItemLabel(item, prefix, lookupDisplayFields) })))))
|
|
271
|
-
.subscribe((data) => {
|
|
272
|
-
this.lookupSuggestionsObservable.next(data);
|
|
273
|
-
});
|
|
274
|
-
}
|
|
275
|
-
onSearchRequest(event, prefix, options) {
|
|
276
|
-
const { first, rows, multiSortMeta, filterData } = event;
|
|
277
|
-
const page = first / rows;
|
|
278
|
-
const sort = multiSortMeta ? multiSortMeta : options.searchSort;
|
|
279
|
-
const lookupDisplayFields = options.lookupFields.map(field => field.name);
|
|
280
|
-
let filterQuery = (options.searchFields || this.searchFields)
|
|
281
|
-
.filter(({ name }) => filterData[name] != undefined && filterData[name] != "")
|
|
282
|
-
.map((formField) => {
|
|
283
|
-
const { name, type, multiple, erpLookupsFormField } = formField;
|
|
284
|
-
const value = filterData[name];
|
|
285
|
-
if (erpLookupsFormField) {
|
|
286
|
-
return this.mountCustomFilter({
|
|
287
|
-
erpLookupsSearchField: formField,
|
|
288
|
-
filterData,
|
|
289
|
-
});
|
|
290
|
-
}
|
|
291
|
-
if (typeof value == "number")
|
|
292
|
-
return `${name} eq ${value}`;
|
|
293
|
-
else if (type == FieldType.Date)
|
|
294
|
-
return `${name} eq '${moment(value).format("YYYY-MM-DD")}'`;
|
|
295
|
-
else if (type == FieldType.Time)
|
|
296
|
-
return `${name} eq '${moment(value).format("HH:mm:ss")}'`;
|
|
297
|
-
else if (type == FieldType.DateTime)
|
|
298
|
-
return `${name} eq '${moment(value).format()}'`;
|
|
299
|
-
else if (type == FieldType.Enum)
|
|
300
|
-
return this.mountEnumFilter(name, value, multiple);
|
|
301
|
-
else if (type == FieldType.String)
|
|
302
|
-
return `(containing(lower(${name}), lower('${value}')))`;
|
|
303
|
-
else if (type === FieldType.Lookup)
|
|
304
|
-
return `(${name} eq '${value.id}')`;
|
|
305
|
-
return `${name} eq '${value}'`;
|
|
306
|
-
})
|
|
307
|
-
.join(" and ");
|
|
308
|
-
if (options.entityDependency) {
|
|
309
|
-
const entityFilter = options.entityDependency.map((entity) => {
|
|
310
|
-
const value = entity.value();
|
|
311
|
-
if (!this.hasValue(value))
|
|
312
|
-
return;
|
|
313
|
-
if (Array.isArray(value)) {
|
|
314
|
-
return `(${value.map((val) => this.mountEntityFilter(entity, val)).join(" or ")})`;
|
|
315
|
-
}
|
|
316
|
-
else {
|
|
317
|
-
return `(${this.mountEntityFilter(entity, value)})`;
|
|
318
|
-
}
|
|
319
|
-
}).filter(filter => !!filter).join(" and ");
|
|
320
|
-
if (entityFilter)
|
|
321
|
-
filterQuery ? filterQuery += ` and (${entityFilter})` : filterQuery = entityFilter;
|
|
322
|
-
}
|
|
323
|
-
const defaultFilterQuery = this.mountDefaultFilter(options.defaultFilter);
|
|
324
|
-
if (defaultFilterQuery)
|
|
325
|
-
filterQuery ? filterQuery += ` and (${defaultFilterQuery})` : filterQuery = `(${defaultFilterQuery})`;
|
|
326
|
-
const dynamicFilterQuery = this.mountDynamicFilter(options.dynamicFilter);
|
|
327
|
-
if (dynamicFilterQuery)
|
|
328
|
-
filterQuery ? filterQuery += ` and (${dynamicFilterQuery})` : filterQuery = `(${dynamicFilterQuery})`;
|
|
329
|
-
let displayFields = lookupDisplayFields.concat((options.searchGridFields || this.searchGridFields)
|
|
330
|
-
.concat(options.searchGridFields || [])
|
|
331
|
-
.map(({ name }) => name) || []);
|
|
332
|
-
if (options.queryFields)
|
|
333
|
-
displayFields = displayFields.concat(options.queryFields);
|
|
334
|
-
displayFields = displayFields.filter((v, i) => displayFields.indexOf(v) === i);
|
|
335
|
-
this.lookupService
|
|
336
|
-
.list({ page, sort, filterQuery, displayFields }, options.entity || this.entity, options.domain || this.domain, options.service || this.service)
|
|
337
|
-
.pipe(takeUntil(this.ngUnsubscribe))
|
|
338
|
-
.pipe(map((list) => {
|
|
339
|
-
// Criar um mapa de campos com maxLength definido
|
|
340
|
-
const fieldsWithMaxLength = new Map();
|
|
341
|
-
[...(options.searchFields || this.searchFields), ...(options.searchGridFields || this.searchGridFields)]
|
|
342
|
-
.forEach((field) => {
|
|
343
|
-
if (field.maxLength &&
|
|
344
|
-
(field.type === FieldType.String || field.type === FieldType.Text)) {
|
|
345
|
-
fieldsWithMaxLength.set(field.name, field.maxLength);
|
|
346
|
-
}
|
|
347
|
-
});
|
|
348
|
-
return {
|
|
349
|
-
gridData: list.contents.map((item) => {
|
|
350
|
-
const processedItem = JSON.parse(JSON.stringify(item));
|
|
351
|
-
// Aplicar maxLength nos campos que possuem a configuração
|
|
352
|
-
fieldsWithMaxLength.forEach((maxLength, fieldName) => {
|
|
353
|
-
const fieldValue = this.getNestedValue(processedItem, fieldName);
|
|
354
|
-
if (fieldValue && typeof fieldValue === 'string' && fieldValue.length > maxLength) {
|
|
355
|
-
this.setNestedValue(processedItem, fieldName, fieldValue.substring(0, maxLength) + '...');
|
|
356
|
-
}
|
|
357
|
-
});
|
|
358
|
-
return Object.assign(Object.assign({}, processedItem), { label: this.getItemLabel(processedItem, prefix, lookupDisplayFields) });
|
|
359
|
-
}),
|
|
360
|
-
totalRecords: list.totalElements
|
|
361
|
-
};
|
|
362
|
-
}))
|
|
363
|
-
.subscribe((data) => {
|
|
364
|
-
this.lookupSearchObservable.next(data);
|
|
365
|
-
});
|
|
366
|
-
}
|
|
367
|
-
getItemLabel(item, prefix, lookupDisplayFields) {
|
|
368
|
-
return lookupDisplayFields
|
|
369
|
-
.map((field) => {
|
|
370
|
-
if (field.indexOf(".") > 0)
|
|
371
|
-
return this.getProp(item, field, prefix);
|
|
372
|
-
return item[field] !== undefined && item[field] !== null
|
|
373
|
-
? item[field]
|
|
374
|
-
: this.translate.instant(`${prefix}.empty_label`);
|
|
375
|
-
})
|
|
376
|
-
.join(" - ");
|
|
377
|
-
}
|
|
378
|
-
getNestedValue(obj, path) {
|
|
379
|
-
return path.split(".").reduce((current, key) => {
|
|
380
|
-
return current && current[key] !== undefined ? current[key] : undefined;
|
|
381
|
-
}, obj);
|
|
382
|
-
}
|
|
383
|
-
setNestedValue(obj, path, value) {
|
|
384
|
-
const keys = path.split(".");
|
|
385
|
-
const lastKey = keys.pop();
|
|
386
|
-
const target = keys.reduce((current, key) => {
|
|
387
|
-
return current && current[key] !== undefined ? current[key] : undefined;
|
|
388
|
-
}, obj);
|
|
389
|
-
if (target && lastKey) {
|
|
390
|
-
target[lastKey] = value;
|
|
391
|
-
}
|
|
392
|
-
}
|
|
393
|
-
};
|
|
394
|
-
ErpLookups.ctorParameters = () => [
|
|
395
|
-
{ type: ErpLookupsService },
|
|
396
|
-
{ type: TranslateService },
|
|
397
|
-
{ type: String },
|
|
398
|
-
{ type: Array },
|
|
399
|
-
{ type: Array },
|
|
400
|
-
{ type: Array },
|
|
401
|
-
{ type: String },
|
|
402
|
-
{ type: String }
|
|
403
|
-
];
|
|
404
|
-
ErpLookups = __decorate([
|
|
405
|
-
Injectable()
|
|
406
|
-
/**
|
|
407
|
-
* Erp Lookups
|
|
408
|
-
* @class ErpLookups
|
|
409
|
-
*/
|
|
410
|
-
], ErpLookups);
|
|
411
|
-
export { ErpLookups };
|
|
412
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJwLWxvb2t1cHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2xvb2t1cHMvZXJwLWxvb2t1cHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sUUFBUSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDO0FBZ0N2QixrRkFBa0Y7QUFDbEYsTUFBTSxDQUFOLElBQVksbUJBeUJYO0FBekJELFdBQVksbUJBQW1CO0lBQzNCLCtEQUErRDtJQUMvRCxnQ0FBUyxDQUFBO0lBQ1Qsa0VBQWtFO0lBQ2xFLGdDQUFTLENBQUE7SUFDVCx1REFBdUQ7SUFDdkQsZ0NBQVMsQ0FBQTtJQUNULGdFQUFnRTtJQUNoRSxnQ0FBUyxDQUFBO0lBQ1QsbURBQW1EO0lBQ25ELGdDQUFTLENBQUE7SUFDVCw2REFBNkQ7SUFDN0QsZ0NBQVMsQ0FBQTtJQUNULHdFQUF3RTtJQUN4RSxrQ0FBVyxDQUFBO0lBQ1gscUVBQXFFO0lBQ3JFLGdDQUFTLENBQUE7SUFDVCwrRUFBK0U7SUFDL0Usa0NBQVcsQ0FBQTtJQUNYLG1EQUFtRDtJQUNuRCxnQ0FBUyxDQUFBO0lBQ1QsbUVBQW1FO0lBQ25FLHVDQUFnQixDQUFB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QUFJLE1BQU0sSUFBSSxPQUFPLEVBQUU7WUFDbkIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBQztTQUMzQjtJQUNMLENBQUM7Q0FDSixDQUFBOztZQTNaZ0MsaUJBQWlCO1lBQ3JCLGdCQUFnQjs7Ozs7Ozs7QUFYaEMsVUFBVTtJQU50QixVQUFVLEVBQUU7SUFFYjs7O01BR0U7R0FDVyxVQUFVLENBcWF0QjtTQXJhWSxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgbW9tZW50XyBmcm9tIFwibW9tZW50XCI7XG5pbXBvcnQgeyBGb3JtRmllbGQsIEZpZWxkVHlwZSB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBFcnBMb29rdXBzU2VydmljZSB9IGZyb20gXCIuL2VycC1sb29rdXBzLnNlcnZpY2VcIjtcbuKAi1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyB0YWtlVW50aWwsIG1hcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbuKAi1xuY29uc3QgbW9tZW50ID0gbW9tZW50XztcblxuLyoqIEVudGlkYWRlcyBkZSBxdWUgZGVwZW5kZSAqL1xuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlEZXBlbmRlbmN5IHtcbiAgICAvKiogTm9tZSBkYSBlbnRpZGFkZSBxdWUgZGVwZW5kZSAocGFpKSAqL1xuICAgIG5hbWU6IHN0cmluZztcbiAgICAvKiogQ2FtcG8gZGEgZW50aWRhZGUgcGFpIHF1ZSBzZXLDoSBjb21wYXJhZG8gKi9cbiAgICBmaWVsZD86IHN0cmluZztcbiAgICAvKiogVmFsb3IgZGEgZW50aWRhZGUgcGFpICovXG4gICAgdmFsdWU6IEZ1bmN0aW9uO1xufVxu4oCLXG4vKiogRmlsdHJvIHBhZHLDo28gYXBsaWNhZG8gZW0gdG9kYXMgcmVxdWlzacOnw7VlcyBkYSBlbnRpZGFkZS4gUG9yIHBhZHLDo28gZmlsdHJhIHJlZ2lzdHJvcyBuw6NvIGV4Y2x1aWRvcyAqL1xuZXhwb3J0IGludGVyZmFjZSBEZWZhdWx0RmlsdGVyIHtcbiAgICAvKiogQ2FtcG8gcXVlIHNlcsOhIGZpbHRyYWRvICovXG4gICAgZmllbGQ6IHN0cmluZyB8IERlZmF1bHRGaWx0ZXI7XG4gICAgLyoqIENvbXBhcmHDp8OjbyBxdWUgc2Vyw6EgYXBsaWNhZGEgbmEgY29uc3VsdGEgKi9cbiAgICBvcGVyYXRvcjogRW51bUxvZ2ljYWxPcGVyYXRvcjtcbiAgICAvKiogVmFsb3JlcyBxdWUgc2Vyw6NvIGJ1c2NhZG9zICovXG4gICAgdmFsdWVzOiBzdHJpbmdbXTtcbn1cblxuLyoqIEZpbHRybyBkaW5hbWljbyBwYXJhIGNvbnN1bHRhcyBtYWlzIGNvbXBsZXhhcyAqL1xuZXhwb3J0IGludGVyZmFjZSBEeW5hbWljRmlsdGVyIHtcbiAgICAvKiogQ2FtcG8gcXVlIHNlcsOhIGZpbHRyYWRvICovXG4gICAgZmllbGQ6IEZ1bmN0aW9uXG4gICAgLyoqIENvbXBhcmHDp8OjbyBxdWUgc2Vyw6EgYXBsaWNhZGEgbmEgY29uc3VsdGEgKi9cbiAgICBvcGVyYXRvcjogRW51bUxvZ2ljYWxPcGVyYXRvcjtcbiAgICAvKiogVmFsb3JlcyBxdWUgc2Vyw6NvIGJ1c2NhZG9zICovXG4gICAgdmFsdWU6IEZ1bmN0aW9uO1xufVxuXG4vKiogRmlsdGVyIFN5c3RlbSBRdWVyeSBPcHRpb24gLSBPcGVyYXRvcnMgc3VwcG9ydGVkIGluIHRoZSBleHByZXNzaW9uIGxhbmd1YWdlICovXG5leHBvcnQgZW51bSBFbnVtTG9naWNhbE9wZXJhdG9yIHtcbiAgICAvKiogRXF1YWwgKEV4OiAvU3VwcGxpZXJzPyRmaWx0ZXI9QWRkcmVzcy9DaXR5IGVxICdSZWRtb25kJykgKi9cbiAgICBFcSA9IFwiZXFcIixcbiAgICAvKiogTm90IGVxdWFsIChFeDogL1N1cHBsaWVycz8kZmlsdGVyPUFkZHJlc3MvQ2l0eSBuZSAnTG9uZG9uJykgKi9cbiAgICBOZSA9IFwibmVcIixcbiAgICAvKiogR3JlYXRlciB0aGFuIChFeDogL1Byb2R1Y3RzPyRmaWx0ZXI9UHJpY2UgZ3QgMjApICovXG4gICAgR3QgPSBcImd0XCIsXG4gICAgLyoqIEdyZWF0ZXIgdGhhbiBvciBlcXVhbCAoRXg6IC9Qcm9kdWN0cz8kZmlsdGVyPVByaWNlIGdlIDEwKSAqL1xuICAgIEdlID0gXCJnZVwiLFxuICAgIC8qKiBMZXNzIHRoYW4gKEV4OiAvUHJvZHVjdHM/JGZpbHRlcj1QcmljZSBsdCAyMCkqL1xuICAgIEx0ID0gXCJsdFwiLFxuICAgIC8qKiBMZXNzIHRoYW4gb3IgZXF1YWwgKEV4OiAvUHJvZHVjdHM/JGZpbHRlcj1QcmljZSBsZSAxMDApKi9cbiAgICBMZSA9IFwibGVcIixcbiAgICAvKiogTG9naWNhbCBhbmRcdCAoRXg6IC9Qcm9kdWN0cz8kZmlsdGVyPVByaWNlIGxlIDIwMCBhbmQgUHJpY2UgZ3QgMy41KSovXG4gICAgQW5kID0gXCJhbmRcIixcbiAgICAvKiogTG9naWNhbCBvciAoRXg6IC9Qcm9kdWN0cz8kZmlsdGVyPVByaWNlIGxlIDMuNSBvciBQcmljZSBndCAyMDApKi9cbiAgICBPciA9IFwib3JcIixcbiAgICAvKiogTG9naWNhbCBuZWdhdGlvbiAoRXg6IC9Qcm9kdWN0cz8kZmlsdGVyPW5vdCBlbmRzd2l0aChEZXNjcmlwdGlvbiwnbWlsaycpKSovXG4gICAgTm90ID0gXCJub3RcIixcbiAgICAvKiogTG9naWNhbCBpcyAoRXg6IC9Qcm9kdWN0cz8kZmlsdGVyPWlkIGlzIG51bGwgKi9cbiAgICBJcyA9IFwiaXNcIixcbiAgICAvKiogTmVnYXRpb24gb2YgbG9naWNhbCBpcyAoRXg6IC9Qcm9kdWN0cz8kZmlsdGVyPWlkIGlzIG5vdCBudWxsICovXG4gICAgSXNOb3QgPSBcImlzIG5vdFwiLFxuICAgIC8qKiBDb250YWlucyBzdHJpbmcgdmFsdWUgKEV4OiAvUHJvZHVjdHM/JGZpbHRlcj1jb250YWluaW5nKGxvd2VyKG5hbWUpLCBsb3dlcignbXkgbmFtZScpKSkgKi9cbiAgICBDb250YWlucyA9IFwiY29udGFpbmluZ1wiXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29ydE9wdGlvbnMge1xuICAgIGZpZWxkOiBzdHJpbmc7XG4gICAgb3JkZXI6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGb3JtRmllbGRFcnB4IGV4dGVuZHMgRm9ybUZpZWxkIHtcbiAgICBtYXhMZW5ndGg/OiBudW1iZXI7XG59XG5cbi8qKiBQYXLDom1ldHJvcyBwYXJhIGN1c3RvbWl6YcOnw7VlcyBkbyBsb29rdXAgKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9va3VwT3B0aW9ucyB7XG4gICAgLyoqIE5vbWUgZGEgZW50aWRhZGUgKi9cbiAgICBlbnRpdHk/OiBzdHJpbmc7XG4gICAgLyoqIE5vbWUgZG8gZm9ybUdyb3VwICovXG4gICAgZm9ybUdyb3VwPzogc3RyaW5nO1xuICAgIC8qKiBGaWx0cm8gcGFkcsOjbyAqL1xuICAgIGRlZmF1bHRGaWx0ZXI/OiBEZWZhdWx0RmlsdGVyW107XG4gICAgLyoqIEZpbHRybyBkaW7Dom1pY28gKi9cbiAgICBkeW5hbWljRmlsdGVyPzogRHluYW1pY0ZpbHRlcltdO1xuICAgIC8qKiBDYW1wb3MgZG8gbG9va3VwIChhdXRvY29tcGxldGUpICovXG4gICAgbG9va3VwRmllbGRzPzogKEZvcm1GaWVsZCB8IEZvcm1GaWVsZEVycHgpW107XG4gICAgLyoqIENhbXBvcyBxdWUgc2Vyw6NvIHNvbGljaXRhZG9zIG5hIGNvbnN1bHRhICovXG4gICAgcXVlcnlGaWVsZHM/OiBzdHJpbmdbXTtcbiAgICAvKiogQ2FtcG9zIGV4aWJpZG9zIG5vIGZpbHRybyBkYSBtb2RhbCBkZSBsaXN0YWdlbSAqL1xuICAgIHNlYXJjaEZpZWxkcz86IChGb3JtRmllbGQgfCBFcnBMb29rdXBzRm9ybUZpZWxkKVtdO1xuICAgIC8qKiBDYW1wb3MgZXhpYmlkb3MgbmEgZ3JpZCBkYSBtb2RhbCBkZSBsaXN0YWdlbSAqL1xuICAgIHNlYXJjaEdyaWRGaWVsZHM/OiAoRm9ybUZpZWxkIHwgRm9ybUZpZWxkRXJweClbXTtcbiAgICAvKiogRGVmaW5lIHNlIG8gbG9va3VwIHBlcm1pdGlyw6EgbXVsdGkgc2VsZcOnw6NvICovXG4gICAgbXVsdGlwbGU/OiBib29sZWFuO1xuICAgIC8qKiBFbnRpZGFkZXMgZGUgcXVlIGRlcGVuZGUgKi9cbiAgICBlbnRpdHlEZXBlbmRlbmN5PzogRW50aXR5RGVwZW5kZW5jeVtdO1xuICAgIC8qKiBQcmVmaXhvIHV0aWxpemFkbyBwYXJhIG1vbnRhciBvcyBsYWJlbHMgKHBvciBwYWRyw6NvIHV0aWxpemEgZG9tw61uaW8gZSBzZXJ2acOnbykgKi9cbiAgICBwcmVmaXg/OiBzdHJpbmc7XG4gICAgLyoqIFN1Zml4byB1dGlsaXphZG8gcGFyYSBtb250YXIgb3MgbGFiZWxzIChwb3IgcGFkcsOjbyDDqSB2YXppbykgKi9cbiAgICBzdWZmaXg/OiBzdHJpbmc7XG4gICAgLyoqIERvbcOtbmlvICovXG4gICAgZG9tYWluPzogc3RyaW5nO1xuICAgIC8qKiBTZXJ2acOnbyAqL1xuICAgIHNlcnZpY2U/OiBzdHJpbmc7XG4gICAgLyoqIERhdGEga2V5ICovXG4gICAgZGF0YUtleT86IHN0cmluZztcbiAgICAvKiogQ2FtcG9zIHBhcmEgb3JkZW5hw6fDo28gZG8gbG9va3VwIChhdXRvY29tcGxldGUpKi9cbiAgICBsb29rdXBTb3J0PzogU29ydE9wdGlvbnNbXTtcbiAgICAvKiogQ2FtcG9zIHBhcmEgYSBvcmRlbmHDp8OjbyBhbyBhYnJpciBhIG1vZGFsIGRlIGxpc3RhZ2VtICovXG4gICAgc2VhcmNoU29ydD86IFNvcnRPcHRpb25zW107XG59XG5cbmV4cG9ydCB0eXBlIEN1c3RvbUZpbHRlckZ1bmN0aW9uPFQgPSB1bmtub3duPiA9IChvcHRpb25zOiB7XG4gIHZhbHVlOiBUO1xuICBmaWx0ZXJEYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn0pID0+IHN0cmluZztcblxuZXhwb3J0IHR5cGUgQ3VzdG9tRmlsdGVyPFQgPSB1bmtub3duPiA9IHtcbiAgICBvcGVyYXRvcjogRW51bUxvZ2ljYWxPcGVyYXRvcjtcbiAgICB2YWx1ZTogc3RyaW5nIHwgQ3VzdG9tRmlsdGVyRnVuY3Rpb248VD47XG59O1xuXG5leHBvcnQgY2xhc3MgRXJwTG9va3Vwc0Zvcm1GaWVsZDxUID0gdW5rbm93bj4gZXh0ZW5kcyBGb3JtRmllbGQge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZXJwTG9va3Vwc0Zvcm1GaWVsZD86IHtcbiAgICAgICAgICAgIGN1c3RvbUZpbHRlcnM/OiBDdXN0b21GaWx0ZXI8VD5bXTtcbiAgICAgICAgfSxcbiAgICAgICAgLi4uYXJnczogQ29uc3RydWN0b3JQYXJhbWV0ZXJzPHR5cGVvZiBGb3JtRmllbGQ+XG4gICAgKSB7XG4gICAgICAgIHN1cGVyKC4uLmFyZ3MpO1xuICAgIH1cbn1cblxuQEluamVjdGFibGUoKVxu4oCLXG4vKipcbiAqIEVycCBMb29rdXBzXG4gKiBAY2xhc3MgRXJwTG9va3Vwc1xuKi9cbmV4cG9ydCBjbGFzcyBFcnBMb29rdXBzIHtcbiAgICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpO1xuICAgIC8qKlxuICAgICAqIENyaWHDp8OjbyBkZSB1bSBsb29rdXAuXG4gICAgICogQHBhcmFtIGVudGl0eSBOb21lIGRhIGVudGlkYWRlLlxuICAgICAqIEBwYXJhbSBsb29rdXBGaWVsZHMgQ2FtcG9zIGV4aWJpZG9zIG5vIGF1dG9jb21wbGV0ZS5cbiAgICAgKiBAcGFyYW0gc2VhcmNoRmllbGRzIENhbXBvcyBleGliaWRvcyBubyBmaWx0cm8gZGVudHJvIGRhIG1vZGFsLlxuICAgICAqIEBwYXJhbSBzZWFyY2hHcmlkRmllbGRzIENhbXBvcyBleGliaWRvcyBuYSB0YWJlbGEgZGVudHJvIGRhIG1vZGFsLlxuICAgICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBsb29rdXBTZXJ2aWNlOiBFcnBMb29rdXBzU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIGVudGl0eTogc3RyaW5nLFxuICAgICAgICBwcm90ZWN0ZWQgbG9va3VwRmllbGRzOiBGb3JtRmllbGRbXSxcbiAgICAgICAgcHVibGljIHNlYXJjaEZpZWxkczogKEZvcm1GaWVsZCB8IEVycExvb2t1cHNGb3JtRmllbGQpW10sXG4gICAgICAgIHB1YmxpYyBzZWFyY2hHcmlkRmllbGRzOiBGb3JtRmllbGRbXSxcbiAgICAgICAgcHJvdGVjdGVkIGRvbWFpbjogc3RyaW5nLFxuICAgICAgICBwcm90ZWN0ZWQgc2VydmljZTogc3RyaW5nLFxuICAgICkge1xuICAgICAgICB0aGlzLmVudGl0eSA9IGVudGl0eTtcbiAgICAgICAgdGhpcy5kb21haW4gPSBkb21haW47XG4gICAgICAgIHRoaXMuc2VydmljZSA9IHNlcnZpY2U7XG4gICAgICAgIHRoaXMubG9va3VwRmllbGRzID0gbG9va3VwRmllbGRzIHx8IFtdO1xuICAgICAgICB0aGlzLnNlYXJjaEZpZWxkcyA9IHNlYXJjaEZpZWxkcyB8fCBbXTtcbiAgICAgICAgdGhpcy5zZWFyY2hHcmlkRmllbGRzID0gc2VhcmNoR3JpZEZpZWxkcyB8fCBbXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbG9va3VwU3VnZ2VzdGlvbnNPYnNlcnZhYmxlID0gbmV3IFN1YmplY3QoKTtcbiAgICBwdWJsaWMgbG9va3VwU2VhcmNoT2JzZXJ2YWJsZSA9IG5ldyBTdWJqZWN0KCk7XG7igItcbiAgICBwdWJsaWMgdG9TbmFrZUNhc2UodmFsdWU6IHN0cmluZyA9IFwiXCIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdmFsdWUucmVwbGFjZSgvKD86XnxcXC4/KShbQS1aXSkvZywgZnVuY3Rpb24gKHgsIHkpIHtyZXR1cm4gXCJfXCIgKyB5LnRvTG93ZXJDYXNlKCk7IH0pLnJlcGxhY2UoL15fLywgXCJcIik7XG4gICAgfVxu4oCLXG4gICAgcHVibGljIG1vdW50Rm9ybUZpZWxkKGZpZWxkczogYW55LCBwcmVmaXg6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gZmllbGRzLm1hcCgoZmllbGQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgbGV0IHRyYW5zbGF0aW9uS2V5ID0gYCR7cHJlZml4fS5sb29rdXBfJHt0aGlzLnRvU25ha2VDYXNlKHRoaXMuZW50aXR5KX1fJHt0aGlzLnRvU25ha2VDYXNlKGZpZWxkLm5hbWUpfWA7XG4gICAgICAgICAgICBsZXQgbGFiZWwgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHRyYW5zbGF0aW9uS2V5KTtcbiAgICAgICAgICAgIGlmIChsYWJlbCA9PT0gdHJhbnNsYXRpb25LZXkpIHtcbiAgICAgICAgICAgICAgICAvLyBNYW50ZXIgY29tcGF0aWJpbGlkYWRlIGNvbSBvcyBsb29rdXBzIGF0dWFpcyBhdMOpIHRvZG9zIGFqdXN0YXJlbVxuICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZpZWxkLm5hbWUuc3BsaXQoJy4nKS5qb2luKCdfJyk7XG4gICAgICAgICAgICAgICAgdHJhbnNsYXRpb25LZXkgPSBgJHtwcmVmaXh9Lmxvb2t1cF8ke3RoaXMudG9TbmFrZUNhc2UodGhpcy5lbnRpdHkpfV8ke3RoaXMudG9TbmFrZUNhc2UoZmllbGROYW1lKX1gO1xuICAgICAgICAgICAgICAgIGxhYmVsID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCh0cmFuc2xhdGlvbktleSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChcImVycExvb2t1cHNGb3JtRmllbGRcIiBpbiBmaWVsZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRXJwTG9va3Vwc0Zvcm1GaWVsZChmaWVsZC5lcnBMb29rdXBzRm9ybUZpZWxkLCB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmZpZWxkLFxuICAgICAgICAgICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIG5ldyBGb3JtRmllbGQoe1xuICAgICAgICAgICAgICAgIC4uLmZpZWxkLFxuICAgICAgICAgICAgICAgIGxhYmVsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxu4oCLXG4gICAgcHVibGljIG1vdW50RGVmYXVsdEZpbHRlcihkZWZhdWx0RmlsdGVyOiBEZWZhdWx0RmlsdGVyW10gPSBbe2ZpZWxkOiBcImV4Y2x1aWRvXCIsIG9wZXJhdG9yOiBFbnVtTG9naWNhbE9wZXJhdG9yLkVxLCB2YWx1ZXM6IFtcImZhbHNlXCJdfV0pIHtcbiAgICAgICAgcmV0dXJuIGRlZmF1bHRGaWx0ZXIubWFwKGZpbHRlciA9PiB7XG4gICAgICAgICAgICByZXR1cm4gXCIoXCIgKyBmaWx0ZXIudmFsdWVzLm1hcCh2YWx1ZSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlci5vcGVyYXRvciA9PSBFbnVtTG9naWNhbE9wZXJhdG9yLkNvbnRhaW5zKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYGNvbnRhaW5pbmcobG93ZXIoJHtmaWx0ZXIuZmllbGR9KSwgbG93ZXIoJyR7dmFsdWV9JykpYDtcblxuICAgICAgICAgICAgICAgIGlmICgoZmlsdGVyLm9wZXJhdG9yID09IEVudW1Mb2dpY2FsT3BlcmF0b3IuSXNOb3QgfHwgZmlsdGVyLm9wZXJhdG9yID09IEVudW1Mb2dpY2FsT3BlcmF0b3IuSXMpICYmICF2YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke2ZpbHRlci5maWVsZH0gJHtmaWx0ZXIub3BlcmF0b3J9IG51bGxgO1xuICAgICAgICAgICAgICAgIHJldHVybiBgJHtmaWx0ZXIuZmllbGR9ICR7ZmlsdGVyLm9wZXJhdG9yfSAnJHt2YWx1ZX0nYDtcbiAgICAgICAgICAgIH0pLmpvaW4oXCIgb3IgXCIpICsgXCIpXCI7XG4gICAgICAgIH0pLmpvaW4oXCIgYW5kIFwiKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbW91bnREeW5hbWljRmlsdGVyKGR5bmFtaWNGaWx0ZXI6IER5bmFtaWNGaWx0ZXJbXSkge1xuICAgICAgICBpZiAoZHluYW1pY0ZpbHRlcikge1xuICAgICAgICAgICAgcmV0dXJuIGR5bmFtaWNGaWx0ZXIubWFwKGZpbHRlciA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IHZhbHVlcyA9IGZpbHRlci52YWx1ZSgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkID0gZmlsdGVyLmZpZWxkKCk7XG4gICAgICAgICAgICAgICAgY29uc3Qgb3BlcmF0b3IgPSBmaWx0ZXIub3BlcmF0b3I7XG5cbiAgICAgICAgICAgICAgICBpZiAoISh2YWx1ZXMgaW5zdGFuY2VvZiBBcnJheSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWVzID0gW3ZhbHVlc107XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiKFwiICsgdmFsdWVzLm1hcCgodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAob3BlcmF0b3IgPT0gRW51bUxvZ2ljYWxPcGVyYXRvci5Db250YWlucylcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgY29udGFpbmluZyhsb3dlcigke2ZpZWxkfSksIGxvd2VyKCcke3ZhbHVlfScpKWA7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKChvcGVyYXRvciA9PSBFbnVtTG9naWNhbE9wZXJhdG9yLklzTm90IHx8IG9wZXJhdG9yID09IEVudW1Mb2dpY2FsT3BlcmF0b3IuSXMpICYmICF2YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtmaWVsZH0gJHtvcGVyYXRvcn0gbnVsbGA7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke2ZpZWxkfSAke29wZXJhdG9yfSAnJHt2YWx1ZX0nYDtcbiAgICAgICAgICAgICAgICB9KS5qb2luKFwiIG9yIFwiKSArIFwiKVwiO1xuICAgICAgICAgICAgfSkuam9pbihcIiBhbmQgXCIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtb3VudEN1c3RvbUZpbHRlcih7XG4gICAgICAgIGVycExvb2t1cHNTZWFyY2hGaWVsZCxcbiAgICAgICAgZmlsdGVyRGF0YSxcbiAgICB9OiB7XG4gICAgICAgIGVycExvb2t1cHNTZWFyY2hGaWVsZDogRXJwTG9va3Vwc0Zvcm1GaWVsZDtcbiAgICAgICAgZmlsdGVyRGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgfSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHsgZXJwTG9va3Vwc0Zvcm1GaWVsZCwgbmFtZSB9ID0gZXJwTG9va3Vwc1NlYXJjaEZpZWxkO1xuXG4gICAgICAgIHJldHVybiBgKCR7ZXJwTG9va3Vwc0Zvcm1GaWVsZC5jdXN0b21GaWx0ZXJzXG4gICAgICAgICAgICAubWFwKCh7IG9wZXJhdG9yLCB2YWx1ZSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgdmFsdWUgPVxuICAgICAgICAgICAgICAgICAgICB0eXBlb2YgdmFsdWUgPT09IFwiZnVuY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgPyAodmFsdWUgYXMgQ3VzdG9tRmlsdGVyRnVuY3Rpb24pKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBmaWx0ZXJEYXRhW25hbWVdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyRGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIDogdmFsdWU7XG5cbiAgICAgICAgICAgICAgICBpZiAob3BlcmF0b3IgPT09IEVudW1Mb2dpY2FsT3BlcmF0b3IuQ29udGFpbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAoY29udGFpbmluZyhsb3dlcigke25hbWV9KSwgbG93ZXIoJyR7dmFsdWV9JykpKWA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKChvcGVyYXRvciA9PT0gRW51bUxvZ2ljYWxPcGVyYXRvci5Jc05vdCB8fCBvcGVyYXRvciA9PT0gRW51bUxvZ2ljYWxPcGVyYXRvci5JcykgJiYgIXZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgKCR7bmFtZX0gJHtvcGVyYXRvcn0gbnVsbClgO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBgKCR7bmFtZX0gJHtvcGVyYXRvcn0gJyR7dmFsdWV9JylgO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5qb2luKFwiIGFuZCBcIil9KWA7XG4gICAgfVxu4oCLXG4gICAgcHVibGljIG1vdW50RmlsdGVyUXVlcnkodmFsdWU6IHN0cmluZywgbG9va3VwRmllbGRzOiBGb3JtRmllbGRbXSwgZGVmYXVsdEZpbHRlcj86IERlZmF1bHRGaWx0ZXJbXSwgZHluYW1pY0ZpbHRlcj86IER5bmFtaWNGaWx0ZXJbXSkge1xuICAgICAgICBsZXQgZmlsdGVyUXVlcnk6IHN0cmluZztcbiAgICAgICAgaWYgKE51bWJlci5pc0ludGVnZXIoTnVtYmVyKHZhbHVlKSkpIHtcbiAgICAgICAgICAgIGZpbHRlclF1ZXJ5ID0gbG9va3VwRmllbGRzLm1hcCgoZmllbGQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChmaWVsZC50eXBlID09PSBGaWVsZFR5cGUuU3RyaW5nKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgKGNvbnRhaW5pbmcobG93ZXIoJHtmaWVsZC5uYW1lfSksIGxvd2VyKCcke3ZhbHVlfScpKSlgO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZmllbGQudHlwZSA9PT0gRmllbGRUeXBlLkludGVnZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2FuaXRpemVkVmFsdWUgPSB2YWx1ZS50b1N0cmluZygpLnJlcGxhY2UoL1xcRC9nLCBcIlwiKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFzYW5pdGl6ZWRWYWx1ZSkgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgKCR7ZmllbGQubmFtZX0gZXEgJyR7c2FuaXRpemVkVmFsdWV9JylgO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgKCR7ZmllbGQubmFtZX0gZXEgJyR7dmFsdWV9JylgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuZmlsdGVyKGZpbHRlciA9PiAhIWZpbHRlcilcbiAgICAgICAgICAgIC5qb2luKFwiIG9yIFwiKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZpbHRlclF1ZXJ5ID0gbG9va3VwRmllbGRzXG4gICAgICAgICAgICAgICAgLmZpbHRlcigoZmllbGQ6IGFueSkgPT4gZmllbGQudHlwZSA9PT0gRmllbGRUeXBlLlN0cmluZylcbiAgICAgICAgICAgICAgICAubWFwKChmaWVsZDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgKGNvbnRhaW5pbmcobG93ZXIoJHtmaWVsZC5uYW1lfSksIGxvd2VyKCcke3ZhbHVlLnJlcGxhY2UoL1xcXFwvZywgXCJcIikucmVwbGFjZSgvJy9nLCBcIlxcXFwnXCIpfScpKSlgO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmpvaW4oXCIgb3IgXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGVmYXVsdEZpbHRlclF1ZXJ5ID0gdGhpcy5tb3VudERlZmF1bHRGaWx0ZXIoZGVmYXVsdEZpbHRlcik7XG4gICAgICAgIGlmIChkZWZhdWx0RmlsdGVyUXVlcnkpXG4gICAgICAgICAgICBmaWx0ZXJRdWVyeSA9IGAoKCR7ZGVmYXVsdEZpbHRlclF1ZXJ5fSkgYW5kICgke2ZpbHRlclF1ZXJ5fSkpYDtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgZmlsdGVyUXVlcnkgPSBcIihcIiArIGZpbHRlclF1ZXJ5ICsgXCIpXCI7XG7igItcbiAgICAgICAgY29uc3QgZHluYW1pY0ZpbHRlclF1ZXJ5ID0gdGhpcy5tb3VudER5bmFtaWNGaWx0ZXIoZHluYW1pY0ZpbHRlcik7XG4gICAgICAgIGlmIChkeW5hbWljRmlsdGVyUXVlcnkpXG4gICAgICAgICAgICBmaWx0ZXJRdWVyeSA9IGAoKCR7ZHluYW1pY0ZpbHRlclF1ZXJ5fSkgYW5kICgke2ZpbHRlclF1ZXJ5fSkpYDtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgZmlsdGVyUXVlcnkgPSBcIihcIiArIGZpbHRlclF1ZXJ5ICsgXCIpXCI7XG5cbiAgICAgICAgcmV0dXJuIGZpbHRlclF1ZXJ5O1xuICAgIH1cbuKAi1xuICAgIHB1YmxpYyBtb3VudEVudW1GaWx0ZXIobmFtZTogc3RyaW5nLCB2YWx1ZTogYW55LCBtdWx0aXBsZTogYm9vbGVhbikge1xuICAgICAgICByZXR1cm4gbXVsdGlwbGUgPyBgKCR7dmFsdWUubWFwKChzZWxlY3RlZDogYW55KSA9PiBgJHtuYW1lfSBlcSAnJHtzZWxlY3RlZH0nYCkuam9pbihcIiBvciBcIil9KWAgOiBgKCR7bmFtZX0gZXEgJyR7dmFsdWV9JylgO1xuICAgIH1cbuKAi1xuICAgIC8qKiBNw6l0b2RvIHJlc3BvbnPDoXZlbCBwb3IgbW9udGFyIGFzIG9ww6fDtWVzIHBhZHLDtWVzIHBhcmEgbyBsb29rdXAgZG8gRHluYW1pYyBGb3JtICovXG4gICAgcHVibGljIG1vdW50T3B0aW9ucyhvcHRpb25zOiBMb29rdXBPcHRpb25zID0ge30pIHtcbiAgICAgICAgY29uc3QgcHJlZml4ID0gb3B0aW9ucy5wcmVmaXhcbiAgICAgICAgICAgID8gb3B0aW9ucy5wcmVmaXhcbiAgICAgICAgICAgIDogKG9wdGlvbnMuZG9tYWluICYmIG9wdGlvbnMuc2VydmljZSlcbiAgICAgICAgICAgICAgICA/IGAke29wdGlvbnMuZG9tYWlufS4ke29wdGlvbnMuc2VydmljZX1gXG4gICAgICAgICAgICAgICAgOiBgJHt0aGlzLmRvbWFpbn0uJHt0aGlzLnNlcnZpY2V9YDtcblxuICAgICAgICBjb25zdCBzdWZmaXggPSBvcHRpb25zLnN1ZmZpeCA/IGBfJHtvcHRpb25zLnN1ZmZpeH1gIDogXCJcIjtcblxuXG4gICAgICAgIG9wdGlvbnMubG9va3VwRmllbGRzID0gb3B0aW9ucy5sb29rdXBGaWVsZHMgJiYgb3B0aW9ucy5sb29rdXBGaWVsZHMubGVuZ3RoXG4gICAgICAgICAgICA/IG9wdGlvbnMubG9va3VwRmllbGRzXG4gICAgICAgICAgICA6IHRoaXMubG9va3VwRmllbGRzO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuYW1lOiBvcHRpb25zLmZvcm1Hcm91cCB8fCB0aGlzLmVudGl0eSxcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3ByZWZpeH0ubG9va3VwXyR7dGhpcy50b1NuYWtlQ2FzZShvcHRpb25zLmVudGl0eSkgfHwgdGhpcy50b1NuYWtlQ2FzZSh0aGlzLmVudGl0eSl9JHtzdWZmaXh9YCksXG4gICAgICAgICAgICBzZWFyY2hUaXRsZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHtwcmVmaXh9Lmxvb2t1cF8ke3RoaXMudG9TbmFrZUNhc2Uob3B0aW9ucy5lbnRpdHkpIHx8XG4gICAgICAgICAgICAgICAgdGhpcy50b1NuYWtlQ2FzZSh0aGlzLmVudGl0eSl9X3NlYXJjaF90aXRsZWApLFxuICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLkxvb2t1cCxcbiAgICAgICAgICAgIG11bHRpcGxlOiBvcHRpb25zLm11bHRpcGxlID09PSBmYWxzZSA/IGZhbHNlIDogdHJ1ZSxcbiAgICAgICAgICAgIGRhdGFLZXk6IG9wdGlvbnMuZGF0YUtleSB8fCBcImlkXCIsXG4gICAgICAgICAgICBsb29rdXBEaXNwbGF5RmllbGQ6IFwibGFiZWxcIixcbiAgICAgICAgICAgIHNlYXJjaEVtcHR5VGl0bGU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7cHJlZml4fS5ub3RoaW5nX2ZvdW5kYCksXG4gICAgICAgICAgICBmaWx0ZXJMYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHtwcmVmaXh9LmZpbHRlcmApLFxuICAgICAgICAgICAgY2xlYXJMYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHtwcmVmaXh9LmNsZWFyYCksXG4gICAgICAgICAgICBjYW5jZWxMYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHtwcmVmaXh9LmNhbmNlbGApLFxuICAgICAgICAgICAgc2VsZWN0TGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7cHJlZml4fS5zZWxlY3RgKSxcbiAgICAgICAgICAgIHNlYXJjaEZpZWxkczogb3B0aW9ucy5zZWFyY2hGaWVsZHMgPyB0aGlzLm1vdW50Rm9ybUZpZWxkKG9wdGlvbnMuc2VhcmNoRmllbGRzLCBwcmVmaXgpIDpcbiAgICAgICAgICAgICAgICB0aGlzLm1vdW50Rm9ybUZpZWxkKHRoaXMuc2VhcmNoRmllbGRzLCBwcmVmaXgpLFxuICAgICAgICAgICAgc2VhcmNoR3JpZEZpZWxkczogb3B0aW9ucy5zZWFyY2hHcmlkRmllbGRzID8gdGhpcy5tb3VudEZvcm1GaWVsZChvcHRpb25zLnNlYXJjaEdyaWRGaWVsZHMsIHByZWZpeCkgOlxuICAgICAgICAgICAgICAgIHRoaXMubW91bnRGb3JtRmllbGQodGhpcy5zZWFyY2hHcmlkRmllbGRzLCBwcmVmaXgpLFxuICAgICAgICAgICAgc3VnZ2VzdGlvbnNPYnNlcnZhYmxlOiB0aGlzLmxvb2t1cFN1Z2dlc3Rpb25zT2JzZXJ2YWJsZSxcbiAgICAgICAgICAgIHNlYXJjaE9ic2VydmFibGU6IHRoaXMubG9va3VwU2VhcmNoT2JzZXJ2YWJsZSxcbiAgICAgICAgICAgIG9uTG9va3VwUmVxdWVzdDogKHZhbHVlOiBzdHJpbmcpID0+IHRoaXMub25Mb29rdXBSZXF1ZXN0KHZhbHVlLCBwcmVmaXgsIG9wdGlvbnMpLFxuICAgICAgICAgICAgb25TZWFyY2hSZXF1ZXN0OiAoZXZlbnQ6IGFueSkgPT4gdGhpcy5vblNlYXJjaFJlcXVlc3QoZXZlbnQsIHByZWZpeCwgb3B0aW9ucylcbiAgICAgICAgfTtcbiAgICB9XG7igItcbiAgICBwdWJsaWMgZ2V0UHJvcChvYmo6IGFueSwgcGF0aDogYW55LCBwcmVmaXg6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gcGF0aC5zcGxpdChcIi5cIikucmVkdWNlKChyZXN1bHQ6IGFueSwgcHJvcDogYW55KSA9PiAocmVzdWx0W3Byb3BdID09PSB1bmRlZmluZWQgfHwgcmVzdWx0W3Byb3BdID09PSBudWxsXG4gICAgICAgICAgICA/IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7cHJlZml4fS5lbXB0eV9sYWJlbGApXG4gICAgICAgICAgICA6IHJlc3VsdFtwcm9wXSksIG9iaik7XG4gICAgfVxuXG4gICAgcHVibGljIGhhc1ZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmICF2YWx1ZS5sZW5ndGgpXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIHJldHVybiAhIXZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBtb3VudEVudGl0eUZpbHRlcihlbnRpdHk6IEVudGl0eURlcGVuZGVuY3ksIHZhbHVlOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gZW50aXR5LmZpZWxkXG4gICAgICAgICAgICA/IGAoJHtlbnRpdHkubmFtZX0uJHtlbnRpdHkuZmllbGR9IGVxICcke3ZhbHVlW2VudGl0eS5maWVsZF19JylgXG4gICAgICAgICAgICA6IGAoJHtlbnRpdHkubmFtZX0gZXEgJyR7dmFsdWVbZW50aXR5Lm5hbWVdfScpYDtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Mb29rdXBSZXF1ZXN0KHZhbHVlOiBzdHJpbmcsIHByZWZpeDogc3RyaW5nLCBvcHRpb25zPzogTG9va3VwT3B0aW9ucykge1xuICAgICAgICBjb25zdCBzb3J0ID0gb3B0aW9ucy5sb29rdXBTb3J0O1xuICAgICAgICBjb25zdCBsb29rdXBEaXNwbGF5RmllbGRzID0gb3B0aW9ucy5sb29rdXBGaWVsZHMubWFwKGZpZWxkID0+IGZpZWxkLm5hbWUpO1xuICAgICAgICBsZXQgZmlsdGVyUXVlcnkgPSB0aGlzLm1vdW50RmlsdGVyUXVlcnkodmFsdWUsIG9wdGlvbnMubG9va3VwRmllbGRzLCBvcHRpb25zLmRlZmF1bHRGaWx0ZXIsIG9wdGlvbnMuZHluYW1pY0ZpbHRlcik7XG5cbiAgICAgICAgbGV0IGRpc3BsYXlGaWVsZHMgPSBsb29rdXBEaXNwbGF5RmllbGRzLmNvbmNhdCggKG9wdGlvbnMuc2VhcmNoR3JpZEZpZWxkcyB8fCB0aGlzLnNlYXJjaEdyaWRGaWVsZHMpXG4gICAgICAgICAgICAubWFwKCh7IG5hbWUgfSkgPT4gbmFtZSkgfHwgW10pO1xuICAgICAgICBpZiAob3B0aW9ucy5xdWVyeUZpZWxkcylcbiAgICAgICAgICAgIGRpc3BsYXlGaWVsZHMgPSBkaXNwbGF5RmllbGRzLmNvbmNhdChvcHRpb25zLnF1ZXJ5RmllbGRzKTtcbiAgICAgICAgZGlzcGxheUZpZWxkcyA9IGRpc3BsYXlGaWVsZHMuZmlsdGVyKCh2LCBpKSA9PiBkaXNwbGF5RmllbGRzLmluZGV4T2YodikgPT09IGkpO1xuXG4gICAgICAgIGlmIChvcHRpb25zLmVudGl0eURlcGVuZGVuY3kpIHtcbiAgICAgICAgICAgIGNvbnN0IGVudGl0eUZpbHRlciA9IG9wdGlvbnMuZW50aXR5RGVwZW5kZW5jeS5tYXAoKGVudGl0eTogRW50aXR5RGVwZW5kZW5jeSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gZW50aXR5LnZhbHVlKCk7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmhhc1ZhbHVlKG5ld1ZhbHVlKSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkobmV3VmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgKCR7bmV3VmFsdWUubWFwKCh2YWw6IGFueSkgPT4gdGhpcy5tb3VudEVudGl0eUZpbHRlcihlbnRpdHksIHZhbCkpLmpvaW4oXCIgb3IgXCIpfSlgO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgKCR7dGhpcy5tb3VudEVudGl0eUZpbHRlcihlbnRpdHksIG5ld1ZhbHVlKX0pYDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KS5maWx0ZXIoZmlsdGVyID0+ICEhZmlsdGVyKS5qb2luIChcIiBhbmQgXCIpO1xuICAgICAgICAgICAgaWYgKGVudGl0eUZpbHRlcilcbiAgICAgICAgICAgICAgICBmaWx0ZXJRdWVyeSA/IGZpbHRlclF1ZXJ5ICs9IGAgYW5kICgke2VudGl0eUZpbHRlcn0pYCA6IGZpbHRlclF1ZXJ5ID0gZW50aXR5RmlsdGVyO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubG9va3VwU2VydmljZVxuICAgICAgICAgICAgLmxpc3Qoe1xuICAgICAgICAgICAgICAgIHNvcnQsXG4gICAgICAgICAgICAgICAgZmlsdGVyUXVlcnksXG4gICAgICAgICAgICAgICAgZGlzcGxheUZpZWxkc1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9wdGlvbnMuZW50aXR5IHx8IHRoaXMuZW50aXR5LFxuICAgICAgICAgICAgb3B0aW9ucy5kb21haW4gfHwgdGhpcy5kb21haW4sXG4gICAgICAgICAgICBvcHRpb25zLnNlcnZpY2UgfHwgdGhpcy5zZXJ2aWNlKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGxpc3Q6IGFueSkgPT5cbiAgICAgICAgICAgICAgICAgICAgbGlzdC5jb250ZW50cy5tYXAoKGl0ZW06IGFueSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy5nZXRJdGVtTGFiZWwoaXRlbSwgcHJlZml4LCBsb29rdXBEaXNwbGF5RmllbGRzKVxuICAgICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvb2t1cFN1Z2dlc3Rpb25zT2JzZXJ2YWJsZS5uZXh0KGRhdGEpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxu4oCLXG4gICAgcHVibGljIG9uU2VhcmNoUmVxdWVzdChldmVudDogYW55LCBwcmVmaXg6IHN0cmluZywgb3B0aW9ucz86IExvb2t1cE9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgeyBmaXJzdCwgcm93cywgbXVsdGlTb3J0TWV0YSwgZmlsdGVyRGF0YSB9ID0gZXZlbnQ7XG4gICAgICAgIGNvbnN0IHBhZ2UgPSBmaXJzdCAvIHJvd3M7XG4gICAgICAgIGNvbnN0IHNvcnQgPSBtdWx0aVNvcnRNZXRhID8gbXVsdGlTb3J0TWV0YSA6IG9wdGlvbnMuc2VhcmNoU29ydDtcbiAgICAgICAgY29uc3QgbG9va3VwRGlzcGxheUZpZWxkcyA9IG9wdGlvbnMubG9va3VwRmllbGRzLm1hcChmaWVsZCA9PiBmaWVsZC5uYW1lKTtcblxuICAgICAgICBsZXQgZmlsdGVyUXVlcnkgPSAob3B0aW9ucy5zZWFyY2hGaWVsZHMgfHwgdGhpcy5zZWFyY2hGaWVsZHMpXG4gICAgICAgICAgICAuZmlsdGVyKCh7IG5hbWUgfSkgPT4gZmlsdGVyRGF0YVtuYW1lXSAhPSB1bmRlZmluZWQgJiYgZmlsdGVyRGF0YVtuYW1lXSAhPSBcIlwiKVxuICAgICAgICAgICAgLm1hcCgoZm9ybUZpZWxkKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBuYW1lLCB0eXBlLCBtdWx0aXBsZSwgZXJwTG9va3Vwc0Zvcm1GaWVsZCB9ID0gZm9ybUZpZWxkIGFzIEVycExvb2t1cHNGb3JtRmllbGQ7XG5cbiAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGZpbHRlckRhdGFbbmFtZV07XG5cbiAgICAgICAgICAgICAgICBpZiAoZXJwTG9va3Vwc0Zvcm1GaWVsZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5tb3VudEN1c3RvbUZpbHRlcih7XG4gICAgICAgICAgICAgICAgICAgICAgICBlcnBMb29rdXBzU2VhcmNoRmllbGQ6IGZvcm1GaWVsZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlckRhdGEsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT0gXCJudW1iZXJcIilcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke25hbWV9IGVxICR7dmFsdWV9YDtcbiAgICAgICAgICAgICAgICBlbHNlIGlmICh0eXBlID09IEZpZWxkVHlwZS5EYXRlKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7bmFtZX0gZXEgJyR7bW9tZW50KHZhbHVlKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpfSdgO1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHR5cGUgPT0gRmllbGRUeXBlLlRpbWUpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtuYW1lfSBlcSAnJHttb21lbnQodmFsdWUpLmZvcm1hdChcIkhIOm1tOnNzXCIpfSdgO1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHR5cGUgPT0gRmllbGRUeXBlLkRhdGVUaW1lKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7bmFtZX0gZXEgJyR7bW9tZW50KHZhbHVlKS5mb3JtYXQoKX0nYDtcbiAgICAgICAgICAgICAgICBlbHNlIGlmICh0eXBlID09IEZpZWxkVHlwZS5FbnVtKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5tb3VudEVudW1GaWx0ZXIobmFtZSwgdmFsdWUsIG11bHRpcGxlKTtcbiAgICAgICAgICAgICAgICBlbHNlIGlmICh0eXBlID09IEZpZWxkVHlwZS5TdHJpbmcpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgKGNvbnRhaW5pbmcobG93ZXIoJHtuYW1lfSksIGxvd2VyKCcke3ZhbHVlfScpKSlgO1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHR5cGUgPT09IEZpZWxkVHlwZS5Mb29rdXApXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgKCR7bmFtZX0gZXEgJyR7dmFsdWUuaWR9JylgO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGAke25hbWV9IGVxICcke3ZhbHVlfSdgO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5qb2luKFwiIGFuZCBcIik7XG7igItcbiAgICAgICAgaWYgKG9wdGlvbnMuZW50aXR5RGVwZW5kZW5jeSkge1xuICAgICAgICAgICAgY29uc3QgZW50aXR5RmlsdGVyID0gb3B0aW9ucy5lbnRpdHlEZXBlbmRlbmN5Lm1hcCgoZW50aXR5OiBFbnRpdHlEZXBlbmRlbmN5KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBlbnRpdHkudmFsdWUoKTtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaGFzVmFsdWUodmFsdWUpKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgKCR7dmFsdWUubWFwKCh2YWw6IGFueSkgPT4gdGhpcy5tb3VudEVudGl0eUZpbHRlcihlbnRpdHksIHZhbCkpLmpvaW4oXCIgb3IgXCIpfSlgO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgKCR7dGhpcy5tb3VudEVudGl0eUZpbHRlcihlbnRpdHksIHZhbHVlKX0pYDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KS5maWx0ZXIoZmlsdGVyID0+ICEhZmlsdGVyKS5qb2luIChcIiBhbmQgXCIpO1xuICAgICAgICAgICAgaWYgKGVudGl0eUZpbHRlcilcbiAgICAgICAgICAgICAgICBmaWx0ZXJRdWVyeSA/IGZpbHRlclF1ZXJ5ICs9IGAgYW5kICgke2VudGl0eUZpbHRlcn0pYCA6IGZpbHRlclF1ZXJ5ID0gZW50aXR5RmlsdGVyO1xuICAgICAgICB9XG7igItcbiAgICAgICAgY29uc3QgZGVmYXVsdEZpbHRlclF1ZXJ5ID0gdGhpcy5tb3VudERlZmF1bHRGaWx0ZXIob3B0aW9ucy5kZWZhdWx0RmlsdGVyKTtcblxuICAgICAgICBpZiAoZGVmYXVsdEZpbHRlclF1ZXJ5KVxuICAgICAgICAgICAgZmlsdGVyUXVlcnkgPyBmaWx0ZXJRdWVyeSArPSBgIGFuZCAoJHtkZWZhdWx0RmlsdGVyUXVlcnl9KWAgOiBmaWx0ZXJRdWVyeSA9IGAoJHtkZWZhdWx0RmlsdGVyUXVlcnl9KWA7XG5cbiAgICAgICAgY29uc3QgZHluYW1pY0ZpbHRlclF1ZXJ5ID0gdGhpcy5tb3VudER5bmFtaWNGaWx0ZXIob3B0aW9ucy5keW5hbWljRmlsdGVyKTtcblxuICAgICAgICBpZiAoZHluYW1pY0ZpbHRlclF1ZXJ5KVxuICAgICAgICAgICAgZmlsdGVyUXVlcnkgPyBmaWx0ZXJRdWVyeSArPSBgIGFuZCAoJHtkeW5hbWljRmlsdGVyUXVlcnl9KWAgOiBmaWx0ZXJRdWVyeSA9IGAoJHtkeW5hbWljRmlsdGVyUXVlcnl9KWA7XG5cbiAgICAgICAgbGV0IGRpc3BsYXlGaWVsZHMgPSBsb29rdXBEaXNwbGF5RmllbGRzLmNvbmNhdCgob3B0aW9ucy5zZWFyY2hHcmlkRmllbGRzIHx8IHRoaXMuc2VhcmNoR3JpZEZpZWxkcylcbiAgICAgICAgICAgICAgICAuY29uY2F0KG9wdGlvbnMuc2VhcmNoR3JpZEZpZWxkcyB8fCBbXSlcbiAgICAgICAgICAgICAgICAubWFwKCh7IG5hbWUgfSkgPT4gbmFtZSkgfHwgW10pO1xuXG4gICAgICAgIGlmIChvcHRpb25zLnF1ZXJ5RmllbGRzKVxuICAgICAgICAgICAgZGlzcGxheUZpZWxkcyA9IGRpc3BsYXlGaWVsZHMuY29uY2F0KG9wdGlvbnMucXVlcnlGaWVsZHMpO1xuXG4gICAgICAgIGRpc3BsYXlGaWVsZHMgPSBkaXNwbGF5RmllbGRzLmZpbHRlcigodiwgaSkgPT4gZGlzcGxheUZpZWxkcy5pbmRleE9mKHYpID09PSBpKTtcblxuICAgICAgICB0aGlzLmxvb2t1cFNlcnZpY2VcbiAgICAgICAgICAgIC5saXN0KHsgcGFnZSwgc29ydCwgZmlsdGVyUXVlcnksIGRpc3BsYXlGaWVsZHMgfSwgb3B0aW9ucy5lbnRpdHkgfHwgdGhpcy5lbnRpdHksIG9wdGlvbnMuZG9tYWluIHx8IHRoaXMuZG9tYWluLCBvcHRpb25zLnNlcnZpY2UgfHwgdGhpcy5zZXJ2aWNlKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgobGlzdDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gQ3JpYXIgdW0gbWFwYSBkZSBjYW1wb3MgY29tIG1heExlbmd0aCBkZWZpbmlkb1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkc1dpdGhNYXhMZW5ndGggPSBuZXcgTWFwPHN0cmluZywgbnVtYmVyPigpO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIFsuLi4ob3B0aW9ucy5zZWFyY2hGaWVsZHMgfHwgdGhpcy5zZWFyY2hGaWVsZHMpLCAuLi4ob3B0aW9ucy5zZWFyY2hHcmlkRmllbGRzIHx8IHRoaXMuc2VhcmNoR3JpZEZpZWxkcyldXG4gICAgICAgICAgICAgICAgLmZvckVhY2goKGZpZWxkOiBGb3JtRmllbGRFcnB4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmaWVsZC5tYXhMZW5ndGggJiYgXG4gICAgICAgICAgICAgICAgICAgIChmaWVsZC50eXBlID09PSBGaWVsZFR5cGUuU3RyaW5nIHx8IGZpZWxkLnR5cGUgPT09IEZpZWxkVHlwZS5UZXh0KSkge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZHNXaXRoTWF4TGVuZ3RoLnNldChmaWVsZC5uYW1lLCBmaWVsZC5tYXhMZW5ndGgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBncmlkRGF0YTogbGlzdC5jb250ZW50cy5tYXAoKGl0ZW06IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwcm9jZXNzZWRJdGVtID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShpdGVtKSk7XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAvLyBBcGxpY2FyIG1heExlbmd0aCBub3MgY2FtcG9zIHF1ZSBwb3NzdWVtIGEgY29uZmlndXJhw6fDo29cbiAgICAgICAgICAgICAgICAgICAgZmllbGRzV2l0aE1heExlbmd0aC5mb3JFYWNoKChtYXhMZW5ndGgsIGZpZWxkTmFtZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmllbGRWYWx1ZSA9IHRoaXMuZ2V0TmVzdGVkVmFsdWUocHJvY2Vzc2VkSXRlbSwgZmllbGROYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaWVsZFZhbHVlICYmIHR5cGVvZiBmaWVsZFZhbHVlID09PSAnc3RyaW5nJyAmJiBmaWVsZFZhbHVlLmxlbmd0aCA+IG1heExlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0TmVzdGVkVmFsdWUocHJvY2Vzc2VkSXRlbSwgZmllbGROYW1lLCBmaWVsZFZhbHVlLnN1YnN0cmluZygwLCBtYXhMZW5ndGgpICsgJy4uLicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLnByb2Nlc3NlZEl0ZW0sXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmdldEl0ZW1MYWJlbChwcm9jZXNzZWRJdGVtLCBwcmVmaXgsIGxvb2t1cERpc3BsYXlGaWVsZHMpXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgdG90YWxSZWNvcmRzOiBsaXN0LnRvdGFsRWxlbWVudHNcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5sb29rdXBTZWFyY2hPYnNlcnZhYmxlLm5leHQoZGF0YSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXRJdGVtTGFiZWwoaXRlbTogYW55LCBwcmVmaXg6IHN0cmluZywgbG9va3VwRGlzcGxheUZpZWxkczogc3RyaW5nW10pIHtcbiAgICAgICAgcmV0dXJuIGxvb2t1cERpc3BsYXlGaWVsZHNcbiAgICAgICAgICAgIC5tYXAoKGZpZWxkOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZmllbGQuaW5kZXhPZihcIi5cIikgPiAwKSByZXR1cm4gdGhpcy5nZXRQcm9wKGl0ZW0sIGZpZWxkLCBwcmVmaXgpO1xuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtW2ZpZWxkXSAhPT0gdW5kZWZpbmVkICYmIGl0ZW1bZmllbGRdICE9PSBudWxsXG4gICAgICAgICAgICAgICAgICAgID8gaXRlbVtmaWVsZF1cbiAgICAgICAgICAgICAgICAgICAgOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3ByZWZpeH0uZW1wdHlfbGFiZWxgKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuam9pbihcIiAtIFwiKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE5lc3RlZFZhbHVlKG9iajogYW55LCBwYXRoOiBzdHJpbmcpOiBhbnkge1xuICAgICAgICByZXR1cm4gcGF0aC5zcGxpdChcIi5cIikucmVkdWNlKChjdXJyZW50LCBrZXkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBjdXJyZW50ICYmIGN1cnJlbnRba2V5XSAhPT0gdW5kZWZpbmVkID8gY3VycmVudFtrZXldIDogdW5kZWZpbmVkO1xuICAgICAgICB9LCBvYmopO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0TmVzdGVkVmFsdWUob2JqOiBhbnksIHBhdGg6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBrZXlzID0gcGF0aC5zcGxpdChcIi5cIik7XG4gICAgICAgIGNvbnN0IGxhc3RLZXkgPSBrZXlzLnBvcCgpO1xuICAgICAgICBjb25zdCB0YXJnZXQgPSBrZXlzLnJlZHVjZSgoY3VycmVudCwga2V5KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gY3VycmVudCAmJiBjdXJyZW50W2tleV0gIT09IHVuZGVmaW5lZCA/IGN1cnJlbnRba2V5XSA6IHVuZGVmaW5lZDtcbiAgICAgICAgfSwgb2JqKTtcbiAgICAgICAgaWYgKHRhcmdldCAmJiBsYXN0S2V5KSB7XG4gICAgICAgICAgICB0YXJnZXRbbGFzdEtleV0gPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|