@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
|
@@ -0,0 +1,492 @@
|
|
|
1
|
+
import moment from 'moment';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import { map, takeUntil } from 'rxjs/operators';
|
|
4
|
+
/** Filter System Query Option - Operators supported in the expression language */
|
|
5
|
+
export var EnumLogicalOperator;
|
|
6
|
+
(function (EnumLogicalOperator) {
|
|
7
|
+
/** Equal (Ex: /Suppliers?$filter=Address/City eq 'Redmond') */
|
|
8
|
+
EnumLogicalOperator["Eq"] = "eq";
|
|
9
|
+
/** Not equal (Ex: /Suppliers?$filter=Address/City ne 'London') */
|
|
10
|
+
EnumLogicalOperator["Ne"] = "ne";
|
|
11
|
+
/** Greater than (Ex: /Products?$filter=Price gt 20) */
|
|
12
|
+
EnumLogicalOperator["Gt"] = "gt";
|
|
13
|
+
/** Greater than or equal (Ex: /Products?$filter=Price ge 10) */
|
|
14
|
+
EnumLogicalOperator["Ge"] = "ge";
|
|
15
|
+
/** Less than (Ex: /Products?$filter=Price lt 20)*/
|
|
16
|
+
EnumLogicalOperator["Lt"] = "lt";
|
|
17
|
+
/** Less than or equal (Ex: /Products?$filter=Price le 100)*/
|
|
18
|
+
EnumLogicalOperator["Le"] = "le";
|
|
19
|
+
/** Logical and (Ex: /Products?$filter=Price le 200 and Price gt 3.5)*/
|
|
20
|
+
EnumLogicalOperator["And"] = "and";
|
|
21
|
+
/** Logical or (Ex: /Products?$filter=Price le 3.5 or Price gt 200)*/
|
|
22
|
+
EnumLogicalOperator["Or"] = "or";
|
|
23
|
+
/** Logical negation (Ex: /Products?$filter=not endswith(Description,'milk'))*/
|
|
24
|
+
EnumLogicalOperator["Not"] = "not";
|
|
25
|
+
/** Logical is (Ex: /Products?$filter=id is null */
|
|
26
|
+
EnumLogicalOperator["Is"] = "is";
|
|
27
|
+
/** Negation of logical is (Ex: /Products?$filter=id is not null */
|
|
28
|
+
EnumLogicalOperator["IsNot"] = "is not";
|
|
29
|
+
/** Contains string value (Ex: /Products?$filter=containing(lower(name), lower('my name'))) */
|
|
30
|
+
EnumLogicalOperator["Contains"] = "containing";
|
|
31
|
+
})(EnumLogicalOperator || (EnumLogicalOperator = {}));
|
|
32
|
+
export class ErpLookupsFormField {
|
|
33
|
+
constructor(erpLookupsFormField, fieldConfig = {}) {
|
|
34
|
+
this.erpLookupsFormField = erpLookupsFormField;
|
|
35
|
+
Object.assign(this, fieldConfig);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
// TODO: strict-review: @Injectable removido — esta classe não pode ser injetada via DI do Angular.
|
|
39
|
+
// Os parâmetros do constructor não são tipos injetáveis (primitivos ou sem ?prov). Instanciar com `new`.
|
|
40
|
+
/**
|
|
41
|
+
* Erp Lookups
|
|
42
|
+
* @class ErpLookups
|
|
43
|
+
*/
|
|
44
|
+
export class ErpLookups {
|
|
45
|
+
/**
|
|
46
|
+
* Criação de um lookup.
|
|
47
|
+
* @param entity Nome da entidade.
|
|
48
|
+
* @param lookupFields Campos exibidos no autocomplete.
|
|
49
|
+
* @param searchFields Campos exibidos no filtro dentro da modal.
|
|
50
|
+
* @param searchGridFields Campos exibidos na tabela dentro da modal.
|
|
51
|
+
*/
|
|
52
|
+
constructor(lookupService, translate, entity, lookupFields, searchFields, searchGridFields, domain, service) {
|
|
53
|
+
this.lookupService = lookupService;
|
|
54
|
+
this.translate = translate;
|
|
55
|
+
this.entity = entity;
|
|
56
|
+
this.lookupFields = lookupFields;
|
|
57
|
+
this.searchFields = searchFields;
|
|
58
|
+
this.searchGridFields = searchGridFields;
|
|
59
|
+
this.domain = domain;
|
|
60
|
+
this.service = service;
|
|
61
|
+
this.lookupSuggestionsObservable = new Subject();
|
|
62
|
+
this.lookupSearchObservable = new Subject();
|
|
63
|
+
this.ngUnsubscribe = new Subject();
|
|
64
|
+
this.entity = entity;
|
|
65
|
+
this.domain = domain;
|
|
66
|
+
this.service = service;
|
|
67
|
+
this.lookupFields = lookupFields ?? [];
|
|
68
|
+
this.searchFields = searchFields ?? [];
|
|
69
|
+
this.searchGridFields = searchGridFields ?? [];
|
|
70
|
+
}
|
|
71
|
+
toSnakeCase(value = '') {
|
|
72
|
+
return value
|
|
73
|
+
.replace(/(?:^|\.?)([A-Z])/g, function (_x, y) {
|
|
74
|
+
return '_' + y.toLowerCase();
|
|
75
|
+
})
|
|
76
|
+
.replace(/^_/, '');
|
|
77
|
+
}
|
|
78
|
+
mountFormField(fields, prefix) {
|
|
79
|
+
return fields.map((field) => {
|
|
80
|
+
let translationKey = `${prefix}.lookup_${this.toSnakeCase(this.entity)}_${this.toSnakeCase(field.name)}`;
|
|
81
|
+
let label = this.translate.instant(translationKey);
|
|
82
|
+
if (label === translationKey) {
|
|
83
|
+
// Manter compatibilidade com os lookups atuais até todos ajustarem
|
|
84
|
+
const fieldName = field.name.split('.').join('_');
|
|
85
|
+
translationKey = `${prefix}.lookup_${this.toSnakeCase(this.entity)}_${this.toSnakeCase(fieldName)}`;
|
|
86
|
+
label = this.translate.instant(translationKey);
|
|
87
|
+
}
|
|
88
|
+
return {
|
|
89
|
+
...field,
|
|
90
|
+
label,
|
|
91
|
+
};
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
mountDefaultFilter(defaultFilter = [
|
|
95
|
+
{
|
|
96
|
+
field: 'excluido',
|
|
97
|
+
operator: EnumLogicalOperator.Eq,
|
|
98
|
+
values: ['false'],
|
|
99
|
+
},
|
|
100
|
+
]) {
|
|
101
|
+
return defaultFilter
|
|
102
|
+
.map((filter) => {
|
|
103
|
+
return ('(' +
|
|
104
|
+
filter.values
|
|
105
|
+
.map((value) => {
|
|
106
|
+
if (filter.operator === EnumLogicalOperator.Contains) {
|
|
107
|
+
return `containing(lower(${filter.field}), lower('${value}'))`;
|
|
108
|
+
}
|
|
109
|
+
if ((filter.operator ===
|
|
110
|
+
EnumLogicalOperator.IsNot ||
|
|
111
|
+
filter.operator ===
|
|
112
|
+
EnumLogicalOperator.Is) &&
|
|
113
|
+
!value) {
|
|
114
|
+
return `${filter.field} ${filter.operator} null`;
|
|
115
|
+
}
|
|
116
|
+
return `${filter.field} ${filter.operator} '${value}'`;
|
|
117
|
+
})
|
|
118
|
+
.join(' or ') +
|
|
119
|
+
')');
|
|
120
|
+
})
|
|
121
|
+
.join(' and ');
|
|
122
|
+
}
|
|
123
|
+
mountDynamicFilter(dynamicFilter) {
|
|
124
|
+
if (!dynamicFilter) {
|
|
125
|
+
return undefined;
|
|
126
|
+
}
|
|
127
|
+
return dynamicFilter
|
|
128
|
+
.map((filter) => {
|
|
129
|
+
let values = filter.value();
|
|
130
|
+
const field = filter.field();
|
|
131
|
+
const operator = filter.operator;
|
|
132
|
+
if (!(values instanceof Array)) {
|
|
133
|
+
values = [values];
|
|
134
|
+
}
|
|
135
|
+
return ('(' +
|
|
136
|
+
values
|
|
137
|
+
.map((value) => {
|
|
138
|
+
if (operator === EnumLogicalOperator.Contains) {
|
|
139
|
+
return `containing(lower(${field}), lower('${String(value)}'))`;
|
|
140
|
+
}
|
|
141
|
+
if ((operator === EnumLogicalOperator.IsNot ||
|
|
142
|
+
operator === EnumLogicalOperator.Is) &&
|
|
143
|
+
!value) {
|
|
144
|
+
return `${field} ${operator} null`;
|
|
145
|
+
}
|
|
146
|
+
return `${field} ${operator} '${String(value)}'`;
|
|
147
|
+
})
|
|
148
|
+
.join(' or ') +
|
|
149
|
+
')');
|
|
150
|
+
})
|
|
151
|
+
.join(' and ');
|
|
152
|
+
}
|
|
153
|
+
mountFilterQuery(value, lookupFields, defaultFilter, dynamicFilter) {
|
|
154
|
+
let filterQuery;
|
|
155
|
+
if (Number.isInteger(Number(value))) {
|
|
156
|
+
filterQuery = lookupFields
|
|
157
|
+
.map((field) => {
|
|
158
|
+
if (field.type === 'string') {
|
|
159
|
+
return `(containing(lower(${field.name}), lower('${value}')))`;
|
|
160
|
+
}
|
|
161
|
+
if (field.type === 'integer') {
|
|
162
|
+
const sanitizedValue = value
|
|
163
|
+
.toString()
|
|
164
|
+
.replace(/\D/g, '');
|
|
165
|
+
if (!sanitizedValue) {
|
|
166
|
+
return null;
|
|
167
|
+
}
|
|
168
|
+
return `(${field.name} eq '${sanitizedValue}')`;
|
|
169
|
+
}
|
|
170
|
+
return `(${field.name} eq '${value}')`;
|
|
171
|
+
})
|
|
172
|
+
.filter((filter) => !!filter)
|
|
173
|
+
.join(' or ');
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
filterQuery = lookupFields
|
|
177
|
+
.filter((field) => field.type === 'string')
|
|
178
|
+
.map((field) => {
|
|
179
|
+
return `(containing(lower(${field.name}), lower('${value.replace(/\\/g, '').replace(/'/g, "\\'")}')))`;
|
|
180
|
+
})
|
|
181
|
+
.join(' or ');
|
|
182
|
+
}
|
|
183
|
+
const defaultFilterQuery = this.mountDefaultFilter(defaultFilter);
|
|
184
|
+
if (defaultFilterQuery) {
|
|
185
|
+
filterQuery = `((${defaultFilterQuery}) and (${filterQuery}))`;
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
filterQuery = '(' + filterQuery + ')';
|
|
189
|
+
}
|
|
190
|
+
const dynamicFilterQuery = this.mountDynamicFilter(dynamicFilter);
|
|
191
|
+
if (dynamicFilterQuery) {
|
|
192
|
+
filterQuery = `((${dynamicFilterQuery}) and (${filterQuery}))`;
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
filterQuery = '(' + filterQuery + ')';
|
|
196
|
+
}
|
|
197
|
+
return filterQuery;
|
|
198
|
+
}
|
|
199
|
+
mountEnumFilter(name, value, multiple) {
|
|
200
|
+
return multiple
|
|
201
|
+
? `(${value.map((selected) => `${name} eq '${selected}'`).join(' or ')})`
|
|
202
|
+
: `(${name} eq '${value}')`;
|
|
203
|
+
}
|
|
204
|
+
/** Método responsável por montar as opções padrões para o lookup do Dynamic Form */
|
|
205
|
+
mountOptions(options) {
|
|
206
|
+
const prefix = options?.prefix
|
|
207
|
+
? options.prefix
|
|
208
|
+
: options?.domain && options?.service
|
|
209
|
+
? `${options.domain}.${options.service}`
|
|
210
|
+
: `${this.domain}.${this.service}`;
|
|
211
|
+
const suffix = options?.suffix ? `_${options.suffix}` : '';
|
|
212
|
+
options = {
|
|
213
|
+
...options,
|
|
214
|
+
lookupFields: options?.lookupFields
|
|
215
|
+
? options.lookupFields
|
|
216
|
+
: this.lookupFields,
|
|
217
|
+
};
|
|
218
|
+
return {
|
|
219
|
+
name: options?.formGroup ?? this.entity,
|
|
220
|
+
label: this.translate.instant(`${prefix}.lookup_${this.toSnakeCase(options?.entity) || this.toSnakeCase(this.entity)}${suffix}`),
|
|
221
|
+
searchTitle: this.translate.instant(`${prefix}.lookup_${this.toSnakeCase(options?.entity) ||
|
|
222
|
+
this.toSnakeCase(this.entity)}_search_title`),
|
|
223
|
+
type: 'lookup',
|
|
224
|
+
multiple: options?.multiple !== false,
|
|
225
|
+
dataKey: options?.dataKey ?? 'id',
|
|
226
|
+
lookupDisplayField: 'label',
|
|
227
|
+
searchEmptyTitle: this.translate.instant(`${prefix}.nothing_found`),
|
|
228
|
+
filterLabel: this.translate.instant(`${prefix}.filter`),
|
|
229
|
+
clearLabel: this.translate.instant(`${prefix}.clear`),
|
|
230
|
+
cancelLabel: this.translate.instant(`${prefix}.cancel`),
|
|
231
|
+
selectLabel: this.translate.instant(`${prefix}.select`),
|
|
232
|
+
searchFields: this.mountFormField(options?.searchFields ?? this.searchFields, prefix),
|
|
233
|
+
searchGridFields: this.mountFormField(options?.searchGridFields ?? this.searchGridFields, prefix),
|
|
234
|
+
suggestionsObservable: this.lookupSuggestionsObservable.asObservable(),
|
|
235
|
+
searchObservable: this.lookupSearchObservable.asObservable(),
|
|
236
|
+
onLookupRequest: (value) => this.onLookupRequest(value, prefix, options),
|
|
237
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
238
|
+
onSearchRequest: (event) =>
|
|
239
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
240
|
+
this.onSearchRequest(event, prefix, options),
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
getProp(obj, path, prefix) {
|
|
244
|
+
return path
|
|
245
|
+
.split('.')
|
|
246
|
+
.reduce((result, prop) => result[prop] === undefined || result[prop] === null
|
|
247
|
+
? this.translate.instant(`${prefix}.empty_label`)
|
|
248
|
+
: result[prop], obj);
|
|
249
|
+
}
|
|
250
|
+
hasValue(value) {
|
|
251
|
+
if (Array.isArray(value) && !value.length) {
|
|
252
|
+
return false;
|
|
253
|
+
}
|
|
254
|
+
return !!value;
|
|
255
|
+
}
|
|
256
|
+
mountEntityFilter(entity, value) {
|
|
257
|
+
return entity.field
|
|
258
|
+
? `(${entity.name}.${entity.field} eq '${value[entity.field]}')`
|
|
259
|
+
: `(${entity.name} eq '${value[entity.name]}')`;
|
|
260
|
+
}
|
|
261
|
+
onLookupRequest(value, prefix, options) {
|
|
262
|
+
const lookupFields = options?.lookupFields ?? this.lookupFields;
|
|
263
|
+
const lookupDisplayFields = lookupFields.map((field) => field.name);
|
|
264
|
+
let filterQuery = this.mountFilterQuery(value, lookupFields, options?.defaultFilter, options?.dynamicFilter);
|
|
265
|
+
let displayFields = lookupDisplayFields.concat((options?.searchGridFields ?? this.searchGridFields).map(({ name }) => name));
|
|
266
|
+
if (options?.queryFields) {
|
|
267
|
+
displayFields = displayFields.concat(options.queryFields);
|
|
268
|
+
}
|
|
269
|
+
displayFields = displayFields.filter((v, i) => displayFields.indexOf(v) === i);
|
|
270
|
+
if (options?.entityDependency) {
|
|
271
|
+
const entityFilter = options.entityDependency
|
|
272
|
+
.map((entity) => {
|
|
273
|
+
const newValue = entity.value();
|
|
274
|
+
if (!this.hasValue(newValue)) {
|
|
275
|
+
return;
|
|
276
|
+
}
|
|
277
|
+
if (Array.isArray(newValue)) {
|
|
278
|
+
return `(${newValue.map((val) => this.mountEntityFilter(entity, val)).join(' or ')})`;
|
|
279
|
+
}
|
|
280
|
+
return `(${this.mountEntityFilter(entity, newValue)})`;
|
|
281
|
+
})
|
|
282
|
+
.filter((filter) => !!filter)
|
|
283
|
+
.join(' and ');
|
|
284
|
+
if (entityFilter) {
|
|
285
|
+
filterQuery
|
|
286
|
+
? (filterQuery += ` and (${entityFilter})`)
|
|
287
|
+
: (filterQuery = entityFilter);
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
this.lookupService
|
|
291
|
+
.list({
|
|
292
|
+
sort: options?.lookupSort,
|
|
293
|
+
filterQuery,
|
|
294
|
+
displayFields,
|
|
295
|
+
}, options?.entity ?? this.entity, options?.domain ?? this.domain, options?.service ?? this.service)
|
|
296
|
+
.pipe(takeUntil(this.ngUnsubscribe))
|
|
297
|
+
.pipe(map((list) => list.contents.map((item) => ({
|
|
298
|
+
...item,
|
|
299
|
+
label: this.getItemLabel(item, prefix, lookupDisplayFields),
|
|
300
|
+
}))))
|
|
301
|
+
.subscribe((data) => {
|
|
302
|
+
this.lookupSuggestionsObservable.next(data);
|
|
303
|
+
});
|
|
304
|
+
}
|
|
305
|
+
onSearchRequest(event, prefix, options = {}) {
|
|
306
|
+
const { first, rows, multiSortMeta, filterData } = event;
|
|
307
|
+
const page = first / rows;
|
|
308
|
+
const sort = multiSortMeta ?? options.searchSort;
|
|
309
|
+
const lookupFields = options.lookupFields ?? this.lookupFields;
|
|
310
|
+
const lookupDisplayFields = lookupFields.map((field) => field.name);
|
|
311
|
+
let filterQuery = (options.searchFields ?? this.searchFields)
|
|
312
|
+
.filter(({ name }) => filterData[name] !==
|
|
313
|
+
undefined &&
|
|
314
|
+
filterData[name] !== null &&
|
|
315
|
+
filterData[name] !== '')
|
|
316
|
+
.map((formField) => {
|
|
317
|
+
const { name, type, multiple, erpLookupsFormField } = formField;
|
|
318
|
+
const value = filterData[name];
|
|
319
|
+
if (erpLookupsFormField) {
|
|
320
|
+
return this.mountCustomFilter({
|
|
321
|
+
erpLookupsSearchField: formField,
|
|
322
|
+
filterData: filterData,
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
if (typeof value === 'number') {
|
|
326
|
+
return `${name} eq ${value}`;
|
|
327
|
+
}
|
|
328
|
+
if (type === 'date') {
|
|
329
|
+
return `${name} eq '${moment(value).format('YYYY-MM-DD')}'`;
|
|
330
|
+
}
|
|
331
|
+
if (type === 'time') {
|
|
332
|
+
return `${name} eq '${moment(value).format('HH:mm:ss')}'`;
|
|
333
|
+
}
|
|
334
|
+
if (type === 'dateTime') {
|
|
335
|
+
return `${name} eq '${moment(value).format()}'`;
|
|
336
|
+
}
|
|
337
|
+
if (type === 'enum') {
|
|
338
|
+
return this.mountEnumFilter(name, value, multiple);
|
|
339
|
+
}
|
|
340
|
+
if (type === 'string') {
|
|
341
|
+
return `(containing(lower(${name}), lower('${value}')))`;
|
|
342
|
+
}
|
|
343
|
+
if (type === 'lookup') {
|
|
344
|
+
return `(${name} eq '${value['id']}')`;
|
|
345
|
+
}
|
|
346
|
+
return `${name} eq '${value}'`;
|
|
347
|
+
})
|
|
348
|
+
.join(' and ');
|
|
349
|
+
if (options.entityDependency) {
|
|
350
|
+
const entityFilter = options.entityDependency
|
|
351
|
+
.map((entity) => {
|
|
352
|
+
const value = entity.value();
|
|
353
|
+
if (!this.hasValue(value)) {
|
|
354
|
+
return;
|
|
355
|
+
}
|
|
356
|
+
if (Array.isArray(value)) {
|
|
357
|
+
return `(${value.map((val) => this.mountEntityFilter(entity, val)).join(' or ')})`;
|
|
358
|
+
}
|
|
359
|
+
return `(${this.mountEntityFilter(entity, value)})`;
|
|
360
|
+
})
|
|
361
|
+
.filter((filter) => !!filter)
|
|
362
|
+
.join(' and ');
|
|
363
|
+
if (entityFilter) {
|
|
364
|
+
filterQuery
|
|
365
|
+
? (filterQuery += ` and (${entityFilter})`)
|
|
366
|
+
: (filterQuery = entityFilter);
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
const defaultFilterQuery = this.mountDefaultFilter(options.defaultFilter);
|
|
370
|
+
if (defaultFilterQuery) {
|
|
371
|
+
filterQuery
|
|
372
|
+
? (filterQuery += ` and (${defaultFilterQuery})`)
|
|
373
|
+
: (filterQuery = `(${defaultFilterQuery})`);
|
|
374
|
+
}
|
|
375
|
+
const dynamicFilterQuery = this.mountDynamicFilter(options.dynamicFilter);
|
|
376
|
+
if (dynamicFilterQuery) {
|
|
377
|
+
filterQuery
|
|
378
|
+
? (filterQuery += ` and (${dynamicFilterQuery})`)
|
|
379
|
+
: (filterQuery = `(${dynamicFilterQuery})`);
|
|
380
|
+
}
|
|
381
|
+
let displayFields = lookupDisplayFields.concat((options.searchGridFields ?? this.searchGridFields)
|
|
382
|
+
.concat(options.searchGridFields ?? [])
|
|
383
|
+
.map(({ name }) => name) ?? []);
|
|
384
|
+
if (options.queryFields) {
|
|
385
|
+
displayFields = displayFields.concat(options.queryFields);
|
|
386
|
+
}
|
|
387
|
+
displayFields = displayFields.filter((v, i) => displayFields.indexOf(v) === i);
|
|
388
|
+
this.lookupService
|
|
389
|
+
.list({ page, sort, filterQuery, displayFields }, options.entity ?? this.entity, options.domain ?? this.domain, options.service ?? this.service)
|
|
390
|
+
.pipe(takeUntil(this.ngUnsubscribe))
|
|
391
|
+
.pipe(map((list) => {
|
|
392
|
+
// Criar um mapa de campos com maxLength definido
|
|
393
|
+
const fieldsWithMaxLength = new Map();
|
|
394
|
+
[
|
|
395
|
+
...(options.searchFields ?? this.searchFields),
|
|
396
|
+
...(options.searchGridFields ?? this.searchGridFields),
|
|
397
|
+
].forEach((field) => {
|
|
398
|
+
const maxLength = 'maxLength' in field ? field.maxLength : undefined;
|
|
399
|
+
if (maxLength &&
|
|
400
|
+
(field.type === 'string' ||
|
|
401
|
+
field.type === 'textArea')) {
|
|
402
|
+
fieldsWithMaxLength.set(field.name, maxLength);
|
|
403
|
+
}
|
|
404
|
+
});
|
|
405
|
+
return {
|
|
406
|
+
gridData: list.contents.map((item) => {
|
|
407
|
+
const processedItem = JSON.parse(JSON.stringify(item));
|
|
408
|
+
// Aplicar maxLength nos campos que possuem a configuração
|
|
409
|
+
fieldsWithMaxLength.forEach((maxLength, fieldName) => {
|
|
410
|
+
const fieldValue = this.getNestedValue(processedItem, fieldName);
|
|
411
|
+
if (fieldValue &&
|
|
412
|
+
typeof fieldValue === 'string' &&
|
|
413
|
+
fieldValue.length > maxLength) {
|
|
414
|
+
this.setNestedValue(processedItem, fieldName, fieldValue.substring(0, maxLength) +
|
|
415
|
+
'...');
|
|
416
|
+
}
|
|
417
|
+
});
|
|
418
|
+
return {
|
|
419
|
+
...processedItem,
|
|
420
|
+
label: this.getItemLabel(processedItem, prefix, lookupDisplayFields),
|
|
421
|
+
};
|
|
422
|
+
}),
|
|
423
|
+
totalRecords: list.totalElements,
|
|
424
|
+
};
|
|
425
|
+
}))
|
|
426
|
+
.subscribe((data) => {
|
|
427
|
+
this.lookupSearchObservable.next(data);
|
|
428
|
+
});
|
|
429
|
+
}
|
|
430
|
+
getItemLabel(item, prefix, lookupDisplayFields) {
|
|
431
|
+
return lookupDisplayFields
|
|
432
|
+
.map((field) => {
|
|
433
|
+
if (field.indexOf('.') > 0) {
|
|
434
|
+
return this.getProp(item, field, prefix);
|
|
435
|
+
}
|
|
436
|
+
return (item[field] ??
|
|
437
|
+
this.translate.instant(`${prefix}.empty_label`));
|
|
438
|
+
})
|
|
439
|
+
.join(' - ');
|
|
440
|
+
}
|
|
441
|
+
mountCustomFilter({ erpLookupsSearchField, filterData, }) {
|
|
442
|
+
const { erpLookupsFormField, name } = erpLookupsSearchField;
|
|
443
|
+
return `(${(erpLookupsFormField?.customFilters ?? [])
|
|
444
|
+
.map(({ operator, value }) => {
|
|
445
|
+
value =
|
|
446
|
+
typeof value === 'function'
|
|
447
|
+
? value({
|
|
448
|
+
value: filterData[name],
|
|
449
|
+
filterData,
|
|
450
|
+
})
|
|
451
|
+
: value;
|
|
452
|
+
if (operator === EnumLogicalOperator.Contains) {
|
|
453
|
+
return `(containing(lower(${name}), lower('${value}')))`;
|
|
454
|
+
}
|
|
455
|
+
if ((operator === EnumLogicalOperator.IsNot ||
|
|
456
|
+
operator === EnumLogicalOperator.Is) &&
|
|
457
|
+
!value) {
|
|
458
|
+
return `(${name} ${operator} null)`;
|
|
459
|
+
}
|
|
460
|
+
return `(${name} ${operator} '${value}')`;
|
|
461
|
+
})
|
|
462
|
+
.join(' and ')})`;
|
|
463
|
+
}
|
|
464
|
+
getNestedValue(obj, path) {
|
|
465
|
+
return path.split('.').reduce((current, key) => {
|
|
466
|
+
if (current && typeof current === 'object') {
|
|
467
|
+
const currentObj = current;
|
|
468
|
+
return currentObj[key] !== undefined
|
|
469
|
+
? currentObj[key]
|
|
470
|
+
: undefined;
|
|
471
|
+
}
|
|
472
|
+
return undefined;
|
|
473
|
+
}, obj);
|
|
474
|
+
}
|
|
475
|
+
setNestedValue(obj, path, value) {
|
|
476
|
+
const keys = path.split('.');
|
|
477
|
+
const lastKey = keys.pop();
|
|
478
|
+
const target = keys.reduce((current, key) => {
|
|
479
|
+
if (current && typeof current === 'object') {
|
|
480
|
+
const currentObj = current;
|
|
481
|
+
return currentObj[key] !== undefined
|
|
482
|
+
? currentObj[key]
|
|
483
|
+
: undefined;
|
|
484
|
+
}
|
|
485
|
+
return undefined;
|
|
486
|
+
}, obj);
|
|
487
|
+
if (target && typeof target === 'object' && lastKey) {
|
|
488
|
+
target[lastKey] = value;
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJwLWxvb2t1cHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zbnItZXJweC1hbmd1bGFyLWNvbXBvbmVudHMvbG9va3Vwcy9zcmMvbGliL2VycC1sb29rdXBzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQVE1QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFpQ2hELGtGQUFrRjtBQUNsRixNQUFNLENBQU4sSUFBWSxtQkF5Qlg7QUF6QkQsV0FBWSxtQkFBbUI7SUFDM0IsK0RBQStEO0lBQy9ELGdDQUFTLENBQUE7SUFDVCxrRUFBa0U7SUFDbEUsZ0NBQVMsQ0FBQTtJQUNULHVEQUF1RDtJQUN2RCxnQ0FBUyxDQUFBO0lBQ1QsZ0VBQWdFO0lBQ2hFLGdDQUFTLENBQUE7SUFDVCxtREFBbUQ7SUFDbkQsZ0NBQVMsQ0FBQTtJQUNULDZEQUE2RDtJQUM3RCxnQ0FBUyxDQUFBO0lBQ1Qsd0VBQXdFO0lBQ3hFLGtDQUFXLENBQUE7SUFDWCxxRUFBcUU7SUFDckUsZ0NBQVMsQ0FBQTtJQUNULCtFQUErRTtJQUMvRSxrQ0FBVyxDQUFBO0lBQ1gsbURBQW1EO0lBQ25ELGdDQUFTLENBQUE7SUFDVCxtRUFBbUU7SUFDbkUsdUNBQWdCLENBQUE7SUFDaEIsOEZBQThGO0lBQzlGLDhDQUF1QixDQUFBO0FBQzNCLENBQUMsRUF6QlcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQXlCOUI7QUF1REQsTUFBTSxPQUFPLG1CQUFtQjtJQU81QixZQUNXLG1CQUVOLEVBQ0QsY0FBdUMsRUFBRTtRQUhsQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBRXpCO1FBR0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDckMsQ0FBQztD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QUFFLENBQUM7Z0JBQ3pDLE1BQU0sVUFBVSxHQUFHLE9BQWtDLENBQUM7Z0JBQ3RELE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFNBQVM7b0JBQ2hDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO29CQUNqQixDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3BCLENBQUM7WUFDRCxPQUFPLFNBQVMsQ0FBQztRQUNyQixDQUFDLEVBQUUsR0FBYyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVPLGNBQWMsQ0FDbEIsR0FBNEIsRUFDNUIsSUFBWSxFQUNaLEtBQWM7UUFFZCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUMzQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBZ0IsRUFBRSxHQUFXLEVBQUUsRUFBRTtZQUN6RCxJQUFJLE9BQU8sSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDekMsTUFBTSxVQUFVLEdBQUcsT0FBa0MsQ0FBQztnQkFDdEQsT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssU0FBUztvQkFDaEMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7b0JBQ2pCLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDcEIsQ0FBQztZQUNELE9BQU8sU0FBUyxDQUFDO1FBQ3JCLENBQUMsRUFBRSxHQUFjLENBQUMsQ0FBQztRQUNuQixJQUFJLE1BQU0sSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLElBQUksT0FBTyxFQUFFLENBQUM7WUFDakQsTUFBa0MsQ0FBQyxPQUFPLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDekQsQ0FBQztJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcblxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBEeW5hbWljVHlwZSxcbiAgICBMb29rdXBGaWVsZENvbmZpZyxcbn0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9keW5hbWljLWZvcm0nO1xuaW1wb3J0IHsgU29ydE1ldGEgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEVycExvb2t1cHNTZXJ2aWNlIH0gZnJvbSAnLi9lcnAtbG9va3Vwcy5zZXJ2aWNlJztcblxuLyoqIEVudGlkYWRlcyBkZSBxdWUgZGVwZW5kZSAqL1xuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlEZXBlbmRlbmN5IHtcbiAgICAvKiogTm9tZSBkYSBlbnRpZGFkZSBxdWUgZGVwZW5kZSAocGFpKSAqL1xuICAgIG5hbWU6IHN0cmluZztcbiAgICAvKiogQ2FtcG8gZGEgZW50aWRhZGUgcGFpIHF1ZSBzZXLDoSBjb21wYXJhZG8gKi9cbiAgICBmaWVsZD86IHN0cmluZztcbiAgICAvKiogVmFsb3IgZGEgZW50aWRhZGUgcGFpICovXG4gICAgdmFsdWU6ICgpID0+IHVua25vd247XG59XG5cbi8qKiBGaWx0cm8gcGFkcsOjbyBhcGxpY2FkbyBlbSB0b2RhcyByZXF1aXNpw6fDtWVzIGRhIGVudGlkYWRlLiBQb3IgcGFkcsOjbyBmaWx0cmEgcmVnaXN0cm9zIG7Do28gZXhjbHVpZG9zICovXG5leHBvcnQgaW50ZXJmYWNlIERlZmF1bHRGaWx0ZXIge1xuICAgIC8qKiBDYW1wbyBxdWUgc2Vyw6EgZmlsdHJhZG8gKi9cbiAgICBmaWVsZDogc3RyaW5nIHwgRGVmYXVsdEZpbHRlcjtcbiAgICAvKiogQ29tcGFyYcOnw6NvIHF1ZSBzZXLDoSBhcGxpY2FkYSBuYSBjb25zdWx0YSAqL1xuICAgIG9wZXJhdG9yOiBFbnVtTG9naWNhbE9wZXJhdG9yO1xuICAgIC8qKiBWYWxvcmVzIHF1ZSBzZXLDo28gYnVzY2Fkb3MgKi9cbiAgICB2YWx1ZXM6IHN0cmluZ1tdO1xufVxuXG4vKiogRmlsdHJvIGRpbmFtaWNvIHBhcmEgY29uc3VsdGFzIG1haXMgY29tcGxleGFzICovXG5leHBvcnQgaW50ZXJmYWNlIER5bmFtaWNGaWx0ZXIge1xuICAgIC8qKiBDYW1wbyBxdWUgc2Vyw6EgZmlsdHJhZG8gKi9cbiAgICBmaWVsZDogKCkgPT4gc3RyaW5nO1xuICAgIC8qKiBDb21wYXJhw6fDo28gcXVlIHNlcsOhIGFwbGljYWRhIG5hIGNvbnN1bHRhICovXG4gICAgb3BlcmF0b3I6IEVudW1Mb2dpY2FsT3BlcmF0b3I7XG4gICAgLyoqIFZhbG9yZXMgcXVlIHNlcsOjbyBidXNjYWRvcyAqL1xuICAgIHZhbHVlOiAoKSA9PiB1bmtub3duO1xufVxuXG4vKiogRmlsdGVyIFN5c3RlbSBRdWVyeSBPcHRpb24gLSBPcGVyYXRvcnMgc3VwcG9ydGVkIGluIHRoZSBleHByZXNzaW9uIGxhbmd1YWdlICovXG5leHBvcnQgZW51bSBFbnVtTG9naWNhbE9wZXJhdG9yIHtcbiAgICAvKiogRXF1YWwgKEV4OiAvU3VwcGxpZXJzPyRmaWx0ZXI9QWRkcmVzcy9DaXR5IGVxICdSZWRtb25kJykgKi9cbiAgICBFcSA9ICdlcScsXG4gICAgLyoqIE5vdCBlcXVhbCAoRXg6IC9TdXBwbGllcnM/JGZpbHRlcj1BZGRyZXNzL0NpdHkgbmUgJ0xvbmRvbicpICovXG4gICAgTmUgPSAnbmUnLFxuICAgIC8qKiBHcmVhdGVyIHRoYW4gKEV4OiAvUHJvZHVjdHM/JGZpbHRlcj1QcmljZSBndCAyMCkgKi9cbiAgICBHdCA9ICdndCcsXG4gICAgLyoqIEdyZWF0ZXIgdGhhbiBvciBlcXVhbCAoRXg6IC9Qcm9kdWN0cz8kZmlsdGVyPVByaWNlIGdlIDEwKSAqL1xuICAgIEdlID0gJ2dlJyxcbiAgICAvKiogTGVzcyB0aGFuIChFeDogL1Byb2R1Y3RzPyRmaWx0ZXI9UHJpY2UgbHQgMjApKi9cbiAgICBMdCA9ICdsdCcsXG4gICAgLyoqIExlc3MgdGhhbiBvciBlcXVhbCAoRXg6IC9Qcm9kdWN0cz8kZmlsdGVyPVByaWNlIGxlIDEwMCkqL1xuICAgIExlID0gJ2xlJyxcbiAgICAvKiogTG9naWNhbCBhbmRcdCAoRXg6IC9Qcm9kdWN0cz8kZmlsdGVyPVByaWNlIGxlIDIwMCBhbmQgUHJpY2UgZ3QgMy41KSovXG4gICAgQW5kID0gJ2FuZCcsXG4gICAgLyoqIExvZ2ljYWwgb3IgKEV4OiAvUHJvZHVjdHM/JGZpbHRlcj1QcmljZSBsZSAzLjUgb3IgUHJpY2UgZ3QgMjAwKSovXG4gICAgT3IgPSAnb3InLFxuICAgIC8qKiBMb2dpY2FsIG5lZ2F0aW9uIChFeDogL1Byb2R1Y3RzPyRmaWx0ZXI9bm90IGVuZHN3aXRoKERlc2NyaXB0aW9uLCdtaWxrJykpKi9cbiAgICBOb3QgPSAnbm90JyxcbiAgICAvKiogTG9naWNhbCBpcyAoRXg6IC9Qcm9kdWN0cz8kZmlsdGVyPWlkIGlzIG51bGwgKi9cbiAgICBJcyA9ICdpcycsXG4gICAgLyoqIE5lZ2F0aW9uIG9mIGxvZ2ljYWwgaXMgKEV4OiAvUHJvZHVjdHM/JGZpbHRlcj1pZCBpcyBub3QgbnVsbCAqL1xuICAgIElzTm90ID0gJ2lzIG5vdCcsXG4gICAgLyoqIENvbnRhaW5zIHN0cmluZyB2YWx1ZSAoRXg6IC9Qcm9kdWN0cz8kZmlsdGVyPWNvbnRhaW5pbmcobG93ZXIobmFtZSksIGxvd2VyKCdteSBuYW1lJykpKSAqL1xuICAgIENvbnRhaW5zID0gJ2NvbnRhaW5pbmcnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNvcnRPcHRpb25zIHtcbiAgICBmaWVsZDogc3RyaW5nO1xuICAgIG9yZGVyOiBudW1iZXI7XG59XG5cbi8qKiBQYXLDom1ldHJvcyBwYXJhIGN1c3RvbWl6YcOnw7VlcyBkbyBsb29rdXAgKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9va3VwT3B0aW9ucyB7XG4gICAgLyoqIE5vbWUgZGEgZW50aWRhZGUgKi9cbiAgICBlbnRpdHk/OiBzdHJpbmc7XG4gICAgLyoqIE5vbWUgZG8gZm9ybUdyb3VwICovXG4gICAgZm9ybUdyb3VwPzogc3RyaW5nO1xuICAgIC8qKiBGaWx0cm8gcGFkcsOjbyAqL1xuICAgIGRlZmF1bHRGaWx0ZXI/OiBEZWZhdWx0RmlsdGVyW107XG4gICAgLyoqIEZpbHRybyBkaW7Dom1pY28gKi9cbiAgICBkeW5hbWljRmlsdGVyPzogRHluYW1pY0ZpbHRlcltdO1xuICAgIC8qKiBDYW1wb3MgZG8gbG9va3VwIChhdXRvY29tcGxldGUpICovXG4gICAgbG9va3VwRmllbGRzPzogKER5bmFtaWNUeXBlIHwgRXJwTG9va3Vwc0Zvcm1GaWVsZClbXTtcbiAgICAvKiogQ2FtcG9zIHF1ZSBzZXLDo28gc29saWNpdGFkb3MgbmEgY29uc3VsdGEgKi9cbiAgICBxdWVyeUZpZWxkcz86IHN0cmluZ1tdO1xuICAgIC8qKiBDYW1wb3MgZXhpYmlkb3Mgbm8gZmlsdHJvIGRhIG1vZGFsIGRlIGxpc3RhZ2VtICovXG4gICAgc2VhcmNoRmllbGRzPzogKER5bmFtaWNUeXBlIHwgRXJwTG9va3Vwc0Zvcm1GaWVsZClbXTtcbiAgICAvKiogQ2FtcG9zIGV4aWJpZG9zIG5hIGdyaWQgZGEgbW9kYWwgZGUgbGlzdGFnZW0gKi9cbiAgICAvKiogRGVmaW5lIHNlIG8gbG9va3VwIHBlcm1pdGlyw6EgbXVsdGkgc2VsZcOnw6NvICovXG4gICAgc2VhcmNoR3JpZEZpZWxkcz86IChEeW5hbWljVHlwZSB8IEVycExvb2t1cHNGb3JtRmllbGQpW107XG4gICAgbXVsdGlwbGU/OiBib29sZWFuO1xuICAgIC8qKiBFbnRpZGFkZXMgZGUgcXVlIGRlcGVuZGUgKi9cbiAgICBlbnRpdHlEZXBlbmRlbmN5PzogRW50aXR5RGVwZW5kZW5jeVtdO1xuICAgIC8qKiBQcmVmaXhvIHV0aWxpemFkbyBwYXJhIG1vbnRhciBvcyBsYWJlbHMgKHBvciBwYWRyw6NvIHV0aWxpemEgZG9tw61uaW8gZSBzZXJ2acOnbykgKi9cbiAgICBwcmVmaXg/OiBzdHJpbmc7XG4gICAgLyoqIFN1Zml4byB1dGlsaXphZG8gcGFyYSBtb250YXIgb3MgbGFiZWxzIChwb3IgcGFkcsOjbyDDqSB2YXppbykgKi9cbiAgICBzdWZmaXg/OiBzdHJpbmc7XG4gICAgLyoqIERvbcOtbmlvICovXG4gICAgZG9tYWluPzogc3RyaW5nO1xuICAgIC8qKiBTZXJ2acOnbyAqL1xuICAgIHNlcnZpY2U/OiBzdHJpbmc7XG4gICAgLyoqIERhdGEga2V5ICovXG4gICAgZGF0YUtleT86IHN0cmluZztcbiAgICAvKiogQ2FtcG9zIHBhcmEgb3JkZW5hw6fDo28gZG8gbG9va3VwIChhdXRvY29tcGxldGUpKi9cbiAgICBsb29rdXBTb3J0PzogU29ydE9wdGlvbnNbXTtcbiAgICAvKiogQ2FtcG9zIHBhcmEgYSBvcmRlbmHDp8OjbyBhbyBhYnJpciBhIG1vZGFsIGRlIGxpc3RhZ2VtICovXG4gICAgc2VhcmNoU29ydD86IFNvcnRPcHRpb25zW107XG59XG5cbmV4cG9ydCB0eXBlIEN1c3RvbUZpbHRlckZ1bmN0aW9uPFQgPSB1bmtub3duPiA9IChvcHRpb25zOiB7XG4gICAgdmFsdWU6IFQ7XG4gICAgZmlsdGVyRGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59KSA9PiBzdHJpbmc7XG5cbmV4cG9ydCB0eXBlIEN1c3RvbUZpbHRlcjxUID0gdW5rbm93bj4gPSB7XG4gICAgb3BlcmF0b3I6IEVudW1Mb2dpY2FsT3BlcmF0b3I7XG4gICAgdmFsdWU6IHN0cmluZyB8IEN1c3RvbUZpbHRlckZ1bmN0aW9uPFQ+O1xufTtcblxuZXhwb3J0IGNsYXNzIEVycExvb2t1cHNGb3JtRmllbGQ8VCA9IHVua25vd24+IHtcbiAgICBwdWJsaWMgbmFtZSE6IHN0cmluZztcbiAgICBwdWJsaWMgdHlwZSE6IHN0cmluZztcbiAgICBwdWJsaWMgbWF4TGVuZ3RoPzogbnVtYmVyO1xuICAgIHB1YmxpYyBtdWx0aXBsZT86IGJvb2xlYW47XG4gICAgW2tleTogc3RyaW5nXTogdW5rbm93bjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGVycExvb2t1cHNGb3JtRmllbGQ/OiB7XG4gICAgICAgICAgICBjdXN0b21GaWx0ZXJzPzogQ3VzdG9tRmlsdGVyPFQ+W107XG4gICAgICAgIH0sXG4gICAgICAgIGZpZWxkQ29uZmlnOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9XG4gICAgKSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgZmllbGRDb25maWcpO1xuICAgIH1cbn1cblxuLy8gVE9ETzogc3RyaWN0LXJldmlldzogQEluamVjdGFibGUgcmVtb3ZpZG8g4oCUIGVzdGEgY2xhc3NlIG7Do28gcG9kZSBzZXIgaW5qZXRhZGEgdmlhIERJIGRvIEFuZ3VsYXIuXG4vLyBPcyBwYXLDom1ldHJvcyBkbyBjb25zdHJ1Y3RvciBuw6NvIHPDo28gdGlwb3MgaW5qZXTDoXZlaXMgKHByaW1pdGl2b3Mgb3Ugc2VtID9wcm92KS4gSW5zdGFuY2lhciBjb20gYG5ld2AuXG4vKipcbiAqIEVycCBMb29rdXBzXG4gKiBAY2xhc3MgRXJwTG9va3Vwc1xuICovXG5leHBvcnQgY2xhc3MgRXJwTG9va3VwcyB7XG4gICAgcHVibGljIGxvb2t1cFN1Z2dlc3Rpb25zT2JzZXJ2YWJsZSA9IG5ldyBTdWJqZWN0PGFueT4oKTtcbiAgICBwdWJsaWMgbG9va3VwU2VhcmNoT2JzZXJ2YWJsZSA9IG5ldyBTdWJqZWN0PGFueT4oKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBDcmlhw6fDo28gZGUgdW0gbG9va3VwLlxuICAgICAqIEBwYXJhbSBlbnRpdHkgTm9tZSBkYSBlbnRpZGFkZS5cbiAgICAgKiBAcGFyYW0gbG9va3VwRmllbGRzIENhbXBvcyBleGliaWRvcyBubyBhdXRvY29tcGxldGUuXG4gICAgICogQHBhcmFtIHNlYXJjaEZpZWxkcyBDYW1wb3MgZXhpYmlkb3Mgbm8gZmlsdHJvIGRlbnRybyBkYSBtb2RhbC5cbiAgICAgKiBAcGFyYW0gc2VhcmNoR3JpZEZpZWxkcyBDYW1wb3MgZXhpYmlkb3MgbmEgdGFiZWxhIGRlbnRybyBkYSBtb2RhbC5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBsb29rdXBTZXJ2aWNlOiBFcnBMb29rdXBzU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIGVudGl0eTogc3RyaW5nLFxuICAgICAgICBwcm90ZWN0ZWQgbG9va3VwRmllbGRzOiBEeW5hbWljVHlwZVtdLFxuICAgICAgICBwdWJsaWMgc2VhcmNoRmllbGRzOiAoRHluYW1pY1R5cGUgfCBFcnBMb29rdXBzRm9ybUZpZWxkKVtdLFxuICAgICAgICBwdWJsaWMgc2VhcmNoR3JpZEZpZWxkczogRHluYW1pY1R5cGVbXSxcbiAgICAgICAgcHJvdGVjdGVkIGRvbWFpbjogc3RyaW5nLFxuICAgICAgICBwcm90ZWN0ZWQgc2VydmljZTogc3RyaW5nXG4gICAgKSB7XG4gICAgICAgIHRoaXMuZW50aXR5ID0gZW50aXR5O1xuICAgICAgICB0aGlzLmRvbWFpbiA9IGRvbWFpbjtcbiAgICAgICAgdGhpcy5zZXJ2aWNlID0gc2VydmljZTtcbiAgICAgICAgdGhpcy5sb29rdXBGaWVsZHMgPSBsb29rdXBGaWVsZHMgPz8gW107XG4gICAgICAgIHRoaXMuc2VhcmNoRmllbGRzID0gc2VhcmNoRmllbGRzID8/IFtdO1xuICAgICAgICB0aGlzLnNlYXJjaEdyaWRGaWVsZHMgPSBzZWFyY2hHcmlkRmllbGRzID8/IFtdO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b1NuYWtlQ2FzZSh2YWx1ZTogc3RyaW5nID0gJycpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdmFsdWVcbiAgICAgICAgICAgIC5yZXBsYWNlKC8oPzpefFxcLj8pKFtBLVpdKS9nLCBmdW5jdGlvbiAoX3gsIHkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gJ18nICsgeS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5yZXBsYWNlKC9eXy8sICcnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbW91bnRGb3JtRmllbGQoXG4gICAgICAgIGZpZWxkczogKER5bmFtaWNUeXBlIHwgRXJwTG9va3Vwc0Zvcm1GaWVsZClbXSxcbiAgICAgICAgcHJlZml4OiBzdHJpbmdcbiAgICApOiBEeW5hbWljVHlwZVtdIHtcbiAgICAgICAgcmV0dXJuIGZpZWxkcy5tYXAoKGZpZWxkKSA9PiB7XG4gICAgICAgICAgICBsZXQgdHJhbnNsYXRpb25LZXkgPSBgJHtwcmVmaXh9Lmxvb2t1cF8ke3RoaXMudG9TbmFrZUNhc2UodGhpcy5lbnRpdHkpfV8ke3RoaXMudG9TbmFrZUNhc2UoZmllbGQubmFtZSl9YDtcblxuICAgICAgICAgICAgbGV0IGxhYmVsID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCh0cmFuc2xhdGlvbktleSk7XG5cbiAgICAgICAgICAgIGlmIChsYWJlbCA9PT0gdHJhbnNsYXRpb25LZXkpIHtcbiAgICAgICAgICAgICAgICAvLyBNYW50ZXIgY29tcGF0aWJpbGlkYWRlIGNvbSBvcyBsb29rdXBzIGF0dWFpcyBhdMOpIHRvZG9zIGFqdXN0YXJlbVxuICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZpZWxkLm5hbWUuc3BsaXQoJy4nKS5qb2luKCdfJyk7XG4gICAgICAgICAgICAgICAgdHJhbnNsYXRpb25LZXkgPSBgJHtwcmVmaXh9Lmxvb2t1cF8ke3RoaXMudG9TbmFrZUNhc2UodGhpcy5lbnRpdHkpfV8ke3RoaXMudG9TbmFrZUNhc2UoZmllbGROYW1lKX1gO1xuICAgICAgICAgICAgICAgIGxhYmVsID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCh0cmFuc2xhdGlvbktleSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uZmllbGQsXG4gICAgICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICB9IGFzIER5bmFtaWNUeXBlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbW91bnREZWZhdWx0RmlsdGVyKFxuICAgICAgICBkZWZhdWx0RmlsdGVyOiBEZWZhdWx0RmlsdGVyW10gPSBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZmllbGQ6ICdleGNsdWlkbycsXG4gICAgICAgICAgICAgICAgb3BlcmF0b3I6IEVudW1Mb2dpY2FsT3BlcmF0b3IuRXEsXG4gICAgICAgICAgICAgICAgdmFsdWVzOiBbJ2ZhbHNlJ10sXG4gICAgICAgICAgICB9LFxuICAgICAgICBdXG4gICAgKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGRlZmF1bHRGaWx0ZXJcbiAgICAgICAgICAgIC5tYXAoKGZpbHRlcikgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICcoJyArXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlci52YWx1ZXNcbiAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIub3BlcmF0b3IgPT09IEVudW1Mb2dpY2FsT3BlcmF0b3IuQ29udGFpbnNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGBjb250YWluaW5nKGxvd2VyKCR7ZmlsdGVyLmZpZWxkfSksIGxvd2VyKCcke3ZhbHVlfScpKWA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZmlsdGVyLm9wZXJhdG9yID09PVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW51bUxvZ2ljYWxPcGVyYXRvci5Jc05vdCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyLm9wZXJhdG9yID09PVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudW1Mb2dpY2FsT3BlcmF0b3IuSXMpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICF2YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7ZmlsdGVyLmZpZWxkfSAke2ZpbHRlci5vcGVyYXRvcn0gbnVsbGA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtmaWx0ZXIuZmllbGR9ICR7ZmlsdGVyLm9wZXJhdG9yfSAnJHt2YWx1ZX0nYDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAuam9pbignIG9yICcpICtcbiAgICAgICAgICAgICAgICAgICAgJyknXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuam9pbignIGFuZCAnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbW91bnREeW5hbWljRmlsdGVyKFxuICAgICAgICBkeW5hbWljRmlsdGVyPzogRHluYW1pY0ZpbHRlcltdXG4gICAgKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKCFkeW5hbWljRmlsdGVyKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkeW5hbWljRmlsdGVyXG4gICAgICAgICAgICAubWFwKChmaWx0ZXIpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgdmFsdWVzID0gZmlsdGVyLnZhbHVlKCk7XG4gICAgICAgICAgICAgICAgY29uc3QgZmllbGQgPSBmaWx0ZXIuZmllbGQoKTtcbiAgICAgICAgICAgICAgICBjb25zdCBvcGVyYXRvciA9IGZpbHRlci5vcGVyYXRvcjtcblxuICAgICAgICAgICAgICAgIGlmICghKHZhbHVlcyBpbnN0YW5jZW9mIEFycmF5KSkge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZXMgPSBbdmFsdWVzXTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAnKCcgK1xuICAgICAgICAgICAgICAgICAgICAodmFsdWVzIGFzIHVua25vd25bXSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoKHZhbHVlOiB1bmtub3duKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9wZXJhdG9yID09PSBFbnVtTG9naWNhbE9wZXJhdG9yLkNvbnRhaW5zKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgY29udGFpbmluZyhsb3dlcigke2ZpZWxkfSksIGxvd2VyKCcke1N0cmluZyh2YWx1ZSl9JykpYDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvcGVyYXRvciA9PT0gRW51bUxvZ2ljYWxPcGVyYXRvci5Jc05vdCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3IgPT09IEVudW1Mb2dpY2FsT3BlcmF0b3IuSXMpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICF2YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7ZmllbGR9ICR7b3BlcmF0b3J9IG51bGxgO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtmaWVsZH0gJHtvcGVyYXRvcn0gJyR7U3RyaW5nKHZhbHVlKX0nYDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAuam9pbignIG9yICcpICtcbiAgICAgICAgICAgICAgICAgICAgJyknXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuam9pbignIGFuZCAnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbW91bnRGaWx0ZXJRdWVyeShcbiAgICAgICAgdmFsdWU6IHN0cmluZyxcbiAgICAgICAgbG9va3VwRmllbGRzOiBEeW5hbWljVHlwZVtdLFxuICAgICAgICBkZWZhdWx0RmlsdGVyPzogRGVmYXVsdEZpbHRlcltdLFxuICAgICAgICBkeW5hbWljRmlsdGVyPzogRHluYW1pY0ZpbHRlcltdXG4gICAgKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGZpbHRlclF1ZXJ5OiBzdHJpbmc7XG5cbiAgICAgICAgaWYgKE51bWJlci5pc0ludGVnZXIoTnVtYmVyKHZhbHVlKSkpIHtcbiAgICAgICAgICAgIGZpbHRlclF1ZXJ5ID0gbG9va3VwRmllbGRzXG4gICAgICAgICAgICAgICAgLm1hcCgoZmllbGQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpZWxkLnR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYChjb250YWluaW5nKGxvd2VyKCR7ZmllbGQubmFtZX0pLCBsb3dlcignJHt2YWx1ZX0nKSkpYDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmIChmaWVsZC50eXBlID09PSAnaW50ZWdlcicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNhbml0aXplZFZhbHVlID0gdmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudG9TdHJpbmcoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9cXEQvZywgJycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFzYW5pdGl6ZWRWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAoJHtmaWVsZC5uYW1lfSBlcSAnJHtzYW5pdGl6ZWRWYWx1ZX0nKWA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAoJHtmaWVsZC5uYW1lfSBlcSAnJHt2YWx1ZX0nKWA7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAuZmlsdGVyKChmaWx0ZXIpID0+ICEhZmlsdGVyKVxuICAgICAgICAgICAgICAgIC5qb2luKCcgb3IgJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmaWx0ZXJRdWVyeSA9IGxvb2t1cEZpZWxkc1xuICAgICAgICAgICAgICAgIC5maWx0ZXIoKGZpZWxkKSA9PiBmaWVsZC50eXBlID09PSAnc3RyaW5nJylcbiAgICAgICAgICAgICAgICAubWFwKChmaWVsZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYChjb250YWluaW5nKGxvd2VyKCR7ZmllbGQubmFtZX0pLCBsb3dlcignJHt2YWx1ZS5yZXBsYWNlKC9cXFxcL2csICcnKS5yZXBsYWNlKC8nL2csIFwiXFxcXCdcIil9JykpKWA7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAuam9pbignIG9yICcpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGVmYXVsdEZpbHRlclF1ZXJ5ID0gdGhpcy5tb3VudERlZmF1bHRGaWx0ZXIoZGVmYXVsdEZpbHRlcik7XG5cbiAgICAgICAgaWYgKGRlZmF1bHRGaWx0ZXJRdWVyeSkge1xuICAgICAgICAgICAgZmlsdGVyUXVlcnkgPSBgKCgke2RlZmF1bHRGaWx0ZXJRdWVyeX0pIGFuZCAoJHtmaWx0ZXJRdWVyeX0pKWA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmaWx0ZXJRdWVyeSA9ICcoJyArIGZpbHRlclF1ZXJ5ICsgJyknO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZHluYW1pY0ZpbHRlclF1ZXJ5ID0gdGhpcy5tb3VudER5bmFtaWNGaWx0ZXIoZHluYW1pY0ZpbHRlcik7XG5cbiAgICAgICAgaWYgKGR5bmFtaWNGaWx0ZXJRdWVyeSkge1xuICAgICAgICAgICAgZmlsdGVyUXVlcnkgPSBgKCgke2R5bmFtaWNGaWx0ZXJRdWVyeX0pIGFuZCAoJHtmaWx0ZXJRdWVyeX0pKWA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmaWx0ZXJRdWVyeSA9ICcoJyArIGZpbHRlclF1ZXJ5ICsgJyknO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZpbHRlclF1ZXJ5O1xuICAgIH1cbiAgICBwdWJsaWMgbW91bnRFbnVtRmlsdGVyKFxuICAgICAgICBuYW1lOiBzdHJpbmcsXG4gICAgICAgIHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgICAgICAgbXVsdGlwbGU/OiBib29sZWFuXG4gICAgKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIG11bHRpcGxlXG4gICAgICAgICAgICA/IGAoJHsodmFsdWUgYXMgc3RyaW5nW10pLm1hcCgoc2VsZWN0ZWQ6IHN0cmluZykgPT4gYCR7bmFtZX0gZXEgJyR7c2VsZWN0ZWR9J2ApLmpvaW4oJyBvciAnKX0pYFxuICAgICAgICAgICAgOiBgKCR7bmFtZX0gZXEgJyR7dmFsdWV9JylgO1xuICAgIH1cbiAgICAvKiogTcOpdG9kbyByZXNwb25zw6F2ZWwgcG9yIG1vbnRhciBhcyBvcMOnw7VlcyBwYWRyw7VlcyBwYXJhIG8gbG9va3VwIGRvIER5bmFtaWMgRm9ybSAqL1xuICAgIHB1YmxpYyBtb3VudE9wdGlvbnMob3B0aW9ucz86IExvb2t1cE9wdGlvbnMpOiBMb29rdXBGaWVsZENvbmZpZyB7XG4gICAgICAgIGNvbnN0IHByZWZpeCA9IG9wdGlvbnM/LnByZWZpeFxuICAgICAgICAgICAgPyBvcHRpb25zLnByZWZpeFxuICAgICAgICAgICAgOiBvcHRpb25zPy5kb21haW4gJiYgb3B0aW9ucz8uc2VydmljZVxuICAgICAgICAgICAgICA/IGAke29wdGlvbnMuZG9tYWlufS4ke29wdGlvbnMuc2VydmljZX1gXG4gICAgICAgICAgICAgIDogYCR7dGhpcy5kb21haW59LiR7dGhpcy5zZXJ2aWNlfWA7XG5cbiAgICAgICAgY29uc3Qgc3VmZml4ID0gb3B0aW9ucz8uc3VmZml4ID8gYF8ke29wdGlvbnMuc3VmZml4fWAgOiAnJztcblxuICAgICAgICBvcHRpb25zID0ge1xuICAgICAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgICAgIGxvb2t1cEZpZWxkczogb3B0aW9ucz8ubG9va3VwRmllbGRzXG4gICAgICAgICAgICAgICAgPyBvcHRpb25zLmxvb2t1cEZpZWxkc1xuICAgICAgICAgICAgICAgIDogdGhpcy5sb29rdXBGaWVsZHMsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5hbWU6IG9wdGlvbnM/LmZvcm1Hcm91cCA/PyB0aGlzLmVudGl0eSxcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgICAgICAgIGAke3ByZWZpeH0ubG9va3VwXyR7dGhpcy50b1NuYWtlQ2FzZShvcHRpb25zPy5lbnRpdHkpIHx8IHRoaXMudG9TbmFrZUNhc2UodGhpcy5lbnRpdHkpfSR7c3VmZml4fWBcbiAgICAgICAgICAgICkgYXMgc3RyaW5nLFxuICAgICAgICAgICAgc2VhcmNoVGl0bGU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgICAgICAgYCR7cHJlZml4fS5sb29rdXBfJHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b1NuYWtlQ2FzZShvcHRpb25zPy5lbnRpdHkpIHx8XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudG9TbmFrZUNhc2UodGhpcy5lbnRpdHkpXG4gICAgICAgICAgICAgICAgfV9zZWFyY2hfdGl0bGVgXG4gICAgICAgICAgICApIGFzIHN0cmluZyxcbiAgICAgICAgICAgIHR5cGU6ICdsb29rdXAnLFxuICAgICAgICAgICAgbXVsdGlwbGU6IG9wdGlvbnM/Lm11bHRpcGxlICE9PSBmYWxzZSxcbiAgICAgICAgICAgIGRhdGFLZXk6IG9wdGlvbnM/LmRhdGFLZXkgPz8gJ2lkJyxcbiAgICAgICAgICAgIGxvb2t1cERpc3BsYXlGaWVsZDogJ2xhYmVsJyxcbiAgICAgICAgICAgIHNlYXJjaEVtcHR5VGl0bGU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7cHJlZml4fS5ub3RoaW5nX2ZvdW5kYCksXG4gICAgICAgICAgICBmaWx0ZXJMYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHtwcmVmaXh9LmZpbHRlcmApLFxuICAgICAgICAgICAgY2xlYXJMYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHtwcmVmaXh9LmNsZWFyYCksXG4gICAgICAgICAgICBjYW5jZWxMYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgJHtwcmVmaXh9LmNhbmNlbGApLFxuICAgICAgICAgICAgc2VsZWN0TGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7cHJlZml4fS5zZWxlY3RgKSxcbiAgICAgICAgICAgIHNlYXJjaEZpZWxkczogdGhpcy5tb3VudEZvcm1GaWVsZChcbiAgICAgICAgICAgICAgICBvcHRpb25zPy5zZWFyY2hGaWVsZHMgPz8gdGhpcy5zZWFyY2hGaWVsZHMsXG4gICAgICAgICAgICAgICAgcHJlZml4XG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc2VhcmNoR3JpZEZpZWxkczogdGhpcy5tb3VudEZvcm1GaWVsZChcbiAgICAgICAgICAgICAgICBvcHRpb25zPy5zZWFyY2hHcmlkRmllbGRzID8/IHRoaXMuc2VhcmNoR3JpZEZpZWxkcyxcbiAgICAgICAgICAgICAgICBwcmVmaXhcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzdWdnZXN0aW9uc09ic2VydmFibGU6XG4gICAgICAgICAgICAgICAgdGhpcy5sb29rdXBTdWdnZXN0aW9uc09ic2VydmFibGUuYXNPYnNlcnZhYmxlKCksXG4gICAgICAgICAgICBzZWFyY2hPYnNlcnZhYmxlOiB0aGlzLmxvb2t1cFNlYXJjaE9ic2VydmFibGUuYXNPYnNlcnZhYmxlKCksXG4gICAgICAgICAgICBvbkxvb2t1cFJlcXVlc3Q6ICh2YWx1ZTogc3RyaW5nKSA9PlxuICAgICAgICAgICAgICAgIHRoaXMub25Mb29rdXBSZXF1ZXN0KHZhbHVlLCBwcmVmaXgsIG9wdGlvbnMpLFxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgICAgIG9uU2VhcmNoUmVxdWVzdDogKGV2ZW50OiBhbnkpID0+XG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXJndW1lbnRcbiAgICAgICAgICAgICAgICB0aGlzLm9uU2VhcmNoUmVxdWVzdChldmVudCwgcHJlZml4LCBvcHRpb25zKSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UHJvcChcbiAgICAgICAgb2JqOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICAgICAgcGF0aDogc3RyaW5nLFxuICAgICAgICBwcmVmaXg6IHN0cmluZ1xuICAgICk6IHVua25vd24ge1xuICAgICAgICByZXR1cm4gcGF0aFxuICAgICAgICAgICAgLnNwbGl0KCcuJylcbiAgICAgICAgICAgIC5yZWR1Y2UoXG4gICAgICAgICAgICAgICAgKHJlc3VsdDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sIHByb3A6IHN0cmluZykgPT5cbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0W3Byb3BdID09PSB1bmRlZmluZWQgfHwgcmVzdWx0W3Byb3BdID09PSBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoYCR7cHJlZml4fS5lbXB0eV9sYWJlbGApXG4gICAgICAgICAgICAgICAgICAgICAgICA6IChyZXN1bHRbcHJvcF0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pLFxuICAgICAgICAgICAgICAgIG9ialxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFzVmFsdWUodmFsdWU6IHVua25vd24pOiBib29sZWFuIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmICF2YWx1ZS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gISF2YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbW91bnRFbnRpdHlGaWx0ZXIoZW50aXR5OiBFbnRpdHlEZXBlbmRlbmN5LCB2YWx1ZTogYW55KTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGVudGl0eS5maWVsZFxuICAgICAgICAgICAgPyBgKCR7ZW50aXR5Lm5hbWV9LiR7ZW50aXR5LmZpZWxkfSBlcSAnJHt2YWx1ZVtlbnRpdHkuZmllbGRdfScpYFxuICAgICAgICAgICAgOiBgKCR7ZW50aXR5Lm5hbWV9IGVxICcke3ZhbHVlW2VudGl0eS5uYW1lXX0nKWA7XG4gICAgfVxuXG4gICAgcHVibGljIG9uTG9va3VwUmVxdWVzdChcbiAgICAgICAgdmFsdWU6IHN0cmluZyxcbiAgICAgICAgcHJlZml4OiBzdHJpbmcsXG4gICAgICAgIG9wdGlvbnM/OiBMb29rdXBPcHRpb25zXG4gICAgKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGxvb2t1cEZpZWxkcyA9IG9wdGlvbnM/Lmxvb2t1cEZpZWxkcyA/PyB0aGlzLmxvb2t1cEZpZWxkcztcbiAgICAgICAgY29uc3QgbG9va3VwRGlzcGxheUZpZWxkcyA9IGxvb2t1cEZpZWxkcy5tYXAoKGZpZWxkKSA9PiBmaWVsZC5uYW1lKTtcblxuICAgICAgICBsZXQgZmlsdGVyUXVlcnkgPSB0aGlzLm1vdW50RmlsdGVyUXVlcnkoXG4gICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgIGxvb2t1cEZpZWxkcyBhcyBEeW5hbWljVHlwZVtdLFxuICAgICAgICAgICAgb3B0aW9ucz8uZGVmYXVsdEZpbHRlcixcbiAgICAgICAgICAgIG9wdGlvbnM/LmR5bmFtaWNGaWx0ZXJcbiAgICAgICAgKTtcblxuICAgICAgICBsZXQgZGlzcGxheUZpZWxkcyA9IGxvb2t1cERpc3BsYXlGaWVsZHMuY29uY2F0KFxuICAgICAgICAgICAgKG9wdGlvbnM/LnNlYXJjaEdyaWRGaWVsZHMgPz8gdGhpcy5zZWFyY2hHcmlkRmllbGRzKS5tYXAoXG4gICAgICAgICAgICAgICAgKHsgbmFtZSB9KSA9PiBuYW1lXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKG9wdGlvbnM/LnF1ZXJ5RmllbGRzKSB7XG4gICAgICAgICAgICBkaXNwbGF5RmllbGRzID0gZGlzcGxheUZpZWxkcy5jb25jYXQob3B0aW9ucy5xdWVyeUZpZWxkcyk7XG4gICAgICAgIH1cblxuICAgICAgICBkaXNwbGF5RmllbGRzID0gZGlzcGxheUZpZWxkcy5maWx0ZXIoXG4gICAgICAgICAgICAodiwgaSkgPT4gZGlzcGxheUZpZWxkcy5pbmRleE9mKHYpID09PSBpXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKG9wdGlvbnM/LmVudGl0eURlcGVuZGVuY3kpIHtcbiAgICAgICAgICAgIGNvbnN0IGVudGl0eUZpbHRlciA9IG9wdGlvbnMuZW50aXR5RGVwZW5kZW5jeVxuICAgICAgICAgICAgICAgIC5tYXAoKGVudGl0eSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IGVudGl0eS52YWx1ZSgpO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5oYXNWYWx1ZShuZXdWYWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KG5ld1ZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAoJHtuZXdWYWx1ZS5tYXAoKHZhbDogYW55KSA9PiB0aGlzLm1vdW50RW50aXR5RmlsdGVyKGVudGl0eSwgdmFsKSkuam9pbignIG9yICcpfSlgO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAoJHt0aGlzLm1vdW50RW50aXR5RmlsdGVyKGVudGl0eSwgbmV3VmFsdWUpfSlgO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmZpbHRlcigoZmlsdGVyKSA9PiAhIWZpbHRlcilcbiAgICAgICAgICAgICAgICAuam9pbignIGFuZCAnKTtcblxuICAgICAgICAgICAgaWYgKGVudGl0eUZpbHRlcikge1xuICAgICAgICAgICAgICAgIGZpbHRlclF1ZXJ5XG4gICAgICAgICAgICAgICAgICAgID8gKGZpbHRlclF1ZXJ5ICs9IGAgYW5kICgke2VudGl0eUZpbHRlcn0pYClcbiAgICAgICAgICAgICAgICAgICAgOiAoZmlsdGVyUXVlcnkgPSBlbnRpdHlGaWx0ZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5sb29rdXBTZXJ2aWNlXG4gICAgICAgICAgICAubGlzdChcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHNvcnQ6IG9wdGlvbnM/Lmxvb2t1cFNvcnQsXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlclF1ZXJ5LFxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5RmllbGRzLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgb3B0aW9ucz8uZW50aXR5ID8/IHRoaXMuZW50aXR5LFxuICAgICAgICAgICAgICAgIG9wdGlvbnM/LmRvbWFpbiA/PyB0aGlzLmRvbWFpbixcbiAgICAgICAgICAgICAgICBvcHRpb25zPy5zZXJ2aWNlID8/IHRoaXMuc2VydmljZVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGxpc3Q6IGFueSkgPT5cbiAgICAgICAgICAgICAgICAgICAgbGlzdC5jb250ZW50cy5tYXAoKGl0ZW06IGFueSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy5nZXRJdGVtTGFiZWwoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVmaXgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9va3VwRGlzcGxheUZpZWxkc1xuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubG9va3VwU3VnZ2VzdGlvbnNPYnNlcnZhYmxlLm5leHQoZGF0YSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25TZWFyY2hSZXF1ZXN0KFxuICAgICAgICBldmVudDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gICAgICAgIHByZWZpeDogc3RyaW5nLFxuICAgICAgICBvcHRpb25zOiBMb29rdXBPcHRpb25zID0ge31cbiAgICApOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBmaXJzdCwgcm93cywgbXVsdGlTb3J0TWV0YSwgZmlsdGVyRGF0YSB9ID0gZXZlbnQ7XG4gICAgICAgIGNvbnN0IHBhZ2UgPSAoZmlyc3QgYXMgbnVtYmVyKSAvIChyb3dzIGFzIG51bWJlcik7XG4gICAgICAgIGNvbnN0IHNvcnQgPVxuICAgICAgICAgICAgKG11bHRpU29ydE1ldGEgYXMgU29ydE1ldGFbXSB8IHVuZGVmaW5lZCkgPz8gb3B0aW9ucy5zZWFyY2hTb3J0O1xuICAgICAgICBjb25zdCBsb29rdXBGaWVsZHMgPSBvcHRpb25zLmxvb2t1cEZpZWxkcyA/PyB0aGlzLmxvb2t1cEZpZWxkcztcbiAgICAgICAgY29uc3QgbG9va3VwRGlzcGxheUZpZWxkcyA9IGxvb2t1cEZpZWxkcy5tYXAoKGZpZWxkKSA9PiBmaWVsZC5uYW1lKTtcblxuICAgICAgICBsZXQgZmlsdGVyUXVlcnkgPSAob3B0aW9ucy5zZWFyY2hGaWVsZHMgPz8gdGhpcy5zZWFyY2hGaWVsZHMpXG4gICAgICAgICAgICAuZmlsdGVyKFxuICAgICAgICAgICAgICAgICh7IG5hbWUgfSkgPT5cbiAgICAgICAgICAgICAgICAgICAgKGZpbHRlckRhdGEgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW25hbWVdICE9PVxuICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkICYmXG4gICAgICAgICAgICAgICAgICAgIChmaWx0ZXJEYXRhIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KVtuYW1lXSAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgICAgICAoZmlsdGVyRGF0YSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPilbbmFtZV0gIT09ICcnXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAubWFwKChmb3JtRmllbGQpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IG5hbWUsIHR5cGUsIG11bHRpcGxlLCBlcnBMb29rdXBzRm9ybUZpZWxkIH0gPVxuICAgICAgICAgICAgICAgICAgICBmb3JtRmllbGQgYXMgRXJwTG9va3Vwc0Zvcm1GaWVsZDtcblxuICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gKGZpbHRlckRhdGEgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW25hbWVdO1xuXG4gICAgICAgICAgICAgICAgaWYgKGVycExvb2t1cHNGb3JtRmllbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubW91bnRDdXN0b21GaWx0ZXIoe1xuICAgICAgICAgICAgICAgICAgICAgICAgZXJwTG9va3Vwc1NlYXJjaEZpZWxkOiBmb3JtRmllbGQgYXMgRXJwTG9va3Vwc0Zvcm1GaWVsZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlckRhdGE6IGZpbHRlckRhdGEgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtuYW1lfSBlcSAke3ZhbHVlfWA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0eXBlID09PSAnZGF0ZScpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke25hbWV9IGVxICcke21vbWVudCh2YWx1ZSBhcyBzdHJpbmcpLmZvcm1hdCgnWVlZWS1NTS1ERCcpfSdgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ3RpbWUnKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtuYW1lfSBlcSAnJHttb21lbnQodmFsdWUgYXMgc3RyaW5nKS5mb3JtYXQoJ0hIOm1tOnNzJyl9J2A7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0eXBlID09PSAnZGF0ZVRpbWUnKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtuYW1lfSBlcSAnJHttb21lbnQodmFsdWUgYXMgc3RyaW5nKS5mb3JtYXQoKX0nYDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdlbnVtJykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5tb3VudEVudW1GaWx0ZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgYXMgc3RyaW5nIHwgc3RyaW5nW10sXG4gICAgICAgICAgICAgICAgICAgICAgICBtdWx0aXBsZVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAoY29udGFpbmluZyhsb3dlcigke25hbWV9KSwgbG93ZXIoJyR7dmFsdWV9JykpKWA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0eXBlID09PSAnbG9va3VwJykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCgke25hbWV9IGVxICckeyh2YWx1ZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPilbJ2lkJ119JylgO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBgJHtuYW1lfSBlcSAnJHt2YWx1ZX0nYDtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuam9pbignIGFuZCAnKTtcbiAgICAgICAgaWYgKG9wdGlvbnMuZW50aXR5RGVwZW5kZW5jeSkge1xuICAgICAgICAgICAgY29uc3QgZW50aXR5RmlsdGVyID0gb3B0aW9ucy5lbnRpdHlEZXBlbmRlbmN5XG4gICAgICAgICAgICAgICAgLm1hcCgoZW50aXR5OiBFbnRpdHlEZXBlbmRlbmN5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gZW50aXR5LnZhbHVlKCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5oYXNWYWx1ZSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgKCR7dmFsdWUubWFwKCh2YWw6IGFueSkgPT4gdGhpcy5tb3VudEVudGl0eUZpbHRlcihlbnRpdHksIHZhbCkpLmpvaW4oJyBvciAnKX0pYDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCgke3RoaXMubW91bnRFbnRpdHlGaWx0ZXIoZW50aXR5LCB2YWx1ZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPil9KWA7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAuZmlsdGVyKChmaWx0ZXIpID0+ICEhZmlsdGVyKVxuICAgICAgICAgICAgICAgIC5qb2luKCcgYW5kICcpO1xuICAgICAgICAgICAgaWYgKGVudGl0eUZpbHRlcikge1xuICAgICAgICAgICAgICAgIGZpbHRlclF1ZXJ5XG4gICAgICAgICAgICAgICAgICAgID8gKGZpbHRlclF1ZXJ5ICs9IGAgYW5kICgke2VudGl0eUZpbHRlcn0pYClcbiAgICAgICAgICAgICAgICAgICAgOiAoZmlsdGVyUXVlcnkgPSBlbnRpdHlGaWx0ZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRlZmF1bHRGaWx0ZXJRdWVyeSA9IHRoaXMubW91bnREZWZhdWx0RmlsdGVyKFxuICAgICAgICAgICAgb3B0aW9ucy5kZWZhdWx0RmlsdGVyXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKGRlZmF1bHRGaWx0ZXJRdWVyeSkge1xuICAgICAgICAgICAgZmlsdGVyUXVlcnlcbiAgICAgICAgICAgICAgICA/IChmaWx0ZXJRdWVyeSArPSBgIGFuZCAoJHtkZWZhdWx0RmlsdGVyUXVlcnl9KWApXG4gICAgICAgICAgICAgICAgOiAoZmlsdGVyUXVlcnkgPSBgKCR7ZGVmYXVsdEZpbHRlclF1ZXJ5fSlgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGR5bmFtaWNGaWx0ZXJRdWVyeSA9IHRoaXMubW91bnREeW5hbWljRmlsdGVyKFxuICAgICAgICAgICAgb3B0aW9ucy5keW5hbWljRmlsdGVyXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKGR5bmFtaWNGaWx0ZXJRdWVyeSkge1xuICAgICAgICAgICAgZmlsdGVyUXVlcnlcbiAgICAgICAgICAgICAgICA/IChmaWx0ZXJRdWVyeSArPSBgIGFuZCAoJHtkeW5hbWljRmlsdGVyUXVlcnl9KWApXG4gICAgICAgICAgICAgICAgOiAoZmlsdGVyUXVlcnkgPSBgKCR7ZHluYW1pY0ZpbHRlclF1ZXJ5fSlgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBkaXNwbGF5RmllbGRzID0gbG9va3VwRGlzcGxheUZpZWxkcy5jb25jYXQoXG4gICAgICAgICAgICAob3B0aW9ucy5zZWFyY2hHcmlkRmllbGRzID8/IHRoaXMuc2VhcmNoR3JpZEZpZWxkcylcbiAgICAgICAgICAgICAgICAuY29uY2F0KG9wdGlvbnMuc2VhcmNoR3JpZEZpZWxkcyA/PyBbXSlcbiAgICAgICAgICAgICAgICAubWFwKCh7IG5hbWUgfSkgPT4gbmFtZSkgPz8gW11cbiAgICAgICAgKTtcblxuICAgICAgICBpZiAob3B0aW9ucy5xdWVyeUZpZWxkcykge1xuICAgICAgICAgICAgZGlzcGxheUZpZWxkcyA9IGRpc3BsYXlGaWVsZHMuY29uY2F0KG9wdGlvbnMucXVlcnlGaWVsZHMpO1xuICAgICAgICB9XG5cbiAgICAgICAgZGlzcGxheUZpZWxkcyA9IGRpc3BsYXlGaWVsZHMuZmlsdGVyKFxuICAgICAgICAgICAgKHYsIGkpID0+IGRpc3BsYXlGaWVsZHMuaW5kZXhPZih2KSA9PT0gaVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMubG9va3VwU2VydmljZVxuICAgICAgICAgICAgLmxpc3QoXG4gICAgICAgICAgICAgICAgeyBwYWdlLCBzb3J0LCBmaWx0ZXJRdWVyeSwgZGlzcGxheUZpZWxkcyB9LFxuICAgICAgICAgICAgICAgIG9wdGlvbnMuZW50aXR5ID8/IHRoaXMuZW50aXR5LFxuICAgICAgICAgICAgICAgIG9wdGlvbnMuZG9tYWluID8/IHRoaXMuZG9tYWluLFxuICAgICAgICAgICAgICAgIG9wdGlvbnMuc2VydmljZSA/PyB0aGlzLnNlcnZpY2VcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChsaXN0OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQ3JpYXIgdW0gbWFwYSBkZSBjYW1wb3MgY29tIG1heExlbmd0aCBkZWZpbmlkb1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWVsZHNXaXRoTWF4TGVuZ3RoID0gbmV3IE1hcDxzdHJpbmcsIG51bWJlcj4oKTtcblxuICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAuLi4ob3B0aW9ucy5zZWFyY2hGaWVsZHMgPz8gdGhpcy5zZWFyY2hGaWVsZHMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgLi4uKG9wdGlvbnMuc2VhcmNoR3JpZEZpZWxkcyA/PyB0aGlzLnNlYXJjaEdyaWRGaWVsZHMpLFxuICAgICAgICAgICAgICAgICAgICBdLmZvckVhY2goKGZpZWxkKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXhMZW5ndGggPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXhMZW5ndGgnIGluIGZpZWxkID8gZmllbGQubWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heExlbmd0aCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmaWVsZC50eXBlID09PSAnc3RyaW5nJyB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZC50eXBlID09PSAndGV4dEFyZWEnKVxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRzV2l0aE1heExlbmd0aC5zZXQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heExlbmd0aCBhcyBudW1iZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZERhdGE6IGxpc3QuY29udGVudHMubWFwKChpdGVtOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwcm9jZXNzZWRJdGVtID0gSlNPTi5wYXJzZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkoaXRlbSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQXBsaWNhciBtYXhMZW5ndGggbm9zIGNhbXBvcyBxdWUgcG9zc3VlbSBhIGNvbmZpZ3VyYcOnw6NvXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRzV2l0aE1heExlbmd0aC5mb3JFYWNoKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWF4TGVuZ3RoLCBmaWVsZE5hbWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkVmFsdWUgPSB0aGlzLmdldE5lc3RlZFZhbHVlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3NlZEl0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGROYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkVmFsdWUgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgZmllbGRWYWx1ZSA9PT0gJ3N0cmluZycgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZFZhbHVlLmxlbmd0aCA+IG1heExlbmd0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXROZXN0ZWRWYWx1ZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc2VkSXRlbSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGROYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZFZhbHVlLnN1YnN0cmluZygwLCBtYXhMZW5ndGgpICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcuLi4nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5wcm9jZXNzZWRJdGVtLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy5nZXRJdGVtTGFiZWwoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzZWRJdGVtLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlZml4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9va3VwRGlzcGxheUZpZWxkc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvdGFsUmVjb3JkczogbGlzdC50b3RhbEVsZW1lbnRzLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb29rdXBTZWFyY2hPYnNlcnZhYmxlLm5leHQoZGF0YSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0SXRlbUxhYmVsKFxuICAgICAgICBpdGVtOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICAgICAgcHJlZml4OiBzdHJpbmcsXG4gICAgICAgIGxvb2t1cERpc3BsYXlGaWVsZHM6IHN0cmluZ1tdXG4gICAgKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGxvb2t1cERpc3BsYXlGaWVsZHNcbiAgICAgICAgICAgIC5tYXAoKGZpZWxkOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZmllbGQuaW5kZXhPZignLicpID4gMCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRQcm9wKGl0ZW0sIGZpZWxkLCBwcmVmaXgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICBpdGVtW2ZpZWxkXSA/P1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGAke3ByZWZpeH0uZW1wdHlfbGFiZWxgKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmpvaW4oJyAtICcpO1xuICAgIH1cblxuICAgIHByaXZhdGUgbW91bnRDdXN0b21GaWx0ZXIoe1xuICAgICAgICBlcnBMb29rdXBzU2VhcmNoRmllbGQsXG4gICAgICAgIGZpbHRlckRhdGEsXG4gICAgfToge1xuICAgICAgICBlcnBMb29rdXBzU2VhcmNoRmllbGQ6IEVycExvb2t1cHNGb3JtRmllbGQ7XG4gICAgICAgIGZpbHRlckRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAgIH0pOiBzdHJpbmcge1xuICAgICAgICBjb25zdCB7IGVycExvb2t1cHNGb3JtRmllbGQsIG5hbWUgfSA9IGVycExvb2t1cHNTZWFyY2hGaWVsZDtcblxuICAgICAgICByZXR1cm4gYCgkeyhlcnBMb29rdXBzRm9ybUZpZWxkPy5jdXN0b21GaWx0ZXJzID8/IFtdKVxuICAgICAgICAgICAgLm1hcCgoeyBvcGVyYXRvciwgdmFsdWUgfSkgPT4ge1xuICAgICAgICAgICAgICAgIHZhbHVlID1cbiAgICAgICAgICAgICAgICAgICAgdHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHZhbHVlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBmaWx0ZXJEYXRhW25hbWVdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyRGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIDogdmFsdWU7XG5cbiAgICAgICAgICAgICAgICBpZiAob3BlcmF0b3IgPT09IEVudW1Mb2dpY2FsT3BlcmF0b3IuQ29udGFpbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAoY29udGFpbmluZyhsb3dlcigke25hbWV9KSwgbG93ZXIoJyR7dmFsdWV9JykpKWA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAob3BlcmF0b3IgPT09IEVudW1Mb2dpY2FsT3BlcmF0b3IuSXNOb3QgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yID09PSBFbnVtTG9naWNhbE9wZXJhdG9yLklzKSAmJlxuICAgICAgICAgICAgICAgICAgICAhdmFsdWVcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAoJHtuYW1lfSAke29wZXJhdG9yfSBudWxsKWA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGAoJHtuYW1lfSAke29wZXJhdG9yfSAnJHt2YWx1ZX0nKWA7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmpvaW4oJyBhbmQgJyl9KWA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXROZXN0ZWRWYWx1ZShcbiAgICAgICAgb2JqOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICAgICAgcGF0aDogc3RyaW5nXG4gICAgKTogdW5rbm93biB7XG4gICAgICAgIHJldHVybiBwYXRoLnNwbGl0KCcuJykucmVkdWNlKChjdXJyZW50OiB1bmtub3duLCBrZXk6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgaWYgKGN1cnJlbnQgJiYgdHlwZW9mIGN1cnJlbnQgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY3VycmVudE9iaiA9IGN1cnJlbnQgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRPYmpba2V5XSAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgID8gY3VycmVudE9ialtrZXldXG4gICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfSwgb2JqIGFzIHVua25vd24pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0TmVzdGVkVmFsdWUoXG4gICAgICAgIG9iajogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gICAgICAgIHBhdGg6IHN0cmluZyxcbiAgICAgICAgdmFsdWU6IHVua25vd25cbiAgICApOiB2b2lkIHtcbiAgICAgICAgY29uc3Qga2V5cyA9IHBhdGguc3BsaXQoJy4nKTtcbiAgICAgICAgY29uc3QgbGFzdEtleSA9IGtleXMucG9wKCk7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGtleXMucmVkdWNlKChjdXJyZW50OiB1bmtub3duLCBrZXk6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgaWYgKGN1cnJlbnQgJiYgdHlwZW9mIGN1cnJlbnQgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY3VycmVudE9iaiA9IGN1cnJlbnQgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRPYmpba2V5XSAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgID8gY3VycmVudE9ialtrZXldXG4gICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfSwgb2JqIGFzIHVua25vd24pO1xuICAgICAgICBpZiAodGFyZ2V0ICYmIHR5cGVvZiB0YXJnZXQgPT09ICdvYmplY3QnICYmIGxhc3RLZXkpIHtcbiAgICAgICAgICAgICh0YXJnZXQgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW2xhc3RLZXldID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|